Backport from GCC mainline.
[platform/upstream/linaro-gcc.git] / gcc / ChangeLog
1 2017-02-03  Carl Love  <cel@us.ibm.com>
2
3         Backport of two commits from mainline, r244943 and r244904,
4         dated 017-01-26 and 2017-01-25 respectively
5
6         * config/rs6000/rs6000-c (altivec_overloaded_builtins): Fix order
7         of entries for ALTIVEC_BUILTIN_VEC_PACKS.  Remove bogus entries
8         for P8V_BUILTIN_VEC_VGBBD.
9
10 2017-02-03  Walter Lee  <walt@tilera.com>
11
12         Backport from mainline
13         2017-02-03  Walter Lee  <walt@tilera.com>
14
15         PR target/78862
16         * config/tilegx/tilegx.md (tilegx_expand_prologue): Add blockage
17         after initial stackframe link reg save.
18         * config/tilepro/tilepro.md (tilepro_expand_prologue): Likewise.
19
20 2017-02-03  Maxim Ostapenko  <m.ostapenko@samsung.com>
21
22         PR lto/79061
23         * asan.c (asan_add_global): Force has_dynamic_init to zero in LTO mode.
24
25 2017-01-31  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
26
27         Backport from mainline
28         2017-01-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
29
30         PR target/79268
31         * config/rs6000/altivec.h (vec_xl): Revise #define.
32         (vec_xst): Likewise.
33
34 2017-01-26  Eric Botcazou  <ebotcazou@adacore.com>
35
36         Backport from mainline
37         2017-01-10  Eric Botcazou  <ebotcazou@adacore.com>
38
39         * expr.c (store_field): In the bitfield case, fetch the return value
40         from the registers before applying a single big-endian adjustment.
41         Always do a final load for a BLKmode value not larger than a word.
42
43         2017-01-09  Eric Botcazou  <ebotcazou@adacore.com>
44
45         * expr.c (store_field): In the bitfield case, if the value comes from
46         a function call and is of an aggregate type returned in registers, do
47         not modify the field mode; extract the value in all cases if the mode
48         is BLKmode and the size is not larger than a word.
49
50 2017-01-26  Richard Biener  <rguenther@suse.de>
51
52         * tree-vrp.c (vrp_visit_assignment_or_call): Use set_defs_to_varying.
53
54         Backport from mainline
55         2016-01-10  Richard Biener  <rguenther@suse.de>
56
57         PR tree-optimization/79034
58         * tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds):
59         Propagate out degenerate PHIs in the joiner.
60
61         2016-12-13  Richard Biener  <rguenther@suse.de>
62
63         PR middle-end/78742
64         * tree.c (cst_and_fits_in_hwi): Look if the actual value fits.
65         * tree-object-size.c (compute_builtin_object_size): Use
66         tree_fits_shwi_p.
67         * tree-data-ref.c (initialize_matrix_A): Remove excess assert.
68
69 2017-01-26  Richard Biener  <rguenther@suse.de>
70
71         Backport from mainline
72         2016-09-03  Kirill Yukhin  <kirill.yukhin@intel.com>
73
74         * ubsan.c (ubsan_use_new_style_p): Fix check for empty string.
75
76 2017-01-24  Eric Botcazou  <ebotcazou@adacore.com>
77
78         PR target/77439
79         * config/arm/arm.c (arm_function_ok_for_sibcall): Add back restriction
80         for long calls with APCS frame and VFP.
81
82 2017-01-24  Uros Bizjak  <ubizjak@gmail.com>
83
84         PR target/78478
85         Revert:
86         2013-11-05  Uros Bizjak  <ubizjak@gmail.com>
87
88         * config/i386/rtemself.h (LONG_DOUBLE_TYPE_SIZE): New define.
89
90 2017-01-23  Martin Liska  <mliska@suse.cz>
91
92         Backport from mainline
93         2017-01-20  Martin Liska  <mliska@suse.cz>
94
95         PR lto/69188
96         * tree-profile.c (init_ic_make_global_vars): Do not call
97         finalize_decl.
98         (gimple_init_gcov_profiler): Likewise.
99
100 2017-01-21  Gerald Pfeifer  <gerald@pfeifer.com>
101
102         Backport from mainline
103         2016-12-29  Gerald Pfeifer  <gerald@pfeifer.com>
104
105         * doc/extend.texi (Cilk Plus Builtins): cilkplus.org now uses
106         https by default.
107         * doc/passes.texi (Cilk Plus Transformation): Ditto.
108         * doc/generic.texi (Statements for C++): Ditto, and use @uref.
109
110 2017-01-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
111
112         Backport from mainline
113         2017-01-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
114
115         * config/rs6000/rs6000.c (rtx_is_swappable_p): Change
116         UNSPEC_VSX__XXSPLTD to require special splat handling.
117
118 2017-01-20  Wilco Dijkstra  <wdijkstr@arm.com>
119
120         Backport from mainline
121         PR target/77455
122         * config/aarch64/aarch64.md (eh_return): Remove pattern and splitter.
123         * config/aarch64/aarch64.h (AARCH64_EH_STACKADJ_REGNUM): Remove.
124         (EH_RETURN_HANDLER_RTX): New define.
125         * config/aarch64/aarch64.c (aarch64_frame_pointer_required):
126         Force frame pointer in EH return functions.
127         (aarch64_expand_epilogue): Add barrier for eh_return.
128         (aarch64_final_eh_return_addr): Remove.
129         (aarch64_eh_return_handler_rtx): New function.
130         * config/aarch64/aarch64-protos.h (aarch64_final_eh_return_addr):
131         Remove.
132         (aarch64_eh_return_handler_rtx): New prototype.
133
134 2017-01-20  Richard Earnshaw  <rearnsha@arm.com>
135
136         Backported from mainline
137         2017-01-19  Richard Earnshaw  <rearnsha@arm.com>
138
139         PR rtl-optimization/79121
140         * expr.c (expand_expr_real_2, case LSHIFT_EXPR): Look at the signedness
141         of the inner type when shifting an extended value.
142
143 2017-01-20  Martin Liska  <mliska@suse.cz>
144
145         Backport from mainline
146         2017-01-13  Martin Liska  <mliska@suse.cz>
147
148         PR ipa/79043
149         * function.c (set_cfun): Add new argument force.
150         * function.h (set_cfun): Likewise.
151         * ipa-inline-transform.c (inline_call): Use the function when
152         strict alising from is dropped for function we inline to.
153
154 2017-01-20  Martin Liska  <mliska@suse.cz>
155
156         Backport from mainline
157         2017-01-17  Martin Liska  <mliska@suse.cz>
158
159         PR ipa/71207
160         * ipa-polymorphic-call.c (contains_type_p): Fix wrong
161         assumption and add comment.
162
163 2017-01-19  Richard Biener  <rguenther@suse.de>
164
165         PR tree-optimization/72488
166         * tree-ssa-sccvn.c (run_scc_vn): When we abort the VN make
167         sure to restore SSA info.
168
169 2017-01-17  Jakub Jelinek  <jakub@redhat.com>
170
171         PR debug/78839
172         * dwarf2out.c (field_byte_offset): Restore the
173         PCC_BITFIELD_TYPE_MATTERS behavior for INTEGER_CST DECL_FIELD_OFFSET
174         and DECL_FIELD_BIT_OFFSET.  Use fold_build2 instead of build2 + fold.
175         (analyze_variants_discr, gen_variant_part): Use fold_build2 instead
176         of build2 + fold.
177
178 2017-01-17  Thomas Preud'homme  <thomas.preudhomme@arm.com>
179
180         Backport from mainline
181         2016-12-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>
182
183         PR rtl-optimization/78617
184         * lra-remat.c (do_remat): Initialize live_hard_regs from live in
185         registers, also setting hard registers mapped to pseudo registers.
186
187 2017-01-13  Christophe Lyon  <christophe.lyon@linaro.org>
188
189         Backport from mainline r244320.
190         2017-01-11  Christophe Lyon  <christophe.lyon@linaro.org>
191
192         PR target/78253
193         * config/arm/arm.c (legitimize_pic_address): Handle reference to
194         weak symbol.
195         (arm_assemble_integer): Likewise.
196
197 2017-01-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
198
199         Backport from mainline
200         2017-01-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
201
202         PR target/79044
203         * config/rs6000/rs6000.c (insn_is_swappable_p): Mark
204         element-reversing loads and stores as not swappable.
205
206 2017-01-11  Uros Bizjak  <ubizjak@gmail.com>
207
208         * config/i386/i386.c (memory_address_length): Increase len
209         only when rip_relative_addr_p returns false.
210
211 2017-01-11  Maxim Ostapenko  <m.ostapenko@samsung.com>
212
213         Backport from mainline
214         2017-01-11  Maxim Ostapenko  <m.ostapenko@samsung.com>
215
216         PR lto/79042
217         * lto-cgraph.c (lto_output_varpool_node): Pack dynamically_initialized
218         bit.
219         (input_varpool_node): Unpack dynamically_initialized bit.
220         * lto-streamer.h (LTO_minor_version): Bump version.
221
222 2017-01-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
223
224         Backport from mainline
225         2016-12-30  Michael Meissner  <meissner@linux.vnet.ibm.com>
226
227         PR target/78900
228         * config/rs6000/rs6000.c (rs6000_split_signbit): Change some
229         assertions.  Add support for doing the signbit if the IEEE 128-bit
230         floating point value is in a GPR.
231         * config/rs6000/rs6000.md (Fsignbit): Delete.
232         (signbit<mode>2_dm): Delete using <Fsignbit> and just use "wa".
233         Update the length attribute if the value is in a GPR.
234         (signbit<mode>2_dm_<su>ext): Add combiner pattern to eliminate
235         the sign or zero extension instruction, since the value is always
236         0/1.
237         (signbit<mode>2_dm2): Delete using <Fsignbit>.
238
239 2017-01-10  Martin Liska  <mliska@suse.cz>
240
241         Backport from mainline
242         2017-01-09  Martin Liska  <mliska@suse.cz>
243
244         PR pch/78970
245         * gcc.c (driver_handle_option): Handle OPT_E and set
246         have_E.
247         (lookup_compiler): Do not show error message with have_E.
248
249 2017-01-10  Martin Liska  <mliska@suse.cz>
250
251         Backport from mainline
252         2017-01-05  Martin Liska  <mliska@suse.cz>
253
254         PR pch/78970
255         * gcc.c (lookup_compiler): Reject '-' filename for a precompiled
256         header.
257
258 2017-01-10  Thomas Schwinge  <thomas@codesourcery.com>
259
260         PR tree-optimization/78024
261         * omp-low.c (oacc_loop_discovery): Call clear_bb_flags.
262
263         Backport trunk r239086:
264         2016-08-03  Nathan Sidwell  <nathan@codesourcery.com>
265
266         * config/nvptx/nvptx.c (nvptx_declare_function_name): Round frame
267         size to DImode boundary.
268         (nvptx_propagate): Likewise.
269
270 2017-01-10  Chung-Ju Wu  <jasonwucj@gmail.com>
271
272         Backport from mainline
273         2016-04-28  Segher Boessenkool  <segher@kernel.crashing.org>
274
275         PR target/70668
276         * config/nds32/nds32.md (casesi): Don't access the operands array
277         out of bounds.
278
279 2017-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
280
281         Backport from mainline
282         2016-10-10  Andreas Tobler  <andreast@gcc.gnu.org>
283
284         * config.gcc: Add aarch64-*-freebsd* support.
285         * config.host: Likewise.
286         * config/aarch64/aarch64-freebsd.h: New file.
287         * config/aarch64/t-aarch64-freebsd: Ditto.
288
289 2017-01-09  Bill Seurer  <seurer@linux.vnet.ibm.com>
290
291         Backport from mainline
292         2016-12-21  Bill Seurer  <seurer@linux.vnet.ibm.com>
293
294         PR sanitizer/65479
295         * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
296         -fasynchronous-unwind-tables option when -fsanitize=address is
297         specified.
298
299 2017-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
300
301         Backport from mainline
302         2016-09-19  Richard Biener  <rguenther@suse.de>
303
304         * dwarf2out.c (dwarf2out_late_global_decl): When being during the
305         early debug phase do not add locations but only const value
306         attributes.
307
308         Backport from mainline
309         2016-10-20  Richard Biener  <rguenther@suse.de>
310
311         * cgraphunit.c (analyze_functions): Set node->definition to
312         false to signal symbol removal to debug_hooks->late_global_decl.
313
314 2017-01-09  Andre Vieira <andre.simoesdiasvieira@arm.com>
315
316         Backport from mainline
317         2016-12-09  Andre Vieira <andre.simoesdiasvieira@arm.com>
318
319         PR rtl-optimization/78255
320         * gcc/postreload.c (reload_cse_simplify): Do not CSE a function if
321         NO_FUNCTION_CSE is true.
322
323 2017-01-06  Wilco Dijkstra  <wdijkstr@arm.com>
324
325         Backport from mainline
326         2016-10-25  Wilco Dijkstra  <wdijkstr@arm.com>
327
328         PR target/78041
329         * config/arm/neon.md (ashldi3_neon): Add "r 0 i" and "&r r i" variants.
330         Remove partial overlap check for shift by 1.
331         (ashldi3_neon): Likewise.
332
333 2017-01-05  Kelvin Nilsen  <kelvin@gcc.gnu.org>
334
335         Backport from mainline
336         2016-07-22  Kelvin Nilsen  <kelvin@gcc.gnu.org>
337
338         * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
339         comments to explain why certain error messages make mention of
340         undocumented options.
341         (rs6000_invalid_builtin): Change error messages to replace mention
342         of undocumented options with mention of the -mcpu=power9 option
343         that enables those undocumented options.
344         * config/rs6000/rs6000.h: Add macro definition of MASK_FLOAT128
345         and change the macro definition of RS6000_BTM_FLOAT128 to correct
346         an error that was discovered during the development of this patch.
347         * config/rs6000/rs6000.opt: Add the Undocumented qualifier to the
348         mpower9-fusion, mpower9-vector, mpower9-dform, and mmodulo entries.
349         * doc/extend.texi (PowerPC AltiVec Built-in Functions): Modify
350         descriptions of built-in functions so that they depend on
351         -mcpu=power9 instead of on the corresponding undocumented flags.
352         * doc/invoke.texi (Option Summary):  Remove all mention of newly
353         undocumented flags.
354         (IBM RS/6000 and PowerPC Options): Likewise.
355         * doc/md.texi (Constraints for Particuliar Machines): Remove all
356         mention of newly undocumented flags.
357
358 2017-01-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
359
360         Backport from mainline
361         2016-12-22  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
362
363         * varasm.c (build_constant_desc): Use the alignment of the var
364         decl instead of the original expression.
365
366 2017-01-04  Richard Biener  <rguenther@suse.de>
367
368         Backport from mainline
369         2016-05-11  Richard Biener  <rguenther@suse.de>
370
371         PR tree-optimization/71055
372         * tree-ssa-sccvn.c (vn_reference_lookup_3): When native-interpreting
373         sth with precision not equal to access size verify we don't chop
374         off bits.
375
376 2017-01-03  Martin Liska  <mliska@suse.cz>
377
378         Backport from mainline
379         2016-12-21  Jakub Jelinek  <jakub@redhat.com>
380                     Martin Liska  <mliska@suse.cz>
381
382         PR driver/78863
383         * gcc.c (driver::build_option_suggestions): Do not add
384         -fsanitize=all as a suggestion candidate.
385
386 2017-01-03  Martin Liska  <mliska@suse.cz>
387
388         Backport from mainline
389         2016-12-22  Martin Liska  <mliska@suse.cz>
390
391         PR tree-optimization/78886
392         * tree-ssa-strlen.c (handle_builtin_malloc): Return when LHS
393         is equal to NULL.
394
395 2017-01-03  Martin Liska  <mliska@suse.cz>
396
397         Backport from mainline
398         2016-12-13  Martin Liska  <mliska@suse.cz>
399
400         PR tree-optimization/78428
401         * expr.c (store_constructor_field): Add new arguments to the
402         function.
403         (store_constructor): Set up bitregion_end and add
404         gcc_unreachable to fields that have either non-constant size
405         or (and) offset.
406
407 2016-12-27  Jakub Jelinek  <jakub@redhat.com>
408
409         PR translation/78922
410         * config/i386/stringop.opt: Remove.
411
412 2016-12-21  Jakub Jelinek  <jakub@redhat.com>
413
414         Backported from mainline
415         2016-12-13  Jakub Jelinek  <jakub@redhat.com>
416
417         PR ipa/77905
418         * ipa-pure-const.c (cdtor_p): Return true for
419         DECL_STATIC_{CON,DE}STRUCTOR even when it is
420         DECL_LOOPING_CONST_OR_PURE_P.
421
422 2016-12-21  Jakub Jelinek  <jakub@redhat.com>
423
424         * BASE-VER: Set to 6.3.1.
425
426 2016-12-21  Release Manager
427
428         * GCC 6.3.0 released.
429
430 2016-12-14  Uros Bizjak  <ubizjak@gmail.com>
431
432         PR target/59874
433         * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_CLZS
434         and IX86_BUILTIN_CTZS.
435         (bdesc_args): Add __builtin_clzs and __builtin_ctzs.
436         (ix86_fold_builtin): Handle IX86_BUILTIN_CTZS and IX86_BUILTIN_CLZS.
437
438 2016-12-14  Wilco Dijkstra  <wdijkstr@arm.com>
439             Jakub Jelinek  <jakub@redhat.com>
440
441         PR target/78796
442         * config/aarch64/aarch64.c (aarch64_classify_symbol): Merge large
443         model checks into switch.
444
445 2016-12-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
446
447         Backport from mainline
448         2016-11-25  Thomas Preud'homme  <thomas.preudhomme@arm.com>
449
450         * tree-ssa-math-opts.c (struct symbolic_number): Improve comment.
451
452 2016-12-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
453
454         Backport from mainline
455         2016-11-25  Thomas Preud'homme  <thomas.preudhomme@arm.com>
456
457         PR tree-optimization/77673
458         * tree-ssa-math-opts.c (struct symbolic_number): Add new src field.
459         (init_symbolic_number): Initialize src field from src parameter.
460         (perform_symbolic_merge): Select most dominated statement as the
461         source statement.  Set src field of resulting n structure from the
462         input src with the lowest address.
463         (find_bswap_or_nop): Rename source_stmt into ins_stmt.
464         (bswap_replace): Rename src_stmt into ins_stmt.  Initially get source
465         of load from src field rather than insertion statement.  Cancel
466         optimization if statement analyzed is not dominated by the insertion
467         statement.
468         (pass_optimize_bswap::execute): Rename src_stmt to ins_stmt.  Compute
469         dominance information.
470
471 2016-12-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
472
473         Backport from mainline
474         2016-12-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
475
476         PR target/72717
477         * config/rs6000/rs6000.c (rs6000_expand_vector_init): If the
478         V2DImode elements are SUBREG's convert the result into DImode
479         rather than failing in emit_move_insn.
480
481 2016-12-13  Iain Sandoe  <iain@codesourcery.com>
482
483         Backport from mainline
484         2016-12-11  Iain Sandoe  <iain@codesourcery.com>
485
486         PR rtl-optimization/71496
487         * config/rs6000/darwin.md (load_macho_picbase_si): Mark as non-
488         copyable.  (load_macho_picbase_di, reload_macho_picbase_si,
489         reload_macho_picbase_di): Likewise.
490
491 2016-12-12  Bernd Schmidt  <bschmidt@redhat.com>
492
493         Backport from mainline
494         2016-11-07  Bernd Schmidt  <bschmidt@redhat.com>
495
496         PR rtl-optimization/77309
497         * combine.c (make_compound_operation): Allow EQ for IN_CODE, and
498         don't assume an equality comparison for plain COMPARE.
499         (simplify_comparison): Pass a more accurate code to
500         make_compound_operation.
501
502 2016-12-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
503
504         Backport from mainline
505         2016-11-22  Thomas Preud'homme  <thomas.preudhomme@arm.com>
506
507         PR target/77904
508         * config/arm/arm.c (thumb1_compute_save_reg_mask): Mark frame pointer
509         in save register mask if it is needed.
510
511 2016-12-11  Iain Sandoe  <iain@codesourcery.com>
512
513         Backport from mainline
514         2016-11-27  Iain Sandoe  <iain@codesourcery.com>
515                     Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
516
517         PR target/67710
518         * config.in: Regenerate
519         * config/darwin-driver.c (darwin_driver_init): Emit a version string
520         for the assembler.
521         * config/darwin.h(ASM_MMACOSX_VERSION_MIN_SPEC): New, new tests.
522         * config/darwin.opt(asm_macosx_version_min): New.
523         * config/i386/darwin.h: Handle ASM_MMACOSX_VERSION_MIN_SPEC.
524         * configure: Regenerate
525         * configure.ac: Check for mmacosx-version-min handling.
526
527 2016-12-11  Iain Sandoe  <iain@codesourcery.com>
528
529         Backport from mainline
530         2016-11-27  Iain Sandoe  <iain@codesourcery.com>
531
532         PR target/57438
533         * config/i386/i386.c (ix86_code_end): Note that we emitted code
534         where the function might otherwise appear empty for picbase thunks.
535         (ix86_output_function_epilogue): If we find a zero-sized function
536         assume that reaching it is UB and trap.  If we find a trailing label
537         append a nop.
538         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): If we
539         find a zero-sized function assume that reaching it is UB and trap.
540         If we find a trailing label, append a nop.
541
542 2016-12-11 Iain Sandoe  <iain@codesourcery.com>
543
544         Backport from mainline
545         2016-11-27  Iain Sandoe  <iain@codesourcery.com>
546
547         PR target/71767
548         * config/darwin-sections.def (picbase_thunk_section): New.
549         * config/darwin.c (darwin_init_sections): Set up picbase thunk
550         section. (darwin_rodata_section, darwin_objc2_section,
551         machopic_select_section, darwin_asm_declare_constant_name,
552         darwin_emit_weak_or_comdat, darwin_function_section): Don’t use
553         coalesced with newer linkers.
554         (darwin_override_options): Decide on usage of coalesed sections
555         on the basis of the target linker version.
556         * config/darwin.h (MIN_LD64_NO_COAL_SECTS): New.
557         * config/darwin.opt  (mtarget-linker): New.
558         * config/i386/i386.c (ix86_code_end): Do not force the thunks into
559         a coalesced section, instead use a thunks section.
560
561         Backport from mainline
562         2016-11-28  Iain Sandoe  <iain@codesourcery.com>
563
564         PR target/71767
565         * configure.ac (with_ld64): Use portable method to extract the
566         major part of the version number.
567         * configure: Regenerated.
568
569         Backport from mainline
570         2016-11-27  Iain Sandoe  <iain@codesourcery.com>
571
572         PR target/71767
573         * configure.ac (with-ld64): New var, set for Darwin, set on
574         detection of ld64, gcc_cv_ld64_export_dynamic: New, New test.
575         * config/darwin.h: Use LD64_HAS_DYNAMIC export. DEF_LD64: New,
576         define.
577         * config/darwin10.h(DEF_LD64): Update for this target version.
578         * config/darwin12.h(LINK_GCC_C_SEQUENCE_SPEC): Remove rdynamic
579         test.  (DEF_LD64): Update for this target version.
580         * configure: Regenerated.
581         * config.in: Regenerated.
582
583         Backport from mainline
584         2016-11-27  Iain Sandoe  <iain@codesourcery.com>
585
586         PR target/71767
587         * config/darwin.c (imachopic_indirection_name): Make data
588         section indirections linker-visible.
589         * config/darwin.h (ASM_GENERATE_INTERNAL_LABEL): Make local
590         constant labels linker-visible.
591
592 2016-12-09  Thomas Preud'homme  <thomas.preudhomme@arm.com>
593
594         Backport from mainline
595         2016-11-17  Thomas Preud'homme  <thomas.preudhomme@arm.com>
596
597         PR target/77933
598         * config/arm/arm.c (thumb1_expand_prologue): Distinguish between lr
599         being live in the function and lr needing to be saved.  Distinguish
600         between already saved pushable registers and registers to push.
601         Check for LR being an available pushable register.
602
603 2016-12-09  Nathan Sidwell  <nathan@acm.org>
604
605         PR C++/78550
606         * convert.c (convert_to_integer_1): Maybe fold conversions to
607         integral types with fewer bits than its mode.
608
609 2016-12-09  Richard Biener  <rguenther@suse.de>
610
611         Backport from mainline
612         2016-11-09  Richard Biener  <rguenther@suse.de>
613
614         * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
615         Look at the DR_BASE_ADDRESS object for forcing alignment.
616
617         2016-11-07  Richard Biener  <rguenther@suse.de>
618
619         PR tree-optimization/78189
620         * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Fix
621         alignment computation.
622
623 2016-12-09  Richard Biener  <rguenther@suse.de>
624
625         Backport from mainline
626         2016-11-28  Richard Biener  <rguenther@suse.de>
627
628         PR tree-optimization/78542
629         * tree-ssa-ccp.c (evaluate_stmt): Only valueize simplification
630         if allowed.
631
632         2016-11-23  Richard Biener  <rguenther@suse.de>
633
634         PR tree-optimization/78482
635         * tree-cfgcleanup.c: Include tree-ssa-loop-niter.h.
636         (remove_forwarder_block_with_phi): When merging with a loop
637         header creates a new latch reset number of iteration information
638         of the loop.
639
640         2016-11-23  Richard Biener  <rguenther@suse.de>
641
642         PR middle-end/71762
643         * match.pd ((~X & Y) -> X < Y, (X & ~Y) -> Y < X,
644         (~X | Y) -> X <= Y, (X | ~Y) -> Y <= X): Remove.
645
646         2016-11-11  Richard Biener  <rguenther@suse.de>
647
648         PR tree-optimization/71575
649         * graphite-isl-ast-to-gimple.c (copy_cond_phi_nodes): Remove
650         bogus assert.
651
652         2016-11-07  Richard Biener  <rguenther@suse.de>
653
654         PR tree-optimization/78224
655         * tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds):
656         Split the fallthru edge in case its successor may have PHIs.
657
658         2016-11-05  David Edelsohn  <dje.gcc@gmail.com>
659                 Richard Biener  <rguenther@suse.de>
660
661         PR bootstrap/78188
662         PR c++/71848
663         * ipa-comdats.c (pass_ipa_comdats::gate): Require HAVE_COMDAT_GROUP.
664
665         2016-09-20  Richard Biener  <rguenther@suse.de>
666
667         PR tree-optimization/77646
668         * tree-ssa-sccvn.c (visit_reference_op_call): Always value-number
669         a VDEF.
670
671 2016-12-07  Segher Boessenkool  <segher@kernel.crashing.org>
672
673         Backport from mainline
674         2016-11-12  Segher Boessenkool  <segher@kernel.crashing.org>
675
676         PR target/77957
677         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
678         return early if !optional_tbtab.
679
680 2016-12-07  Jakub Jelinek  <jakub@redhat.com>
681
682         Backported from mainline
683         2016-11-28  Jakub Jelinek  <jakub@redhat.com>
684
685         PR middle-end/78540
686         * rtl.h (remove_reg_equal_equiv_notes): Return bool instead of void.
687         * rtlanal.c (remove_reg_equal_equiv_notes): Return true if any
688         note has been removed.
689         * postreload.c (reload_combine_recognize_pattern): If
690         remove_reg_equal_equiv_notes returns true, call df_notes_rescan.
691
692         PR rtl-optimization/78546
693         * simplify-rtx.c (neg_const_int): When negating most negative
694         number in mode wider than HOST_BITS_PER_WIDE_INT, use
695         simplify_const_unary_operation to produce CONST_DOUBLE or
696         CONST_WIDE_INT.
697         (simplify_plus_minus): Hanlde the case where neg_const_int
698         doesn't return a CONST_INT.
699
700         PR fortran/78298
701         * tree-nested.c (convert_local_reference_stmt): After adding
702         shared (FRAME.NN) clause to omp parallel, task or target,
703         add it also to all outer omp parallel, task or target constructs.
704
705         2016-11-23  Jakub Jelinek  <jakub@redhat.com>
706
707         PR middle-end/69183
708         * omp-low.c (build_outer_var_ref): Change lastprivate argument
709         to code, pass it recursively, adjust uses.  For OMP_CLAUSE_PRIVATE
710         on worksharing constructs, treat it like clauses on simd construct.
711         Formatting fix.
712         (lower_rec_input_clauses): For OMP_CLAUSE_PRIVATE_OUTER_REF pass
713         OMP_CLAUSE_PRIVATE as last argument to build_outer_var_ref.
714         (lower_lastprivate_clauses): Pass OMP_CLAUSE_LASTPRIVATE instead
715         of true as last argument to build_outer_var_ref.
716
717         2016-11-22  Jakub Jelinek  <jakub@redhat.com>
718
719         PR middle-end/78416
720         * expmed.c (expand_divmod): Use wide_int for computation of
721         op1_is_pow2.  Don't set it if op1 is 0.  Formatting fixes.
722         Use size <= HOST_BITS_PER_WIDE_INT instead of
723         HOST_BITS_PER_WIDE_INT >= size.
724
725         2016-11-21  Jakub Jelinek  <jakub@redhat.com>
726
727         PR middle-end/67335
728         * omp-simd-clone.c (simd_clone_adjust_argument_types): Use NULL prefix
729         for tmp simd array if DECL_NAME (parm) is NULL.
730
731         2016-11-18  Jakub Jelinek  <jakub@redhat.com>
732
733         PR middle-end/78419
734         * multiple_target.c (get_attr_len): Start with argnum and increment
735         argnum on every arg.  Use strchr in a loop instead of counting commas
736         manually.
737         (get_attr_str): Increment argnum for every comma in the string.
738         (separate_attrs): Use for instead of while loop, simplify.
739         (expand_target_clones): Rename defenition argument to definition.
740         Free attrs and attr_str even when diagnosing errors.  Temporarily
741         change input_location around targetm.target_option.valid_attribute_p
742         calls.  Don't emit warning or errors if that function fails.
743
744         2016-11-16  Jakub Jelinek  <jakub@redhat.com>
745
746         PR rtl-optimization/78378
747         * combine.c (make_extraction): Use force_to_mode for non-{REG,MEM}
748         inner only if pos is 0.  Fix up formatting.
749
750         PR fortran/78299
751         * omp-low.c (expand_omp_for_static_nochunk): Don't assert
752         that loop->header == body_bb if broken_loop.
753
754         2016-11-07  Jakub Jelinek  <jakub@redhat.com>
755
756         PR target/77834
757         * dse.c (dse_step5): Call scan_reads even if just
758         insn_info->frame_read.  Improve and fix dump file messages.
759
760         PR target/78227
761         * config/i386/i386.c (ix86_expand_sse_cmp): Force dest into
762         cmp_mode argument even for -O0 if cmp_mode != mode and maskcmp.
763
764         2016-11-04  Jakub Jelinek  <jakub@redhat.com>
765
766         PR target/77834
767         * alias.c (nonoverlapping_memrefs_p): Return 0 if exprx or expry
768         doesn't have rtl set.
769
770         2016-10-29  Jakub Jelinek  <jakub@redhat.com>
771
772         PR rtl-optimization/77919
773         * expr.c (expand_expr_real_1) <normal_inner_ref>: Only avoid forcing
774         into memory if both modes are complex and their inner modes have the
775         same precision.  If the two modes are different complex modes, convert
776         each part separately and generate a new CONCAT.
777
778         2016-10-28  Jakub Jelinek  <jakub@redhat.com>
779
780         PR rtl-optimization/77919
781         * expr.c (expand_expr_real_1) <normal_inner_ref>: Force CONCAT into
782         MEM if mode1 is not a complex mode.
783
784         2016-10-27  Jakub Jelinek  <jakub@redhat.com>
785
786         PR middle-end/78025
787         * omp-simd-clone.c (simd_clone_adjust): Handle noreturn declare simd
788         functions.
789
790         2016-10-26  Jakub Jelinek  <jakub@redhat.com>
791                     Martin Liska  <mliska@suse.cz>
792
793         PR fortran/77973
794         * gimplify.c (gimplify_adjust_omp_clauses_1): For all added map
795         clauses with OMP_CLAUSE_SIZE being a decl, call omp_notice_variable
796         on outer context if any.
797
798         2016-10-05  Jakub Jelinek  <jakub@redhat.com>
799
800         PR sanitizer/66343
801         * ubsan.c (ubsan_ids): New GTY(()) array.
802         (ubsan_type_descriptor, ubsan_create_data): Use ubsan_ids
803         instead of static local counters.
804
805         2016-09-22  Jakub Jelinek  <jakub@redhat.com>
806
807         PR fortran/77665
808         * tree-inline.c (remap_gimple_stmt): Set has_simduid_loops
809         for all IFN_GOMP_SIMD_* internal fns, not just for
810         IFN_GOMP_SIMD_ORDERED_*.
811
812         2016-09-20  Jakub Jelinek  <jakub@redhat.com>
813
814         PR middle-end/77624
815         * builtins.c (fold_builtin_atomic_always_lock_free): Only look through
816         cast to void * if the cast is from some other pointer type.
817
818         2016-09-19  Jakub Jelinek  <jakub@redhat.com>
819                     Jan Hubicka  <jh@suse.cz>
820
821         PR target/77587
822         * cgraph.c (cgraph_node::rtl_info): Pass &avail to
823         ultimate_alias_target call, return NULL if avail < AVAIL_AVAILABLE.
824         Call ultimate_alias_target just once, not up to 4 times.
825
826 2016-12-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>
827
828         Backport from mainline
829         2016-11-16  Thomas Preud'homme  <thomas.preudhomme@arm.com>
830
831         * config/arm/arm.md (arm_addsi3): Add alternative for addition of
832         general register with general register or ARM constant into SP
833         register.
834
835 2016-12-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
836
837         Backport from mainline
838         2016-12-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
839                     Stefan Freudenberger  <stefan@reservoir.com>
840
841         PR tree-optimization/78646
842         * gimple-ssa-strength-reduction.c (replace_ref): The pointer
843         addition used for the memory base expression should have the type
844         of the candidate.
845
846 2016-12-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
847
848         Backport from mainline
849         2016-09-01  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
850                     Michael Meissner  <meissner@linux.vnet.ibm.com>
851
852         PR target/72827
853         * config/rs6000/rs6000.c (rs6000_legitimize_address): Avoid
854         reg+reg addressing for TImode.
855         (rs6000_legitimate_address_p): Only allow register indirect
856         addressing for TImode, even without TARGET_QUAD_MEMORY.
857
858 2016-12-02  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
859
860         Backport from mainline
861         2016-12-02  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
862
863         * config/s390/s390-modes.def (CCVEQANY, CCVH, CCVHANY, CCVHU)
864         (CCVHUANY): Remove modes.
865         (CCVIH, CCVIHU, CCVIALL, CCVIANY, CCVFALL, CCVFANY): Add modes and
866         documentation.
867         * config/s390/s390.c (s390_match_ccmode_set): Rename cc modes.
868         (s390_expand_vec_compare_scalar): Pick one of the cc consumer
869         modes.
870         (s390_branch_condition_mask): Adjust to use the new cc consumer
871         modes.  The new modes allow for proper reversal in the middle-end.
872         (s390_expand_vec_compare_cc): Determine the proper cc producer and
873         consumer modes for a comparison.
874         * config/s390/s390.md: Rename CCVH to CCVIH and CCVHU to CCVIHU
875         throughout the file.
876         * config/s390/vx-builtins.md: Likewise.
877
878 2016-12-01  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
879
880         Backport from mainline
881         2016-12-01  Alan Modra  <amodra@gmail.com>
882
883         * gcc/config/rs6000/rs6000.c (insn_is_swappable_p): Properly
884         look inside UNSPEC_VSX_XXSPLTW vec.
885
886 2016-12-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
887
888         Back port from trunk
889         2016-11-17  Michael Meissner  <meissner@linux.vnet.ibm.com>
890
891         PR target/78101
892         * config/rs6000/predicates.md (fusion_addis_mem_combo_load): Add
893         the appropriate checks for SFmode/DFmode load/stores in GPR
894         registers.
895         (fusion_addis_mem_combo_store): Likewise.
896         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Rename
897         fusion_fpr_* to fusion_vsx_* and add in support for ISA 3.0 scalar
898         d-form instructions for traditional Altivec registers.
899         (emit_fusion_p9_load): Likewise.
900         (emit_fusion_p9_store): Likewise.
901         * config/rs6000/rs6000.md (p9 fusion store peephole2): Remove
902         early clobber from scratch register.  Do not match if the register
903         being stored is the scratch register.
904         (fusion_vsx_<P:mode>_<FPR_FUSION:mode>_load): Rename fusion_fpr_*
905         to fusion_vsx_* and add in support for ISA 3.0 scalar d-form
906         instructions for traditional Altivec registers.
907         (fusion_fpr_<P:mode>_<FPR_FUSION:mode>_load): Likewise.
908         (fusion_vsx_<P:mode>_<FPR_FUSION:mode>_store): Likewise.
909         (fusion_fpr_<P:mode>_<FPR_FUSION:mode>_store): Likewise.
910
911 2016-12-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
912
913         Backport from mainline
914         2016-11-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
915
916         PR target/48863
917         PR inline-asm/70184
918         * tree-ssa-ter.c (temp_expr_table): Add reg_vars_cnt field.
919         (new_temp_expr_table): Initialise reg_vars_cnt.
920         (free_temp_expr_table): Release reg_vars_cnt.
921         (process_replaceable): Add reg_vars_cnt argument, set reg_vars_cnt
922         field of TAB.
923         (find_replaceable_in_bb): Use the above to record register variable
924         write occurrences and cancel replacement across them.
925
926 2016-11-29  Kaz Kojima  <kkojima@gcc.gnu.org>
927
928         Backported from mainline
929         2016-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
930
931         PR target/78426
932         * config/sh/sh-mem.cc (sh_expand_cmpnstr): Use copy_to_mode_reg
933         instead of force_reg.
934         (sh_expand_setmem): Likewise.
935
936 2016-11-24  Eric Botcazou  <ebotcazou@adacore.com>
937
938         PR middle-end/78429
939         * tree.h (wi::fits_to_boolean_p): New predicate.
940         (wi::fits_to_tree_p): Use it for boolean types.
941         * tree.c (int_fits_type_p): Likewise.
942
943 2016-11-24  Martin Liska  <mliska@suse.cz>
944
945         Backported from mainline
946         2016-11-22  Martin Liska  <mliska@suse.cz>
947
948         PR ipa/78309
949         * ipa-icf.c (void sem_item::set_hash): Update m_hash_set.
950         (sem_function::get_hash): Use the new field.
951         (sem_function::parse): Remove an argument from ctor.
952         (sem_variable::parse): Likewise.
953         (sem_variable::get_hash): Use the new field.
954         (sem_item_optimizer::read_section): Use new ctor and set hash.
955         * ipa-icf.h: _hash is removed from sem_item::sem_item,
956         sem_variable::sem_variable, sem_function::sem_function.
957
958 2016-11-23  Uros Bizjak  <ubizjak@gmail.com>
959
960         * config/i386/i386.md (*<any_or:code>hi_1): Fix operand 2 constraints.
961         (kxnor<mode>): Return "#" for alternative 0.
962
963 2016-11-23  Richard Biener  <rguenther@suse.de>
964
965         Backport from mainline
966         2016-11-23  Richard Biener  <rguenther@suse.de>
967
968         PR lto/78472
969         * tree.c (gimple_canonical_types_compatible_p): Ignore zero-sized
970         fields.
971
972         2016-11-17  Richard Biener  <rguenther@suse.de>
973
974         PR middle-end/78305
975         * fold-const.c (negate_expr_p): Fix multiplication case.
976
977         2016-11-16  Richard Biener  <rguenther@suse.de>
978
979         PR middle-end/78333
980         * gimplify.c (gimplify_function_tree): Do not instrument
981         GNU extern inline functions.
982
983         2016-11-07  Richard Biener  <rguenther@suse.de>
984
985         PR tree-optimization/78228
986         * tree-ssa-phiopt.c (abs_replacement): Avoid introducing
987         undefined behavior.
988
989         2016-11-04  Richard Biener  <rguenther@suse.de>
990
991         PR middle-end/78185
992         * loop-invariant.c (find_exits): Record entering inner
993         loops as possibly exiting to handle infinite sub-loops.
994         * tree-ssa-loop-im.c: Include tree-ssa-loop-niter.h.
995         (fill_always_executed_in_1): Honor infinite child loops.
996
997         2016-10-06  Richard Biener  <rguenther@suse.de>
998
999         PR tree-optimization/77855
1000         * tree-ssa-pre.c (prune_clobbered_mems): Queue exprs to remove
1001         instead of removing the current item while iterating over the set
1002         which is not safe.
1003
1004 2016-11-22  Walter Lee  <walt@tilera.com>
1005
1006         Backport from mainline
1007         2016-11-22  Walter Lee  <walt@tilera.com>
1008
1009         * config/tilegx/tilegx.md (trap): New pattern.
1010         * config/tilepro/tilepro.md (trap): Likewise.
1011
1012 2016-11-22  Walter Lee  <walt@tilera.com>
1013
1014         Backport from mainline
1015         2016-11-22  Walter Lee  <walt@tilera.com>
1016
1017         * config/tilegx/tilegx.md (*zero_extract): Use
1018         define_insn_and_split instead of define_insn; Handle pos + size >
1019         64.
1020         (*sign_extract): Likewise.
1021
1022 2016-11-22  Uros Bizjak  <ubizjak@gmail.com>
1023
1024         * Makefile.in ($(lang_checks_parallelized)): Fix detection
1025         of -j argument.
1026
1027 2016-11-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1028
1029         Backport from mainline
1030         2016-11-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1031
1032         PR target/77822
1033         * config/aarch64/aarch64.md (*tb<optab><mode>1): Use
1034         aarch64_simd_shift_imm_<mode> predicate for operand 1.
1035         (<optab>, ANY_EXTRACT): Use tighter predicates on operands 2 and 3
1036         to restrict them to an appropriate range and add FAIL check if the
1037         region they specify is out of range.  Delete useless constraint
1038         strings.
1039         (*<optab><mode>, ANY_EXTRACT): Add appropriate predicates on operands
1040         2 and 3 to restrict their range and add pattern predicate.
1041
1042 2016-11-18  Walter Lee  <walt@tilera.com>
1043
1044         Backport from mainline
1045         2016-11-18  Walter Lee  <walt@tilera.com>
1046
1047         * config/tilegx/tilegx.c (tilegx_gen_bundles): Preserve
1048           end-of-bundle marker for consecutive barriers.
1049
1050 2016-11-18  Walter Lee  <walt@tilera.com>
1051
1052         Backport from mainline
1053         2016-11-18  Walter Lee  <walt@tilera.com>
1054
1055         * config/tilegx/tilegx.md (clzsi2): Fix for big-endian.
1056
1057 2016-11-15  Matthias Klose  <doko@ubuntu.com>
1058
1059         * doc/install.texi: Move the 'Overriding configure test results'
1060         subsub section to the 'Cross-Compiler-Specific Options' sub section.
1061
1062 2016-11-13  Eric Botcazou  <ebotcazou@adacore.com>
1063
1064         * ipa-icf.c (sem_function::merge): Do not create a wrapper also if the
1065         original function needs a static chain.
1066
1067 2016-11-11  Uros Bizjak  <ubizjak@gmail.com>
1068
1069         PR target/78310
1070         * config/i386/i386.md (rotate to rotatex splitter): Avoid overflow
1071         when calculating operand 2.
1072         (rotate to rotatex zext splitter): Ditto.
1073
1074 2016-11-11  Dominik Vogt  <vogt@linux.vnet.ibm.com>
1075
1076         PR target/77822
1077         * config/s390/s390.md ("extzv", "*extzv<mode>_zEC12")
1078         ("*extzv<mode>_z10"): Check validity of zero_extend arguments.
1079
1080 2016-11-09  Uros Bizjak  <ubizjak@gmail.com>
1081
1082         PR target/78262
1083         * config/i386/i386.md (*<shift_insn><mode>3_doubleword): Mark
1084         operand 0 as earlyclobber.
1085         (*ashl<mode>3_doubleword): Ditto for all operand 0 alternatives.
1086
1087 2016-11-07  Peter Bergner  <bergner@vnet.ibm.com>
1088
1089         Backport from trunk
1090         2016-11-07  Peter Bergner  <bergner@vnet.ibm.com>
1091
1092         * config.gcc (powerpc*-*-*, rs6000*-*-*): Remove setting of
1093         INCLUDE_EXTRA_SPEC for Advance Toolchain builds.
1094
1095 2016-11-06  Jack Howarth  <howarth.at.gcc@gmail.com>
1096
1097         PR driver/78206
1098         * incpath.c: (remove_dup(): Also silently ignore EPERM.
1099
1100 2016-11-07  Richard Biener  <rguenther@suse.de>
1101
1102         PR target/78229
1103         * config/i386/i386.c (ix86_gimple_fold_builtin): Do not adjust
1104         EH info.
1105
1106 2016-11-03  Martin Liska  <mliska@suse.cz>
1107
1108         Backport from mainline
1109         2016-08-12  Martin Liska  <mliska@suse.cz>
1110         Adam Fineman  <afineman@afineman.com>
1111
1112         * gcov.c (process_file): Create .gcov file when .gcda
1113         file is missing.
1114
1115 2016-11-03  Richard Biener  <rguenther@suse.de>
1116
1117         Backport from mainline
1118         2016-09-29  Richard Biener  <rguenther@suse.de>
1119
1120         PR tree-optimization/77768
1121         * tree-ssa-sccvn.c (visit_reference_op_store): Properly deal
1122         with stores to a place we know has a constant value.
1123         * tree-vrp.c (set_defs_to_varying): New helper avoiding
1124         writing to vr_const_varying.
1125         (vrp_initialize): Call it.
1126         (vrp_visit_stmt): Likewise.
1127         (evrp_dom_walker::before_dom_children): Likewise.
1128         * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
1129         Handle stores to readonly memory when removing redundant stores.
1130
1131 2016-11-03  Eric Botcazou  <ebotcazou@adacore.com>
1132
1133         Backport from mainline
1134         2016-10-17  Eric Botcazou  <ebotcazou@adacore.com>
1135
1136         * explow.c (validize_mem): Do not modify the argument in-place.
1137
1138 2016-11-02  Will Schmidt  <will_schmidt@vnet.ibm.com>
1139
1140         Backport from trunk
1141         2016-10-26  Will Schmidt <will_schmidt@vnet.ibm.com>
1142
1143         PR middle-end/72747
1144         * gimplify.c (gimplify_init_constructor): Move emit of constructor
1145         assignment to earlier in the if/else logic.
1146
1147 2016-11-02  Richard Biener  <rguenther@suse.de>
1148
1149         Backport from mainline
1150         2016-11-02  Richard Biener  <rguenther@suse.de>
1151
1152         PR tree-optimization/78047
1153         * tree-ssa-structalias.c (push_fields_onto_fieldstack): Initialize
1154         fake field at offset zero conservatively regarding to may_have_pointers.
1155
1156         2016-10-07  Richard Biener  <rguenther@suse.de>
1157
1158         PR tree-optimization/77879
1159         * tree-ssa-structalias.c (handle_const_call): Properly handle
1160         NRV return slots.
1161         (handle_pure_call): Likewise.
1162
1163         2016-10-06  Richard Biener  <rguenther@suse.de>
1164
1165         PR tree-optimization/77839
1166         * tree-ssa-sccvn.c (set_ssa_val_to): Forbid value -> constant value
1167         lattice transition.
1168
1169         2016-09-27  Richard Biener  <rguenther@suse.de>
1170
1171         PR tree-optimization/77745
1172         * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
1173         When removing redundant stores make sure to check compatibility
1174         of the TBAA state for downstream accesses.
1175         * tree-ssa-sccvn.c (visit_reference_op_store): Likewise for when
1176         value-numbering virtual operands for store matches.
1177
1178         2016-09-21  Richard Biener  <rguenther@suse.de>
1179
1180         PR tree-optimization/77648
1181         * tree-ssa-structalias.c (process_constraint): Handle all DEREF
1182         with complex RHS.
1183         (make_transitive_closure_constraints): Adjust comment.
1184         (make_any_offset_constraints): New function.
1185         (handle_rhs_call): Make sure to first expand a pointer to all
1186         subfields before transitively closing it.
1187         (handle_const_call): Likewise.  Properly expand returned
1188         pointers as well.
1189         (handle_pure_call): Likewise.
1190
1191 2016-11-01  John David Anglin  <danglin@gcc.gnu.org>
1192
1193         PR target/78166
1194         * config/pa/pa.md: Add new shift/add patterns to handle
1195         (plus (mult (reg) (mem_shadd_operand)) (reg)) source operand.
1196
1197 2016-11-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1198
1199         Backport from mainline
1200         2016-10-21  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1201
1202         PR rtl-optimization/78038
1203         * ree.c (get_defs): Return NULL if a defining insn for REG cannot
1204         be deduced to set REG through the RTL structure.
1205         (make_defs_and_copies_lists): Return false on a failing get_defs call.
1206
1207 2016-10-29  John David Anglin  <danglin@gcc.gnu.org>
1208
1209         * config/pa/pa.h (BIGGEST_ALIGNMENT): Adjust comment.
1210         (MALLOC_ABI_ALIGNMENT): Define.
1211
1212 2016-10-28  Richard Biener  <rguenther@suse.de>
1213
1214         PR middle-end/78128
1215         PR middle-end/71002
1216         * fold-const.c (make_bit_field_ref): Only adjust alias set
1217         when the original alias set was zero.
1218
1219 2016-10-26  Uros Bizjak  <ubizjak@gmail.com>
1220
1221         Backport from mainline
1222         2016-10-21  Jakub Jelinek  <jakub@redhat.com>
1223
1224         PR target/78057
1225         * config/i386/i386.c: Include fold-const-call.h, tree-vrp.h
1226         and tree-ssanames.h.
1227         (ix86_fold_builtin): Fold IX86_BUILTIN_[LT]ZCNT{16,32,64}
1228         with INTEGER_CST argument.
1229         (ix86_gimple_fold_builtin): New function.
1230         (TARGET_GIMPLE_FOLD_BUILTIN): Define.
1231
1232         Backport from mainline
1233         2016-10-20 Uros Bizjak  <ubizjak@gmail.com>
1234
1235         PR target/78037
1236         * config/i386/bmiintrin.h (__tzcnt_u16): Call __builtin_ia32_tzcnt_u16.
1237         (__tzcnt_u32, _tzcnt_u32): Call __builtin_ia32_tzcnt_u32.
1238         (__tzcnt_u64, _tzcnt_u64): Call __builtin_ia32_tzcnt_u64.
1239         * config/i386/lzcntintrin.h (__lzcnt_u16): Call
1240         __builtin_ia32_lzcnt_u16.
1241         (__lzcnt_u32, _lzcnt_u32): Call __builtin_ia32_lzcnt_u32.
1242         (__lzcnt_u64, _lzcnt_u64): Call __builtin_ia32_lzcnt_u64.
1243         * config/i386/i386.md (UNSPEC_LZCNT, UNSPEC_TZCNT): New unspecs.
1244         (ctz<mode>2, *ctz<mode>2): Use SWI48 mode iterator.
1245         (bmi_tzcnt_<mode>): New expander.
1246         (*bmi_tzcnt_<mode>_falsedep_1): New define_insn_and_split pattern.
1247         (*bmi_tzcnt_<mode>_falsedep, *bmi_tzcnt_<mode>): New insn patterns.
1248         (clz<mode>2_lzcnt, *clz<mode>2_lzcnt): Use SWI48 mode iterator.
1249         (lzcnt_<mode>): New expander.
1250         (*lzcnt_<mode>_falsedep_1): New define_insn_and_split pattern.
1251         (*lzcnt_<mode>_falsedep, *lzcnt_<mode>): New insn patterns.
1252         * config/i386/i386-builtin-types.def (UINT_FTYPE_UINT): New.
1253         (UINT64_FTYPE_UINT64): New.
1254         * config/i386/i386-builtin.def (__builtin_clzs): Remove description.
1255         (__builtin_ia32_lzcnt_u16): New description.
1256         (__builtin_ia32_lzcnt_u32): Ditto.
1257         (__builtin_ia32_lzcnt_u64): Ditto.
1258         (__builtin_ctzs): Remove description.
1259         (__builtin_ia32_tzcnt_u16): New description.
1260         (__builtin_ia32_tzcnt_u32): Ditto.
1261         (__builtin_ia32_tzcnt_u64): Ditto.
1262         * config/i386/i386.c (ix86_expand_args_builtin): Handle
1263         UINT_FTYPE_UINT and UINT64_FTYPE_UINT64.
1264
1265 2016-10-25  Eric Botcazou  <ebotcazou@adacore.com>
1266
1267         * tree.h (wi::fits_to_tree_p): Accept only 0 and 1 for boolean types.
1268         * tree.c (int_fits_type_p): Likewise.  Adjust head comment.
1269
1270 2016-10-24  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1271
1272         Backport from mainline
1273         2016-09-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1274
1275         PR tree-optimization/77550
1276         * tree-vect-stmts.c (create_array_ref): Change parameters.
1277         (get_group_alias_ptr_type): New function.
1278         (vectorizable_store, vectorizable_load): Use get_group_alias_ptr_type.
1279
1280 2016-10-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1281
1282         Backport from mainline
1283         2016-10-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1284
1285         PR tree-optimization/77916
1286         * gimple-ssa-strength-reduction.c (create_add_on_incoming_edge):
1287         Don't allow a MINUS_EXPR for pointer arithmetic for either known
1288         or unknown strides.
1289         (record_increment): Increments of -1 for unknown strides just use
1290         a multiply initializer like other negative values.
1291         (analyze_increments): Remove stopgap solution for -1 increment
1292         applied to pointer arithmetic.
1293         (insert_initializers): Requirement of initializer for -1 should be
1294         based on pointer-typedness of the candidate basis.
1295
1296 2016-10-23  Eric Botcazou  <ebotcazou@adacore.com>
1297
1298         * config/sparc/sparc.md (cpu_feature): Minor tweak.
1299         (enabled): Likewise.
1300         (movsi_insn, movdi_insn_sp32, movdi_insn_sp64, movsf_insn,
1301         movdf_insn_sp32, movdf_insn_sp64, zero_extendsidi2_insn_sp64,
1302         sign_extendsidi2_insn, mov<VM32:mode>_insn, mov<VM64:mode>_insn_sp64,
1303         mov<VM64:mode>_insn_sp32, not_<code><mode>, nand<mode>_vis,
1304         <code>_not1<mode>_vi, <code>_not2<mode>_vis, one_cmpl<mode>2,
1305         fcmp<code><GCM:gcm_name>, pdistn<mode>_vis): Likewise.
1306
1307 2016-10-23  Eric Botcazou  <ebotcazou@adacore.com>
1308
1309         * config/sparc/sparc-c.c (sparc_target_macros): Replace TARGET_64BIT
1310         with TARGET_ARCH64.  Define __VIS to 0x400 if TARGET_VIS4.
1311
1312 2016-10-19  Uros Bizjak  <ubizjak@gmail.com>
1313
1314         PR target/77991
1315         * config/i386/i386.c (legitimize_tls_address)
1316         <case TLS_MODEL_INITIAL_EXEC>: For TARGET_64BIT || TARGET_ANY_GNU_TLS
1317         convert dest to Pmode if different than Pmode.
1318
1319 2016-10-18  Kugan Vivekanandarajah  <kuganv@linaro.org>
1320
1321         Backport from mainline
1322         2016-10-11  Kugan Vivekanandarajah  <kuganv@linaro.org>
1323
1324         * tree-vrp.c (vrp_intersect_ranges_1): Allocate bitmap before
1325         copying.
1326
1327 2016-10-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1328
1329         Backport from mainline
1330         2016-10-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1331
1332         PR tree-optimization/77937
1333         * gimple-ssa-strength-reduction.c (analyze_increments): Use
1334         POINTER_TYPE_P on the candidate type to determine whether
1335         candidates in this chain require pointer arithmetic.
1336
1337         2016-10-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1338
1339         PR tree-optimization/77937
1340         * gimple-ssa-strength-reduction.c (analyze_increments): Set cost
1341         to infinite when we have a pointer with an increment of -1.
1342
1343 2016-10-17  Martin Liska  <mliska@suse.cz>
1344
1345         Backported from mainline
1346         2016-10-13  Martin Liska  <mliska@suse.cz>
1347
1348         PR tree-optimization/77943
1349         * tree-ssa-tail-merge.c (merge_stmts_p): Do not merge BBs with
1350         a different EH landing pads.
1351
1352 2016-10-17  Eric Botcazou  <ebotcazou@adacore.com>
1353
1354         PR bootstrap/77995
1355         Backport from mainline
1356         2016-10-11  Eric Botcazou  <ebotcazou@adacore.com>
1357
1358         * tree.h (build_complex_type): Add second parameter with default.
1359         * tree.c (build_complex_type): Add NAMED second parameter and adjust
1360         recursive call.  Create a TYPE_DECL only if NAMED is true.
1361         (build_common_tree_nodes): Pass true in calls to build_complex_type.
1362
1363 2016-10-16  Eric Botcazou  <ebotcazou@adacore.com>
1364
1365         * config/sparc/sparc.c (sparc_expand_vector_init): Only accept literal
1366         constants in CONST_VECTORs.
1367
1368 2016-10-15  Eric Botcazou  <ebotcazou@adacore.com>
1369
1370         * config/sparc/sparc.c (sparc_expand_vec_perm_bmask): Use a scratch
1371         register as destination of bmask.
1372         (vector_init_bshuffle): Likewise.
1373         * config/sparc/sparc.md (vec_perm_constv8qi): Likewise.
1374         (bmaskdi_vis): Enable only in 64-bit mode.
1375
1376 2016-10-13  Andrew Senkevich  <andrew.senkevich@intel.com>
1377
1378         Backport from trunk
1379         * common/config/i386/i386-common.c (OPTION_MASK_ISA_PCOMMIT_UNSET,
1380         OPTION_MASK_ISA_PCOMMIT_SET): Deleted definitions.
1381         (ix86_handle_option): Deleted handle of OPT_mpcommit.
1382         * config.gcc: Deleted pcommitintrin.h
1383         * config/i386/pcommitintrin.h: Deleted file.
1384         * config/i386/cpuid.h (bit_PCOMMIT): Deleted.
1385         * config/i386/driver-i386.c (host_detect_local_cpu): Deleted pcommit
1386         detection.
1387         * config/i386/i386-c.c (ix86_target_macros_internal): Deleted define
1388         __PCOMMIT__.
1389         * config/i386/i386.c (ix86_target_string): Deleted -mpcommit.
1390         (PTA_PCOMMIT, IX86_BUILTIN_PCOMMIT, __builtin_ia32_pcommit): Deleted.
1391         (ix86_option_override_internal): Deleted handle of option.
1392         (ix86_valid_target_attribute_inner_p): Deleted pcommit.
1393         * config/i386/i386.h (TARGET_PCOMMIT, TARGET_PCOMMIT_P): Deleted.
1394         * config/i386/i386.md (unspecv): Deleted UNSPECV_PCOMMIT.
1395         (pcommit): Deleted instruction.
1396         * config/i386/i386.opt: Mention -mpcommit deprecation.
1397         * config/i386/x86intrin.h: Deleted inclusion of pcommitintrin.h.
1398
1399 2016-10-13  Tom de Vries  <tom@codesourcery.com>
1400
1401         revert:
1402         2016-10-11  Tom de Vries  <tom@codesourcery.com>
1403
1404         backport from trunk:
1405         2016-10-11  Tom de Vries  <tom@codesourcery.com>
1406
1407         PR middle-end/77558
1408         * builtins.c (std_canonical_va_list_type): Remove RECORD_TYPE
1409         special-casing.
1410
1411 2016-10-11  Tom de Vries  <tom@codesourcery.com>
1412
1413         backport from trunk:
1414         2016-10-11  Tom de Vries  <tom@codesourcery.com>
1415
1416         PR middle-end/77558
1417         * builtins.c (std_canonical_va_list_type): Remove RECORD_TYPE
1418         special-casing.
1419
1420 2016-10-10  Georg-Johann Lay  <avr@gjlay.de>
1421
1422         * config/avr/gen-avr-mmcu-texi.c (string.h): Include.
1423
1424 2016-10-06  Uros Bizjak  <ubizjak@gmail.com>
1425
1426         PR target/77874
1427         * config/i386/sse.md (<mask_codefor><code><mode>3<mask_name>):
1428         Remove wrong assert.
1429         (<floatsuffix>float<sseintvecmodelower><mode>2<mask_name><round_name>:
1430         Use <round_constraint> as operand 1 constraint.
1431
1432 2016-10-06  James Clarke  <jrtc27@jrtc27.com>
1433             Eric Botcazou  <ebotcazou@adacore.com>
1434
1435         PR target/77759
1436         * config/sparc/sparc.c (classify_data_t): Remove int_regs field.
1437         (classify_registers): Don't set it
1438         (function_arg_slotno): Don't initialize and test it.  Tidy up.
1439
1440 2016-10-04  Uros Bizjak  <ubizjak@gmail.com>
1441
1442         Backport from mainline
1443         2016-09-29  Uros Bizjak  <ubizjak@gmail.com>
1444
1445         * config/i386/driver-i386.c (host_detect_local_cpu): Check maximum
1446         ext_level before calling CPUID with 0x80000008.
1447
1448         2016-09-29  Uros Bizjak  <ubizjak@gmail.com>
1449
1450         PR target/77756
1451         * config/i386/cpuid.h (__get_cpuid_count): New.
1452         (__get_cpuid): Rename __level to __leaf.
1453
1454 2016-09-30  Michael Meissner  <meissner@linux.vnet.ibm.com>
1455
1456         Back port from trunk
1457
1458         2016-09-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
1459
1460         PR target/77670
1461         * config/rs6000/predicates.md (invert_fpmask_comparison_operator):
1462         New predicate that matches the ISA 3.0 XSCMP{EQ,GT,GE}DP
1463         instructions when you want to invert the test.
1464         * config/rs6000/rs6000.md (fpmask<mode>): Use the arguments in the
1465         correct order for XXSEL.
1466         (mov<SFDF:mode><SFDF2:mode>cc_invert_p9): Define the inverted test
1467         for using XSCMP{EQ,GT,GE}DP.
1468
1469 2016-09-28  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1470             Alan Modra  <amodra@gmail.com>
1471
1472         Backport from mainline
1473         2016-07-01  Alan Modra  <amodra@gmail.com>
1474
1475         PR rtl-optimization/71709
1476         * ira-lives.c (find_call_crossed_cheap_reg): Exit loop on arg reg
1477         being set, not referenced.
1478
1479 2016-09-27  David Edelsohn  <dje.gcc@gmail.com>
1480
1481         Backport from mainline
1482         2016-09-27  David Edelsohn  <dje.gcc@gmail.com>
1483
1484         * config/rs6000/rs6000.c (rs6000_output_symbol): Don't modify
1485         VAR_DECL string.
1486
1487         2016-09-24  David Edelsohn  <dje.gcc@gmail.com>
1488
1489         * configure.ac (gcc_cv_as_aix_dwloc): Fix typo in assembly fragment.
1490         * configure: Regenerate.
1491
1492 2016-09-27  Richard Biener  <rguenther@suse.de>
1493
1494         Backport from mainline
1495         2016-09-01  Richard Biener  <rguenther@suse.de>
1496
1497         PR middle-end/77436
1498         * tree-chrec.c (tree_fold_binomial): Use widest_int, properly
1499         check whether the result fits the desired result type.
1500
1501         2016-09-19  Richard Biener  <rguenther@suse.de>
1502
1503         PR tree-optimization/77514
1504         * tree-ssa-pre.c (create_expression_by_pieces): Optimize
1505         search for folded stmt.
1506
1507         2016-09-15  Richard Biener  <rguenther@suse.de>
1508
1509         PR tree-optimization/77514
1510         * tree-ssa-pre.c (create_expression_by_pieces): Handle garbage
1511         only forced_stmts sequence.
1512
1513         2016-09-15  Richard Biener  <rguenther@suse.de>
1514
1515         PR middle-end/77544
1516         * fold-const.c (split_tree): Do not split constant ~X.
1517
1518         2016-09-19  Richard Biener  <rguenther@suse.de>
1519
1520         PR middle-end/77605
1521         * tree-data-ref.c (analyze_subscript_affine_affine): Use the
1522         proper niter to bound the loops.
1523
1524         2016-09-22  Richard Biener  <rguenther@suse.de>
1525
1526         PR middle-end/77679
1527         * gimple-fold.c (fold_array_ctor_reference): Turn asserts into
1528         fold fails.
1529
1530 2016-09-25  Uros Bizjak  <ubizjak@gmail.com>
1531
1532         Backport from mainline
1533         2016-09-21  Richard Biener  <rguenther@suse.de>
1534                     Jakub Jelinek  <jakub@redhat.com>
1535
1536         PR tree-optimization/77621
1537         * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Split
1538         group at non-vectorizable stmts.
1539
1540         Backport from mainline
1541         2016-09-20  Uros Bizjak  <ubizjak@gmail.com>
1542
1543         PR target/77621
1544         * config/i386/i386.c (ix86_preferred_simd_mode) <case DFmode>:
1545         Don't return word_mode for !TARGET_VECTORIZE_DOUBLE.
1546         (ix86_add_stmt_cost): Penalize DFmode vector operations
1547         for !TARGET_VECTORIZE_DOUBLE.
1548
1549 2016-09-22  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
1550
1551         Backport from 2016-09-22 trunk r240388.
1552
1553         * config/avr/avr.c (avr_rtx_costs_1): Handle DImode MULT.
1554         (avr_address_cost): Replace 61 with MAX_LD_OFFSET(mode).
1555
1556 2016-09-21  Segher Boessenkool  <segher@kernel.crashing.org>
1557
1558         * doc/rtl.texi (JUMP_LABEL): Document RETURN and SIMPLE_RETURN values.
1559
1560 2016-09-21  Georg-Johann Lay  <avr@gjlay.de>
1561
1562         Backport from 2016-09-21 trunk r240306.
1563
1564         PR target/77326
1565         * config/avr/avr.c (avr_notice_update_cc) [CC_NONE]: If insn
1566         touches some regs mentioned in cc_status, do CC_STATUS_INIT.
1567
1568 2016-09-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1569
1570         Backport from mainline
1571         2016-07-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1572
1573         * lra-constraints.c (match_reload): Pass information about other
1574         output operands.  Create new unique register value if matching input
1575         operand shares same register value as output operand being considered.
1576         (curr_insn_transform): Record output operands already processed.
1577
1578 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
1579
1580         * doc/extend.texi (Integer Overflow Builtins): Fix type of out
1581         parameters for functions taking long long arguments.
1582
1583 2016-09-16  David Edelsohn  <dje.gcc@gmail.com>
1584
1585         Backported from mainline
1586         2016-08-26  David Edelsohn  <dje.gcc@gmail.com>
1587
1588         PR target/77349
1589         * config/rs6000/xcoff.h (DWARF_OFFSET_SIZE): Define as PTR_SIZE.
1590
1591 2016-09-16  Jakub Jelinek  <jakub@redhat.com>
1592             Eric Botcazou  <ebotcazou@adacore.com>
1593
1594         PR middle-end/77594
1595         * internal-fn.c (expand_arith_overflow) <case MINUS_EXPR>: Don't fall
1596         through into expand_addsub_overflow after expand_neg_overflow.
1597
1598 2016-09-16  Jakub Jelinek  <jakub@redhat.com>
1599
1600         Backported from mainline
1601         2016-09-14  Jakub Jelinek  <jakub@redhat.com>
1602
1603         PR sanitizer/68260
1604         * tsan.c: Include target.h.
1605         (enum tsan_atomic_action): Add bool_clear and bool_test_and_set.
1606         (BOOL_CLEAR, BOOL_TEST_AND_SET): Define.
1607         (tsan_atomic_table): Add BUILT_IN_ATOMIC_CLEAR and
1608         BUILT_IN_ATOMIC_TEST_AND_SET entries.
1609         (instrument_builtin_call): Handle bool_clear and bool_test_and_set.
1610
1611         2016-09-08  Jakub Jelinek  <jakub@redhat.com>
1612
1613         PR fortran/77516
1614         * omp-low.c (lower_rec_simd_input_clauses): Use max_vf for non-positive
1615         OMP_CLAUSE_SAFELEN_EXPR.
1616
1617         2016-09-06  Jakub Jelinek  <jakub@redhat.com>
1618
1619         PR target/69255
1620         * config/i386/i386.c (ix86_expand_builtin): For builtin with
1621         unsupported or unknown ISA, use expand_call.
1622
1623 2016-09-06  Uros Bizjak  <ubizjak@gmail.com>
1624
1625         Backport from mainline
1626         2016-09-05  Uros Bizjak  <ubizjak@gmail.com>
1627
1628         PR rtl-optimization/77452
1629         * explow.c (plus_constant) <case MEM>: Extract scalar constant from
1630         inner-mode reference to a CONST_VECTOR constant in the constant pool.
1631
1632 2016-09-01  Jakub Jelinek  <jakub@redhat.com>
1633
1634         Backported from mainline
1635         2016-08-30  Jakub Jelinek  <jakub@redhat.com>
1636
1637         PR tree-optimization/72866
1638         * tree-vect-patterns.c (search_type_for_mask): Turn into
1639         a small wrapper, move all code to ...
1640         (search_type_for_mask_1): ... this new function.  Add caching
1641         and adjust recursive calls.
1642
1643         PR debug/77363
1644         * dwarf2out.c (modified_type_die): Use lookup_type_die (type)
1645         instead of lookup_type_die (type_main_variant (type)) even for array
1646         types.
1647
1648         PR middle-end/77377
1649         * simplify-rtx.c (avoid_constant_pool_reference): For out of bounds
1650         constant pool reference return x instead of c.
1651
1652         2016-08-19  Jakub Jelinek  <jakub@redhat.com>
1653
1654         * config/i386/t-i386 (i386-c.o): Don't depend on
1655         i386-builtin-types.inc.
1656         (i386.o): Depend on i386-builtin-types.inc.
1657
1658         2016-08-17  Jakub Jelinek  <jakub@redhat.com>
1659
1660         PR middle-end/77259
1661         * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): If
1662         turning a call into __builtin_unreachable-like noreturn call, adjust
1663         gimple_call_set_fntype.
1664         * tree-cfgcleanup.c (fixup_noreturn_call): Remove lhs also if
1665         gimple_call_fntype has void return type.
1666
1667         2016-08-16  Jakub Jelinek  <jakub@redhat.com>
1668
1669         PR target/71910
1670         * tree-cfg.c (execute_fixup_cfg): Add node variable, use it.  Before inlining,
1671         add cgraph edge for the added __builtin_unreachable call.
1672
1673 2016-09-01  Gerald Pfeifer  <gerald@pfeifer.com>
1674
1675         * doc/extend.texi (SPU Built-in Functions): Remove stale
1676         references to material formerly at IBM and Sony.
1677
1678 2016-09-01  Matthew Wahab  <matthew.wahab@arm.com>
1679
1680         PR target/77281
1681         * config/arm/arm.c (neon_valid_immediate): Delete declaration.
1682         Use const_vec_duplicate to check for duplicated elements.
1683
1684 2016-09-01  Eric Botcazou  <ebotcazou@adacore.com>
1685
1686         * config/i386/i386.c (ix86_option_override_internal): Also disable the
1687         STV pass if -mstackrealign is enabled.
1688
1689 2016-08-31  Patrick Palka  <ppalka@gcc.gnu.org>
1690
1691         Backport from mainline
1692         2016-08-27  Patrick Palka  <ppalka@gcc.gnu.org>
1693
1694         PR tree-optimization/71077
1695         PR tree-optimization/68542
1696         * fold-const.c (fold_relational_const): Fix folding of
1697         VECTOR_CST comparisons that have a scalar boolean result type.
1698
1699 2016-08-31  Gerald Pfeifer  <gerald@pfeifer.com>
1700
1701         * doc/install.texi (Binaries): www.opencsw.org now uses https.
1702
1703 2016-08-31  Jakub Sejdak  <jakub.sejdak@phoesys.com>
1704
1705         * config.gcc: Add support for arm*-*-phoenix* targets.
1706         * config/arm/t-phoenix: New.
1707         * config/phoenix.h: New.
1708
1709 2016-08-29  Uros Bizjak  <ubizjak@gmail.com>
1710
1711         PR target/77403
1712         * config/i386/sse.md (vec_set_lo_<mode><mask_name>): Fix assembler
1713         template for intel asm dialect.
1714         (vec_set_hi_<mode><mask_name>): Ditto.
1715
1716 2016-08-29  Eric Botcazou  <ebotcazou@adacore.com>
1717
1718         * Makefile.in (gcov-iov.h): Add dummy recipe.
1719
1720 2016-08-28  Uros Bizjak  <ubizjak@gmail.com>
1721
1722         Backport from mainline
1723         2016-08-23  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
1724
1725         * config/i386/i386.c (processor_alias_table): Enable PTA_PRFCHW
1726         for targets amdfam10 and barcelona.
1727
1728         Backport from mainline
1729         2016-08-21  Uros Bizjak  <ubizjak@gmail.com>
1730
1731         PR target/77270
1732         * config/i386/i386.md (prefetch): When TARGET_PRFCHW or
1733         TARGET_PREFETCHWT1 are disabled, emit 3dNOW! write prefetches for
1734         non-SSE2 athlons only, otherwise prefer SSE prefetches.
1735
1736         Backport from mainline
1737         2016-08-19  Uros Bizjak  <ubizjak@gmail.com>
1738
1739         PR target/77270
1740         * config/i386/i386.c (ix86_option_override_internal): Remove
1741         PTA_PRFCHW from entries that also have PTA_3DNOW flag.
1742         Enable SSE prefetch also for TARGET_PREFETCHWT1.
1743         Do not try to enable TARGET_PRFCHW ISA flag here.
1744         * config/i386/i386.md (prefetch): Enable also for TARGET_3DNOW.
1745         Rewrite expander function body.
1746         (*prefetch_3dnow): Enable for TARGET_3DNOW and TARGET_PREFETCHWT1.
1747
1748 2016-08-28  Tom de Vries  <tom@codesourcery.com>
1749
1750         backport from trunk:
1751         2016-08-28  Tom de Vries  <tom@codesourcery.com>
1752
1753         PR lto/70955
1754         * config/i386/i386.c (ix86_build_builtin_va_list_64): Tag type with
1755         'sysv_abi va_list' attribute.
1756         (ix86_build_builtin_va_list): Tag type with 'ms_abi va_list' attribute.
1757         (ix86_canonical_va_list_type): Handle 'sysv_abi/ms_abi va_list'
1758         attributes.
1759
1760 2016-08-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1761
1762         Backport from mainline
1763         2016-08-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1764
1765         PR target/72863
1766         * vsx.md (vsx_load_<mode>): For P8LE, emit swaps at expand time.
1767         (vsx_store_<mode>): Likewise.
1768
1769 2016-08-24  Richard Biener  <rguenther@suse.de>
1770
1771         Backport from mainline
1772         2016-08-17  Richard Biener  <rguenther@suse.de>
1773
1774         PR tree-optimization/76490
1775         * tree-vrp.c (update_value_range): Preserve overflow infinities
1776         when intersecting with ranges from get_range_info.
1777         (operand_less_p): Handle overflow infinities correctly.
1778         (value_range_constant_singleton): Use vrp_operand_equal_p
1779         to handle overflow max/min correctly.
1780         (vrp_valueize): Likewise.
1781         (union_ranges): Likewise.
1782         (intersect_ranges): Likewise.
1783
1784 2016-08-24  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1785
1786         * config/arm/t-rtems: Add vfp multilib.
1787
1788 2016-08-23  Richard Biener  <rguenther@suse.de>
1789
1790         Backport from mainline
1791         2016-08-16  Richard Biener  <rguenther@suse.de>
1792
1793         PR tree-optimization/76783
1794         * tree-ssa-propagate.c (ssa_prop_init): Use RPO order.  Clear
1795         BB visited flags at start.
1796
1797         2016-08-12  Richard Biener  <rguenther@suse.de>
1798
1799         PR tree-optimization/72851
1800         * tree-ssa-propagate.c: Include cfganal.h.  Rewrite block and stmt
1801         worklists to use bitmaps indexed in execution order.
1802         (executable_blocks, cfg_blocks_num, cfg_blocks_tail, cfg_blocks_head,
1803         bb_in_list, interesting_ssa_edges, varying_ssa_edges): Remove.
1804         (cfg_blocks): Make a bitmap.
1805         (bb_to_cfg_order, cfg_order_to_bb, ssa_edge_worklist, uid_to_stmt):
1806         New globals.
1807         (cfg_blocks_empty_p): Adjust.
1808         (cfg_blocks_add): Likewise.
1809         (cfg_blocks_get): Likewise.
1810         (add_ssa_edge): Likewise.
1811         (add_control_edge): Likewise.
1812         (simulate_stmt): Likewise.
1813         (process_ssa_edge_worklist): Likewise.
1814         (simulate_block): Likewise.
1815         (ssa_prop_init): Compute PRE order and stmt UIDs.
1816         (ssa_prop_fini): Adjust.
1817         (ssa_propagate): Adjust.
1818
1819 2016-08-22  Uros Bizjak  <ubizjak@gmail.com>
1820
1821         Backport from mainline
1822         2016-08-15  Uros Bizjak  <ubizjak@gmail.com>
1823
1824         PR target/72867
1825         * config/i386/sse.md (<code><mode>3<mask_name><round_saeonly_name>):
1826         Emit ieee_<ieee_maxmin><mode>3<mask_name><round_saeonly_name>
1827         for !flag_finite_math_only or flag_signed_zeros.
1828         (*<code><mode>3<mask_name><round_saeonly_name>): Rename from
1829         *<code><mode>3_finite<mask_name><round_saeonly_name>.  Do not
1830         depend on flag_finite_math_only.
1831         (ieee_<ieee_maxmin><mode>3<mask_name><round_saeonly_name>):
1832         New insn pattern.
1833         (*<code><mode>3<mask_name><round_saeonly_name>): Remove.
1834         (*ieee_smin<mode>3): Ditto.
1835         (*ieee_smax<mode>3): Ditto.
1836         * config/i386/mmx.md (mmx_<code>v2sf3): Emit
1837         mmx_ieee_<ieee_maxmin>v2sf3 for !flag_finite_math_only or
1838         flag_signed_zeros.
1839         (*mmx_<code>v2sf3): Rename from *mmx_<code>v2sf3_finite.  Do not
1840         depend on flag_finite_math_only.
1841         (mmx_ieee_<ieee_maxmin>v2sf3): New insn pattern.
1842         (*mmx_<code>v2sf3): Remove.
1843         * config/i386/subst.md (round_saeonly_mask_arg3): New subst attribute.
1844         * config/i386/i386.c (ix86_expand_sse_fp_mimnax): Check
1845         flag_signed_zeros instead of !flag_unsafe_math_optimizations.
1846
1847 2016-08-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1848
1849         Backport from mainline
1850         2016-07-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1851
1852         PR middle-end/71700
1853         * expr.c (store_constructor): Mask sign-extended bits when widening
1854         sub-word constructor element at the start of a word.
1855
1856 2016-08-22  Richard Biener  <rguenther@suse.de>
1857
1858         * BASE-VER: Set to 6.2.1.
1859
1860 2016-08-22  Release Manager
1861
1862         * GCC 6.2.0 released.
1863
1864 2016-08-18  Chung-Lin Tang  <cltang@codesourcery.com>
1865
1866         Backport from mainline
1867         2016-08-18  Chung-Lin Tang  <cltang@codesourcery.com>
1868
1869         PR middle-end/70895
1870         * gimplify.c (omp_add_variable): Adjust/add variable mapping on
1871         enclosing parallel construct for reduction variables on OpenACC loop
1872         directives.
1873
1874 2016-08-18  Oleg Endo  <olegendo@gcc.gnu.org>
1875
1876         Backport from mainline
1877         2016-06-17  DJ Delorie  <dj@redhat.com>
1878
1879         PR target/71338
1880         * config/rl78/rl78-expand.c (umulqihi3): Enable for G10.
1881         * config/rl78/rl78-virtual.c (umulhi3_shift_virt): Likewise.
1882         (umulqihi3_virt): Likewise.
1883         * config/rl78/rl78-real.c (umulhi3_shift_real): Likewise.
1884         (umulqihi3_real): Likewise.
1885
1886 2016-08-16  Eric Botcazou  <ebotcazou@adacore.com>
1887
1888         * doc/install.texi (*-*-solaris2*): Adjust latest change.
1889
1890 2016-08-15  Martin Liska  <mliska@suse.cz>
1891
1892         Backported from mainline
1893         2016-08-15  Martin Liska  <mliska@suse.cz>
1894
1895         PR driver/72765
1896         * gcc.c (do_spec_1): Call save_string with the right size.
1897
1898 2016-08-15  Jakub Jelinek  <jakub@redhat.com>
1899
1900         PR debug/71906
1901         * dwarf2out.c (string_types): New variable.
1902         (gen_array_type_die): Change early_dwarf handling of
1903         DW_AT_string_length, create DW_OP_call4 referencing the
1904         length var temporarily.  Handle parameters that are pointers
1905         to string length.
1906         (adjust_string_types): New function.
1907         (gen_subprogram_die): Temporarily set string_types to local var,
1908         call adjust_string_types if needed.
1909         (non_dwarf_expression, copy_deref_exprloc, optimize_string_length):
1910         New functions.
1911         (resolve_addr): Adjust DW_AT_string_length if it is DW_OP_call4.
1912
1913 2016-08-15  Richard Biener  <rguenther@suse.de>
1914
1915         PR tree-optimization/73434
1916         * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Preserve
1917         TBAA info on the base when forwarding a non-invariant address.
1918
1919 2016-08-15  Eric Botcazou  <ebotcazou@adacore.com>
1920
1921         * doc/install.texi (*-*-solaris2*): Fix version number and document
1922         requirement on GNU make for building libjava with the Solaris linker.
1923
1924 2016-08-15  Martin Liska  <mliska@suse.cz>
1925             Jakub Jelinek  <jakub@redhat.com>
1926
1927         PR tree-optimization/72824
1928         * tree-loop-distribution.c (const_with_all_bytes_same)
1929         <case VECTOR_CST>: Fix a typo.
1930
1931 2016-08-14  Uros Bizjak  <ubizjak@gmail.com>
1932
1933         Backport from mainline
1934         2016-08-14  Uros Bizjak  <ubizjak@gmail.com>
1935
1936         PR target/76342
1937         * config/i386/avx512fintrin.h (_mm512_undefined_epi32):
1938         Renamed from _mm512_undefined_si512.
1939         (_mm_undefined_si512): New definition.
1940
1941         Backport from mainline:
1942         2016-08-09  David Wohlferd  <dw@LimeGreenSocks.com>
1943
1944         * config/i3836/avx512fintrin.h (_mm512_cvtsepi64_epi32): Remove
1945         unused variable __O.
1946
1947         Backport from mainline:
1948         2016-08-09  Uros Bizjak  <ubizjak@gmail.com>
1949
1950         PR target/72843
1951         * config/i386/i386.md (*movtf_internal): Use
1952         lra_in_progress || reload_completed instead of !can_create_pseudo_p
1953         in the insn constraint.
1954         (*movxf_internal): Ditto.
1955         (*movdf_internal): Ditto.
1956         (*movsf_internal): Ditto.
1957
1958 2016-08-12  Jakub Jelinek  <jakub@redhat.com>
1959
1960         PR c/71512
1961         * ubsan.c (instrument_si_overflow): Pass true instead of false
1962         to gsi_replace.
1963         (pass_ubsan::execute): Call gimple_purge_dead_eh_edges at the end
1964         of bbs.  Return TODO_cleanup_cfg if any returned true.
1965
1966 2016-08-12  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1967
1968         Backport from mainline
1969         2016-08-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1970
1971         PR tree-optimization/71083
1972         * tree-predcom.c (ref_at_iteration): Correctly align the
1973         reference type.
1974
1975 2016-08-12  James Greenhalgh  <james.greenhalgh@arm.com
1976
1977         Backport from mainline
1978         2016-08-05  James Greenhalgh  <james.greenhalgh@arm.com>
1979
1980         PR Target/72819
1981         * config/aarch64/aarch64.h (aarch64_fp16_type_node): Declare.
1982         (aarch64_fp16_ptr_type_node): Likewise.
1983         * config/aarch64/aarch64-simd-builtins.c
1984         (aarch64_fp16_ptr_type_node): Define.
1985         (aarch64_init_fp16_types): New, refactored out of...
1986         (aarch64_init_builtins): ...here, update to call
1987         aarch64_init_fp16_types.
1988         * config/aarch64/aarch64.c (aarch64_gimplify_va_arg_expr): Handle
1989         HFmode.
1990         (aapcs_vfp_sub_candidate): Likewise.
1991
1992 2016-08-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
1993
1994         Backport from mainline
1995         2016-08-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
1996
1997         * config/s390/s390-builtin-types.def: Add INT128 types.
1998         * config/s390/s390-builtins.def: Add INT128 variants for the add
1999         sub low-level builtins dealing with TImode.
2000         * config/s390/s390.c (s390_expand_builtin): Allow mode conversions
2001         via subreg when expanding a builtin.
2002         * config/s390/s390.md: Remove UNSPEC_VEC_ADDC_U128,
2003         UNSPEC_VEC_SUB_U128, and UNSPEC_VEC_SUBC_U128 constants.
2004         Fix comment.
2005         * config/s390/vecintrin.h: Adjust builtin names accordingly.
2006         * config/s390/vx-builtins.md ("vec_add_u128"): Remove expander.
2007         ("vec_addc<mode>", "vec_addc_u128"): Merge to
2008         "vacc<bhfgq>_<mode>".
2009         ("vec_adde_u128"): Rename to "vacq". Change mode to TImode.
2010         ("vec_addec_u128"): Rename to "vacccq". Change mode to TImode.
2011         ("vec_subc<mode>", "vec_subc_u128"): Merge to
2012         "vscbi<bhfgq>_<mode>".
2013         ("vec_sube_u128"): Rename to "vsbiq". Change mode to TImode.
2014         ("vec_subec_u128"): Rename to "vsbcbiq". Change mode to TImode.
2015
2016 2016-08-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2017
2018         Backport from mainline
2019         2016-08-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2020
2021         * config/s390/s390-builtins.def: Mark last operand of s390_vlvg*
2022         and s390_vlgv* builtins as element selector.
2023
2024 2016-08-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2025
2026         Backport from mainline
2027         2016-07-06  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2028
2029         * config/s390/s390.c (s390_expand_vec_init): Force initializer
2030         element to register if it doesn't match general_operand.
2031
2032 2016-08-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2033
2034         Backport from mainline
2035         2016-06-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2036
2037         * config/s390/vecintrin.h: Fix file description in comment.
2038
2039 2016-08-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2040
2041         Backport from mainline
2042         2016-06-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2043
2044         * config/s390/s390-builtin-types.def: Change builtin type naming
2045         scheme to match builtin-types.def.
2046
2047 2016-08-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
2048
2049         Backport from mainline
2050         2016-08-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
2051
2052         PR target/72853
2053         * config/rs6000/rs6000.c (mem_operand_ds_form): Add check for op
2054         being an offsettable address.
2055
2056 2016-08-10  Jakub Jelinek  <jakub@redhat.com>
2057
2058         Backported from mainline
2059         2016-08-09  Jakub Jelinek  <jakub@redhat.com>
2060
2061         PR tree-optimization/72824
2062         * tree-loop-distribution.c (const_with_all_bytes_same): Verify
2063         real_zerop is not negative.
2064
2065 2016-08-09  Martin Jambor  <mjambor@suse.cz>
2066
2067         PR ipa/71981
2068         * ipa-polymorphic-call.c (get_dynamic_type): Bail out gracefully
2069         if instance is a MEM_REF.
2070
2071 2016-08-09  Richard Biener  <rguenther@suse.de>
2072
2073         Backport from mainline
2074         2016-08-09  Richard Biener  <rguenther@suse.de>
2075
2076         PR ipa/68273
2077         * ipa-prop.c (ipa_modify_formal_parameters): Build
2078         parameter types with natural alignment also for the
2079         over-aligned case.
2080
2081         2016-07-15  Richard Biener  <rguenther@suse.de>
2082
2083         PR tree-optimization/71881
2084         * tree-loop-distribution.c (destroy_loop): Remove blocks in
2085         reverse DOM order to make debug temp generation happy.
2086
2087 2016-08-09  Alan Modra  <amodra@gmail.com>
2088
2089         PR target/72802
2090         * config/rs6000/rs6000.md (mov<mode>_hardfloat): Sort
2091         alternatives.  Put loads first, then stores, and reg/reg moves
2092         within same class later.  Delete attr length.
2093
2094 2016-08-09  Alan Modra  <amodra@gmail.com>
2095
2096         PR target/72802
2097         * config/rs6000/rs6000.c (mem_operand_gpr): Remove vsx dform test.
2098         (mem_operand_ds_form): New predicate.
2099         * config/rs6000/rs6000-protos.h (mem_operand_ds_form): Declare.
2100         * config/rs6000/constraints.md (wY): New constraint.
2101         * config/rs6000/rs6000.md (f32_lm2, f32_sm2): Use wY for SF.
2102         (extendsfdf2_fpr): Replace o constraint with wY.
2103
2104 2016-08-08  Georg-Johann Lay  <avr@gjlay.de>
2105
2106         Backport from 2016-07-29 trunk r238863.
2107
2108         PR rtl-optimization/71976
2109         * combine.c (get_last_value): Return 0 if the argument for which
2110         the function is called has a wider mode than the recorded value.
2111
2112 2016-08-04  Michael Meissner  <meissner@linux.vnet.ibm.com>
2113
2114         Backport from trunk
2115         2016-07-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
2116
2117         PR target/71869
2118         * config/rs6000/rs6000.c (rs6000_generate_compare): Rework
2119         __float128 support when we don't have hardware support, so that
2120         the IEEE built-in functions like isgreater, first call __unordkf3
2121         to make sure neither operand is a NaN, and if both operands are
2122         ordered, do the normal comparison.
2123
2124 2016-08-04  Uros Bizjak  <ubizjak@gmail.com>
2125
2126         PR target/72805
2127         * config/i386/avx512fintrin.h (_mm512_cmp_epi32_mask) [!__OPTIMIZE__]:
2128         Cast builtin function result to __mmask16 instead of __mmask8.
2129         (_mm512_cmp_epu32_mask) [!__OPTIMIZE__]: Ditto.
2130         (_mm512_mask_cmp_epi32_mask) [!__OPTIMIZE__]: Ditto.
2131         (_mm512_mask_cmp_epu32_mask) [!__OPTIMIZE__]: Ditto.
2132
2133 2016-08-03  Georg-Johann Lay  <avr@gjlay.de>
2134
2135         PR 70677
2136         * common/config/avr/avr-common.c (avr_option_optimization_table)
2137         [OPT_LEVELS_ALL]: Turn off -fcaller-saves.
2138
2139 2016-08-01  Georg-Johann Lay  <avr@gjlay.de>
2140
2141         Backport from 2016-08-01 trunk r238948.
2142
2143         PR target/72767
2144         * config/avr/avr.md (length) [branch]: Correct insn length
2145         attribute for forward branches.
2146
2147 2016-08-01  Georg-Johann Lay  <avr@gjlay.de>
2148
2149         Backport from 2016-06-16 trunk r237536.
2150         2016-06-16  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
2151
2152         PR target/71151
2153         * config/avr/avr.c (avr_asm_init_sections): Remove setup of
2154         progmem_swtable_section.
2155         (progmem_swtable_section): Remove.
2156         (avr_asm_function_rodata_section): Remove.
2157         (TARGET_ASM_FUNCTION_RODATA_SECTION): Remove.
2158         * config/avr/avr.h (JUMP_TABLES_IN_TEXT_SECTION): Define to 1.
2159
2160 2016-07-29  Marek Polacek  <polacek@redhat.com>
2161
2162         Backport from mainline
2163         2016-07-29  Marek Polacek  <polacek@redhat.com>
2164
2165         PR c/7652
2166         * config/rs6000/rs6000.c (altivec_expand_ld_builtin): Add break.
2167         (altivec_expand_st_builtin): Likewise.
2168         * config/i386/i386.c (ix86_expand_args_builtin): Likewise.
2169         (ix86_expand_round_builtin): Likewise.
2170
2171 2016-07-27  Segher Boessenkool  <segher@kernel.crashing.org>
2172
2173         PR target/71216
2174         * config/rs6000/rs6000.c (rs6000_file_start): Fix condition for
2175         when to emit a ".machine" pseudo-op.
2176
2177 2016-07-26  Alan Modra  <amodra@gmail.com>
2178
2179         PR target/72103
2180         * config/rs6000/rs6000.c (rs6000_secondary_reload): Initialize
2181         sri->t_icode.
2182
2183 2016-07-21  Jakub Jelinek  <jakub@redhat.com>
2184
2185         PR sanitizer/71953
2186         * asan.c (asan_dynamic_init_call): Call asan_init_shadow_ptr_types
2187         before builtin_decl_implicit.
2188
2189         * tree-object-size.c (unknown): Use HOST_WIDE_INT_M1U instead of -1.
2190
2191 2016-07-21  Andrew Sutton  <andrew.n.sutton@gmail.com>
2192
2193         Improving concepts performance and diagnostics.
2194         * timevar.def (TV_CONSTRAINT_SAT, TV_CONSTRAINT_SUB): New time vars
2195         for constraint satisfaction and subsumption.
2196         * timevar.h (auto_timevar): New constructor that matches the push/pop
2197         pattern of usage in pt.c.
2198
2199 2016-07-20  John David Anglin  <danglin@gcc.gnu.org>
2200
2201         Backport from mainline
2202         2016-07-16  John David Anglin  <danglin@gcc.gnu.org>
2203
2204         * config/pa/pa.c (hppa_profile_hook): Allocate stack space for
2205         register parameters.  Remove code to initialize argument pointer
2206         on TARGET_64BIT.  Optimize call to _mcount when it can be reached
2207         using a pc-relative branch.  Cleanup conditional code.
2208         * config/pa/pa.md (call_mcount): New expander.
2209         (call_mcount_nonpic): New insn.
2210         (call_mcount_pic): New insn and split.
2211         (call_mcount_pic_post_reload): New insn.
2212         (call_mcount_64bit): New insn and split.
2213         (call_mcount_64bit_post_reload): New insn.
2214
2215 2016-07-20  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2216
2217         Backport from mainline
2218         2016-07-20  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2219
2220         * config/s390/s390.c (s390_encode_section_info): Remove mode size
2221         check.
2222
2223 2016-07-20  Martin Jambor  <mjambor@suse.cz>
2224
2225         PR fortran/71688
2226         * trans-decl.c (gfc_generate_function_code): Use get_create rather
2227         than create to get a call graph node.
2228
2229 2016-07-19  Jakub Jelinek  <jakub@redhat.com>
2230
2231         PR rtl-optimization/71916
2232         * cfgrtl.c (contains_no_active_insn_p): Return false also for
2233         bb which have a single succ fake edge.
2234
2235 2016-07-19  Aldy Hernandez  <aldyh@redhat.com>
2236
2237         PR debug/71855
2238         * dwarf2out.c (gen_subprogram_die): Only call
2239         gen_unspecified_parameters_die while dumping early dwarf.
2240
2241 2016-07-19  Jakub Jelinek  <jakub@redhat.com>
2242
2243         PR middle-end/71874
2244         * gimple-fold.c (fold_builtin_memory_op): Use
2245         get_addr_base_and_unit_offset instead of get_ref_base_and_extent.
2246
2247 2016-07-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
2248
2249         Back port from mainline
2250         2016-07-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
2251
2252         PR target/71493
2253         * config/rs6000/rs6000.c (rs6000_function_value): Fix
2254         unintentional System V.4 structure return breakage for structures
2255         with a single floating point element.
2256
2257 2016-07-18  Martin Liska  <mliska@suse.cz>
2258
2259         Backported from mainline
2260         2016-07-12  Martin Liska  <mliska@suse.cz>
2261
2262         PR rtl-optimization/71634
2263         * ira-build.c (mark_loops_for_removal): Properly iterate
2264         loops.
2265
2266 2016-07-18  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2267
2268         Backport from mainline
2269         2016-07-18  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2270
2271         * config/s390/s390.c (s390_encode_section_info): Always set
2272         notaligned marker if mode size is 0 or no MEM_ALIGN info could be
2273         found.
2274
2275 2016-07-15  Alan Modra  <amodra@gmail.com>
2276
2277         Apply from mainline
2278         2016-07-11  Alan Modra  <amodra@gmail.com>
2279         * config/rs6000/rs6000.md (UNSPEC_DOLOOP): New unspec.
2280         (ctr<mode>): Add unspec.
2281         (ctr<mode>_internal*): Likewise.
2282
2283 2016-07-14  Alan Modra  <amodra@gmail.com>
2284
2285         PR target/71733
2286         * config/rs6000/rs6000.c (rs6000_option_override_internal): Deal
2287         with p9_vector override before power9-dform override.
2288
2289 2016-07-13  Ilya Enkovich  <ilya.enkovich@intel.com>
2290
2291         Backport from mainline r238086.
2292         2016-07-07  Ilya Enkovich  <ilya.enkovich@intel.com>
2293
2294         PR ipa/71624
2295         * ipa-inline-analysis.c (compute_inline_parameters): Set
2296         local.can_change_signature to false for intrumentation
2297         thunk callees.
2298
2299 2016-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
2300             Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2301
2302         Backport from mainline
2303         2016-07-05  Michael Meissner  <meissner@linux.vnet.ibm.com>
2304                     Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2305
2306         * config/rs6000/rs6000-protos.h (rs6000_split_signbit): New
2307         prototype.
2308         * config/rs6000/rs6000.c (rs6000_split_signbit): New function.
2309         * config/rs6000/rs6000.md (UNSPEC_SIGNBIT): New constant.
2310         (SIGNBIT): New mode iterator.
2311         (Fsignbit): New mode attribute.
2312         (signbit<mode>2): Change operand1 to match FLOAT128 instead of
2313         IBM128; dispatch to gen_signbit{kf,tf}2_dm for __float128
2314         when direct moves are available.
2315         (signbit<mode>2_dm): New define_insn_and_split).
2316         (signbit<mode>2_dm2): New define_insn.
2317
2318 2016-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
2319
2320         Backport from mainline
2321         2016-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
2322
2323         PR target/71805
2324         * config/rs6000/altivec.md (altivec_vperm_<mode>_internal):
2325         The xxperm and xxpermr instructions require that the 2nd input
2326         operand overlap with the output operand, and not the 1st.
2327         (altivec_vperm_v8hiv16qi): Likewise.
2328         (altivec_vperm_<mode>_uns_internal): Likewise.
2329         (altivec_vpermr_<mode>_internal): Likewise.
2330         (vperm_v8hiv4si): Likewise.
2331         (vperm_v16qiv8hi): Likewise.
2332
2333 2016-07-12  Segher Boessenkool  <segher@kernel.crashing.org>
2334
2335         Backport from mainline
2336         2016-07-06  Segher Boessenkool  <segher@kernel.crashing.org>
2337
2338         PR target/70098
2339         PR target/71763
2340         * config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2,
2341         *ctr<mode>_internal5, *ctr<mode>_internal6): Add *wi to the output
2342         constraint.
2343
2344 2016-07-11  Jakub Jelinek  <jakub@redhat.com>
2345
2346         PR middle-end/71758
2347         * omp-low.c (expand_omp_target): Gimplify device.
2348
2349         PR tree-optimization/71823
2350         * tree-vect-stmts.c (vectorizable_operation): Use vect_get_vec_defs
2351         to get vec_oprnds2 from op2.
2352
2353 2016-07-11  Yuri Rumyantsev  <ysrumyan@gmail.com>
2354
2355         Backport from mainline r238055.
2356         2016-07-06  Yuri Rumyantsev  <ysrumyan@gmail.com>
2357
2358         PR tree-optimization/71518
2359         * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Adjust
2360         misalign also for outer loops with negative step.
2361
2362 2016-07-08  Martin Liska  <mliska@suse.cz>
2363
2364         Backported from mainline
2365         2016-07-08  Martin Liska  <mliska@suse.cz>
2366
2367         PR middle-end/71606
2368         * fold-const.c (fold_convertible_p): As COMPLEX_TYPE
2369         folding produces SAVE_EXPRs, thus return false for the type.
2370
2371 2016-07-08  Kelvin Nilsen  <kelvin@gcc.gnu.org>
2372
2373         * config/rs6000/rs6000-builtin.def (BU_P9_MISC_1): Remove
2374         redundant and erroneous definition of this macro accidentally
2375         inserted during backporting.
2376         (BU_P9_64BIT_MISC_0): Likewise.
2377         (BU_P9_MISC_0): Likewise.
2378
2379 2016-07-08  Jiong Wang  <jiong.wang@arm.com>
2380
2381         Back port from the trunk
2382         2016-07-08  Jiong Wang  <jiong.wang@arm.com>
2383
2384         * config/aarch64/aarch64-simd-builtins.def (smax): Remove float
2385         variants.
2386         (smin): Likewise.
2387         (fmax): New entry.
2388         (fmin): Likewise.
2389         * config/aarch64/arm_neon.h (vmaxnm_f32): Use
2390         __builtin_aarch64_fmaxv2sf.
2391         (vmaxnmq_f32): Likewise.
2392         (vmaxnmq_f64): Likewise.
2393         (vminnm_f32): Likewise.
2394         (vminnmq_f32): Likewise.
2395         (vminnmq_f64): Likewise.
2396
2397 2016-07-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
2398
2399         Back port from trunk
2400         2016-07-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
2401
2402         PR target/71806
2403         * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Do not
2404         enable -mfloat128-hardware by default.
2405         (ISA_3_0_MASKS_IEEE): New macro to give all of the VSX options
2406         that IEEE 128-bit hardware support needs.
2407         * config/rs6000/rs6000.c (rs6000_option_override_internal): If
2408         -mcpu=power9 -mfloat128, enable -mfloat128-hardware by default.
2409         Use ISA_3_0_MASKS_IEEE as the set of options that IEEE 128-bit
2410         floating point requires.
2411         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
2412         -mfloat128 and -mfloat128-hardware changes.
2413
2414 2016-07-08  Kelvin Nilsen  <kelvin@gcc.gnu.org>
2415
2416         Backport from mainline r237912
2417         2016-07-01  Kelvin Nilsen  <kelvin@gcc.gnu.org>
2418
2419         * config/rs6000/altivec.md (*altivec_vpermr_<mode>_internal):
2420         Exchange the order of the second and third operands in the vpermr
2421         instruction tmeplate.
2422
2423 2016-07-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
2424
2425         Back port from the trunk
2426         2016-07-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
2427
2428         PR target/71720
2429         * config/rs6000/vsx.md (vsx_splat_v4sf_internal): When splitting
2430         the insns, use an insn form that does not adjust the offset on
2431         little endian systems.
2432
2433 2016-07-07  Kelvin Nilsen  <kelvin@gcc.gnu.org>
2434
2435         Backport from mainline r237885
2436         2016-06-30  Kelvin Nilsen  <kelvin@gcc.gnu.org>
2437
2438         * config/rs6000/altivec.md (darn_32): Change the condition to
2439         TARGET_P9_MISC instead of TARGET_MODULO.
2440         (darn_raw): Replace TARGET_MODULO with TARGET_P9_MISC in the
2441         condition expression.
2442         (darn): Replace TARGET_MODULO with TARGET_P9_MISC in the
2443         condition expression.
2444         * config/rs6000/dfp.md (UNSPEC_DTSTSFI): New unspec constant.
2445         (DFP_TEST): New code iterator.
2446         (dfptstsfi_<code>_mode>): New define_expand.
2447         (*dfp_sgnfcnc_<mode>): New define_insn.
2448         * config/rs6000/rs6000-builtin.def (BU_P9_MISC_0): Move this macro
2449         definition next to BU_P9_MISC_1 definition and change the MASK
2450         value to RS6000_BTM_P9_MISC.
2451         (BU_P9_MISC_1): Change the MASK value to RS6000_BTM_P9_MISC.
2452         (BU_P9_64BIT_MISC_0): Likewise.
2453         (BU_P9_DFP_MISC_0): New macro definition.
2454         (BU_P9_DFP_MISC_1): New macro definition.
2455         (BU_P9_DFP_MISC_2): New macro definition.
2456         (BU_P9_DFP_OVERLOAD_1): New macro definition.
2457         (BU_P9_DFP_OVERLOAD_2): New macro definition.
2458         (BU_P9_DFP_OVERLOAD_3): New macro definition.
2459         (TSTSFI_LT_DD): New BU_P9_DFP_MISC_2.
2460         (TSTSFI_LT_TD): Likewise.
2461         (TSTSFI_EQ_DD): Likewise.
2462         (TSTSFI_EQ_TD): Likewise.
2463         (TSTSFI_GT_DD): Likewise.
2464         (TSTSFI_GT_TD): Likewise.
2465         (TSTSFI_OV_DD): Likewise.
2466         (TSTSFI_OV_TD): Likewise.
2467         (TSTSFI_LT): New BU_P9_DFP_OVERLOAD_2.
2468         (TSTSFI_LT_DD): Likewise.
2469         (TSTSFI_LT_TD): Likewise.
2470         (TSTSFI_EQ): Likewise.
2471         (TSTSFI_EQ_DD): Likewise.
2472         (TSTSFI_EQ_TD): Likewise.
2473         (TSTSFI_GT): Likewise.
2474         (TSTSFI_GT_DD): Likewise.
2475         (TSTSFI_GT_TD): Likewise.
2476         (TSTSFI_OV): Likewise.
2477         (TSTSFI_OV_DD): Likewise.
2478         (TSTSFI_OV_TD): Likewise.
2479         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
2480         overloaded test significance functions.
2481         * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
2482         OPTION_MASK_P9_MISC into the representation of this mask.
2483         (POWERPC_MASKS): Add OPTION_MASK_P9_MISC into the representation
2484         of this mask.
2485         * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Set the
2486         RS6000_BTM_P9_MISC flag in the return value if TARGET_P9_MISC is
2487         non-zero.
2488         (rs6000_expand_binop_builtin): Enforce that argument 0 of the exp
2489         argument is a 6-bit unsigned literal value if the icode argument
2490         represents a DFP test significance built-in call.
2491         (rs6000_invalid_builtin): Add support for the RS6000_BTM_P9_MISC
2492         flag used independently and in combination with the
2493         RS6000_BTM_64BIT flag.
2494         (rs6000_opt_masks): Add entry for power9-misc command-line option.
2495         (rs6000_builtin_mask_names): Add entry for power9-misc
2496         command-line option.
2497         * config/rs6000/rs6000.h: Redefine TARGET_P9_MISC as 0 if
2498         HAVE_AS_POWER9 is not a defined macro.  Define MASK_P9_MISC and
2499         RS6000_BTM_P9_MISC macros.
2500         * config/rs6000/rs6000.opt: Add support for the -mpower9-misc
2501         option and change the description of the -mpower9-vector option to
2502         enable only vector instructions, removing its erroneously claimed
2503         support for scalar instructions.
2504         * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
2505         the ISA 3.0 digital floating point test significance built-in
2506         functions.
2507
2508 2016-07-07  Richard Biener  <rguenther@suse.de>
2509
2510         Backport from mainline
2511         2016-06-13  Richard Biener  <rguenther@suse.de>
2512
2513         PR middle-end/64516
2514         * fold-const.c (fold_unary_loc): Preserve alignment when
2515         folding a VIEW_CONVERT_EXPR into a MEM_REF.
2516
2517 2016-07-07  Richard Biener  <rguenther@suse.de>
2518
2519         Backport from mainline
2520         2016-05-25  Richard Biener  <rguenther@suse.de>
2521
2522         PR tree-optimization/71264
2523         * tree-vect-stmts.c (vect_init_vector): Properly deal with
2524         vector type val.
2525
2526         2016-06-07  Richard Biener  <rguenther@suse.de>
2527
2528         PR middle-end/71423
2529         * match.pd ((X | ~Y) -> Y <= X): Properly invert the comparison
2530         for signed ops.
2531
2532         2016-06-14  Richard Biener  <rguenther@suse.de>
2533
2534         PR tree-optimization/71521
2535         * tree-vrp.c (extract_range_from_binary_expr_1): Guard
2536         division int_const_binop against zero divisor.
2537
2538         2016-06-08  Richard Biener  <rguenther@suse.de>
2539
2540         PR tree-optimization/71452
2541         * tree-ssa.c (non_rewritable_lvalue_p): Make sure that the
2542         type used for the SSA rewrite has enough precision to cover
2543         the dynamic type of the location.
2544
2545         2016-06-14  Richard Biener  <rguenther@suse.de>
2546
2547         PR tree-optimization/71522
2548         * tree-ssa.c (non_rewritable_lvalue_p): Do not rewrite non-float
2549         copying into float copying.
2550
2551 2016-07-06  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
2552
2553         Backport from mainline
2554         2016-07-06  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
2555
2556         PR target/50739
2557         * config/avr/avr.c (avr_asm_select_section): Strip off
2558         SECTION_DECLARED from flags when calling get_section.
2559
2560 2016-07-05  Pat Haugen  <pthaugen@us.ibm.com>
2561
2562         Backport from mainline
2563         2016-06-28  Pat Haugen  <pthaugen@us.ibm.com>
2564
2565         * config/rs6000/rs6000.md ('type' attribute): Add htmsimple/dfp types.
2566         ('size' attribute): Add '128'.
2567         Include power9.md.
2568         (*mov<mode>_hardfloat32, *mov<mode>_hardfloat64, *movdi_internal32,
2569         *movdi_internal64, *movdf_update1): Set size attribute to '64'.
2570         (add<mode>3, sub<mode>3, mul<mode>3, div<mode>3, sqrt<mode>2,
2571         copysign<mode>3, neg<mode>2_hw, abs<mode>2_hw, *nabs<mode>2_hw,
2572         *fma<mode>4_hw, *fms<mode>4_hw, *nfma<mode>4_hw, *nfms<mode>4_hw,
2573         extend<SFDF:mode><IEEE128:mode>2_hw, trunc<mode>df2_hw,
2574         *xscvqp<su>wz_<mode>, *xscvqp<su>dz_<mode>, *xscv<su>dqp_<mode>,
2575         *trunc<mode>df2_odd): Set size attribute to '128'.
2576         (*cmp<mode>_hw): Change type to veccmp and set size attribute to '128'.
2577         * config/rs6000/power6.md (power6-fp): Include dfp type.
2578         * config/rs6000/power7.md (power7-fp): Likewise.
2579         * config/rs6000/power8.md (power8-fp): Likewise.
2580         * config/rs6000/power9.md: New file.
2581         * config/rs6000/t-rs6000 (MD_INCLUDES): Add power9.md.
2582         * config/rs6000/htm.md (*tabort, *tabort<wd>c, *tabort<wd>ci,
2583         *trechkpt, *treclaim, *tsr, *ttest): Change type attribute to
2584         htmsimple.
2585         * config/rs6000/dfp.md (extendsddd2, truncddsd2, extendddtd2,
2586         trunctddd2, adddd3, addtd3, subdd3, subtd3, muldd3, multd3, divdd3,
2587         divtd3, *cmpdd_internal1, *cmptd_internal1, floatdidd2, floatditd2,
2588         ftruncdd2, fixdddi2, ftrunctd2, fixtddi2, dfp_ddedpd_<mode>,
2589         dfp_denbcd_<mode>, dfp_dxex_<mode>, dfp_diex_<mode>, dfp_dscli_<mode>,
2590         dfp_dscri_<mode>): Change type attribute to dfp.
2591         * config/rs6000/crypto.md (crypto_vshasigma<CR_char>): Change type
2592         attribute to vecsimple.
2593         * config/rs6000/rs6000.c (power9_cost): Update costs, cache size
2594         and prefetch streams.
2595         (rs6000_option_override_internal): Remove temporary code setting
2596         tuning to power8.  Don't set rs6000_sched_groups for power9.
2597         (last_scheduled_insn): Change to rtx_insn *.
2598         (divide_cnt, vec_load_pendulum): New variables.
2599         (rs6000_adjust_cost): Add Power9 to test for store->load separation.
2600         (rs6000_issue_rate): Set issue rate for Power9.
2601         (is_power9_pairable_vec_type): New.
2602         (power9_sched_reorder2): New.
2603         (rs6000_sched_reorder2): Call new function for Power9 specific
2604         reordering.
2605         (insn_must_be_first_in_group): Remove Power9.
2606         (insn_must_be_last_in_group): Likewise.
2607         (force_new_group): Likewise.
2608         (rs6000_sched_init): Fix initialization of last_scheduled_insn.
2609         Initialize divide_cnt/vec_load_pendulum.
2610         (_rs6000_sched_context, rs6000_init_sched_context,
2611         rs6000_set_sched_context): Handle context save/restore of new
2612         variables.
2613
2614 2016-07-05  Pat Haugen  <pthaugen@us.ibm.com>
2615
2616         Backport from mainline
2617         2016-06-27  Pat Haugen  <pthaugen@us.ibm.com>
2618
2619         * config/rs6000/rs6000.md ('type' attribute): Add
2620         veclogical,veccmpfx,vecexts,vecmove insn types.
2621         (*abs<mode>2_fpr, *nabs<mode>2_fpr, *neg<mode>2_fpr, *extendsfdf2_fpr,
2622         copysign<mode>3_fcpsgn, trunc<mode>df2_internal1, neg<mode>2_internal,
2623         p8_fmrgow_<mode>, pack<mode>): Change type to fpsimple.
2624         (*xxsel<mode>, copysign<mode>3_hard, neg<mode>2_hw, abs<mode>2_hw,
2625         *nabs<mode>2_hw): Change type to vecmove.
2626         (*and<mode>3_internal, *bool<mode>3_internal, *boolc<mode>3_internal,
2627         *boolcc<mode>3_internal, *eqv<mode>3_internal,
2628         *one_cmpl<mode>3_internal, *ieee_128bit_vsx_neg<mode>2_internal,
2629         *ieee_128bit_vsx_abs<mode>2_internal,
2630         *ieee_128bit_vsx_nabs<mode>2_internal, extendkftf2, trunctfkf2,
2631         *ieee128_mfvsrd_64bit, *ieee128_mfvsrd_32bit, *ieee128_mtvsrd_64bit,
2632         *ieee128_mtvsrd_32bit): Change type to veclogical.
2633         (mov<mode>_hardfloat, *mov<mode>_hardfloat32, *mov<mode>_hardfloat64,
2634         *movdi_internal32, *movdi_internal64): Update insn types.
2635         * config/rs6000/vsx.md (*vsx_le_undo_permute_<mode>,
2636         vsx_extract_<mode>): Change type to veclogical.
2637         (*vsx_xxsel<mode>, *vsx_xxsel<mode>_uns): Change type to vecmove.
2638         (vsx_sign_extend_qi_<mode>, *vsx_sign_extend_hi_<mode>,
2639         *vsx_sign_extend_si_v2di): Change type to vecexts.
2640         * config/rs6000/altivec.md (*altivec_mov<mode>, *altivec_movti): Change
2641         type to veclogical.
2642         (*altivec_eq<mode>, *altivec_gt<mode>, *altivec_gtu<mode>,
2643         *altivec_vcmpequ<VI_char>_p, *altivec_vcmpgts<VI_char>_p,
2644         *altivec_vcmpgtu<VI_char>_p): Change type to veccmpfx.
2645         (*altivec_vsel<mode>, *altivec_vsel<mode>_uns): Change type to vecmove.
2646         * config/rs6000/dfp.md (*negdd2_fpr, *absdd2_fpr, *nabsdd2_fpr,
2647         negtd2, *abstd2_fpr, *nabstd2_fpr): Change type to fpsimple.
2648         * config/rs6000/40x.md (ppc405-float): Add fpsimple.
2649         * config/rs6000/440.md (ppc440-fp): Add fpsimple.
2650         * config/rs6000/476.md (ppc476-fp): Add fpsimple.
2651         * config/rs6000/601.md (ppc601-fp): Add fpsimple.
2652         * config/rs6000/603.md (ppc603-fp): Add fpsimple.
2653         * config/rs6000/6xx.md (ppc604-fp): Add fpsimple.
2654         * config/rs6000/7xx.md (ppc750-fp): Add fpsimple.
2655         (ppc7400-vecsimple): Add veclogical, vecmove, veccmpfx.
2656         * config/rs6000/7450.md (ppc7450-fp): Add fpsimple.
2657         (ppc7450-vecsimple): Add veclogical, vecmove.
2658         (ppc7450-veccmp): Add veccmpfx.
2659         * config/rs6000/8540.md (ppc8540_simple_vector): Add veclogical,
2660         vecmove.
2661         (ppc8540_vector_compare): Add veccmpfx.
2662         * config/rs6000/a2.md (ppca2-fp): Add fpsimple.
2663         * config/rs6000/cell.md (cell-fp): Add fpsimple.
2664         (cell-vecsimple): Add veclogical, vecmove.
2665         (cell-veccmp): Add veccmpfx.
2666         * config/rs6000/e300c2c3.md (ppce300c3_fp): Add fpsimple.
2667         * config/rs6000/e6500.md (e6500_vecsimple): Add veclogical, vecmove,
2668         veccmpfx.
2669         * config/rs6000/mpc.md (mpccore-fp): Add fpsimple.
2670         * config/rs6000/power4.md (power4-fp): Add fpsimple.
2671         (power4-vecsimple): Add veclogical, vecmove.
2672         (power4-veccmp): Add veccmpfx.
2673         * config/rs6000/power5.md (power5-fp): Add fpsimple.
2674         * config/rs6000/power6.md (power6-fp): Add fpsimple.
2675         (power6-vecsimple): Add veclogical, vecmove.
2676         (power6-veccmp): Add veccmpfx.
2677         * config/rs6000/power7.md (power7-fp): Add fpsimple.
2678         (power7-vecsimple): Add veclogical, vecmove, veccmpfx.
2679         * config/rs6000/power8.md (power8-fp): Add fpsimple.
2680         (power8-vecsimple): Add veclogical, vecmove, veccmpfx.
2681         * config/rs6000/rs64.md (rs64a-fp): Add fpsimple.
2682         * config/rs6000/titan.md (titan_fp): Add fpsimple.
2683         * config/rs6000/xfpu.md (fp-default, fp-addsub-s, fp-addsub-d): Add
2684         fpsimple.
2685         * config/rs6000/rs6000.c (rs6000_adjust_cost): Add TYPE_FPSIMPLE.
2686
2687 2016-07-05  Kelvin Nilsen  <kelvin@gcc.gnu.org>
2688
2689         Backport from mainline r237391
2690         2016-06-13  Kelvin Nilsen  <kelvin@gcc.gnu.org>
2691
2692         * config/rs6000/rs6000.h (RS6000_BTM_COMMON): Add the
2693         RS6000_BTM_MODULO flag into the set of flags that are considered
2694         to be part of the common configuration.
2695
2696 2016-07-04  Jakub Jelinek  <jakub@redhat.com>
2697
2698         PR c++/71739
2699         * tree.c (attribute_value_equal): Use get_attribute_name instead of
2700         directly using TREE_PURPOSE.
2701
2702 2016-07-04  Segher Boessenkool  <segher@kernel.crashing.org>
2703
2704         Backport from mainline
2705         2016-06-27  Segher Boessenkool  <segher@kernel.crashing.org>
2706
2707         PR target/71670
2708         * config/rs6000/rs6000.md (ashdi3_extswsli_dot): Use
2709         gen_ashdi3_extswsli_dot2 instead of gen_ashdi3_extswsli_dot.
2710
2711 2016-07-02  Jakub Jelinek  <jakub@redhat.com>
2712
2713         Backported from mainline
2714         2016-06-28  Jakub Jelinek  <jakub@redhat.com>
2715
2716         PR middle-end/71626
2717         * config/i386/i386.c (ix86_expand_vector_move): For SUBREG of
2718         a constant, force its SUBREG_REG into memory or register instead
2719         of whole op1.
2720
2721         2016-06-20  Jakub Jelinek  <jakub@redhat.com>
2722
2723         PR target/71559
2724         * config/i386/i386.c (ix86_fp_cmp_code_to_pcmp_immediate): Fix up
2725         returned values and add UN*/LTGT/*ORDERED cases with values matching
2726         D operand modifier on vcmp for AVX.
2727
2728 2016-07-01  Kelvin Nilsen  <kelvin@gcc.gnu.org>
2729
2730         Backport from trunk r237659
2731         2016-06-21  Kelvin Nilsen  <kelvin@gcc.gnu.org>
2732
2733         * config/rs6000/rs6000.h: Add conditional preprocessing directives
2734         to disable Power9-specific compiler features if HAVE_AS_POWER9 is
2735         not defined.
2736
2737 2016-07-01  Peter Bergner  <bergner@vnet.ibm.com>
2738
2739         Backport from trunk
2740         2016-06-27  Peter Bergner  <bergner@vnet.ibm.com>
2741
2742         PR target/71656
2743         * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
2744         OPTION_MASK_P9_DFORM_VECTOR.
2745         * config/rs6000/rs6000.c (rs6000_option_override_internal): Do not
2746         disable -mpower9-dform-vector when using reload.
2747         (quad_address_p): Remove 'gpr_p' argument and all associated code.
2748         New 'strict' argument.  Update all callers.  Add strict addressing
2749         support.
2750         (rs6000_legitimate_offset_address_p): Remove call to
2751         virtual_stack_registers_memory_p.
2752         (rs6000_legitimize_reload_address): Add quad address support.
2753         (rs6000_legitimate_address_p): Move call to quad_address_p above
2754         call to virtual_stack_registers_memory_p.  Adjust quad_address_p args
2755         to account for new strict usage.
2756         (rs6000_output_move_128bit): Adjust quad_address_p args to account
2757         for new strict usage.
2758         * config/rs6000/predicates.md (quad_memory_operand): Likewise.
2759
2760 2016-07-01  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2761
2762         Backport from mainline
2763         2016-06-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2764
2765         * config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): New #define.
2766         (BU_FLOAT128_1): Likewise.
2767         (FABSQ): Likewise.
2768         (COPYSIGNQ): Likewise.
2769         (RS6000_BUILTIN_NANQ): Likewise.
2770         (RS6000_BUILTIN_NANSQ): Likewise.
2771         (RS6000_BUILTIN_INFQ): Likewise.
2772         (RS6000_BUILTIN_HUGE_VALQ): Likewise.
2773         * config/rs6000/rs6000.c (rs6000_fold_builtin): New prototype.
2774         (TARGET_FOLD_BUILTIN): New #define.
2775         (rs6000_builtin_mask_calculate): Add TARGET_FLOAT128 entry.
2776         (rs6000_invalid_builtin): Add handling for RS6000_BTM_FLOAT128.
2777         (rs6000_fold_builtin): New target hook implementation, handling
2778         folding of 128-bit NaNs and infinities.
2779         (rs6000_init_builtins): Initialize const_str_type_node; ensure all
2780         entries are filled in to avoid problems during bootstrap
2781         self-test; define builtins for 128-bit NaNs and infinities.
2782         (rs6000_opt_mask): Add entry for float128.
2783         * config/rs6000/rs6000.h (RS6000_BTM_FLOAT128): New #define.
2784         (RS6000_BTM_COMMON): Include RS6000_BTM_FLOAT128.
2785         (rs6000_builtin_type_index): Add RS6000_BTI_const_str.
2786         (const_str_type_node): New #define.
2787         * config/rs6000/rs6000.md (copysign<mode>3 for IEEE128): Convert
2788         to a define_expand that dispatches to either copysign<mode>3_soft
2789         or copysign<mode>3_hard.
2790         (copysign<mode>3_hard): Rename from copysign<mode>3.
2791         (copysign<mode>3_soft): New define_insn.
2792         * doc/extend.texi: Document new builtins.
2793
2794 2016-07-01  Peter Bergner  <bergner@vnet.ibm.com>
2795
2796         Backport from trunk
2797         2016-07-01  Peter Bergner  <bergner@vnet.ibm.com>
2798
2799         PR target/71698
2800         * config/rs6000/rs6000.c (rs6000_secondary_reload_simple_move): Disallow
2801         TDmode values.
2802
2803 2016-07-01  Kelvin Nilsen  <kelvin@gcc.gnu.org>
2804
2805         Backport from trunk r236992
2806         2016-06-01  Kelvin Nilsen  <kelvin@gcc.gnu.org>
2807
2808         * config/rs6000/altivec.h (vec_slv): New macro.
2809         (vec_srv): New macro.
2810         * config/rs6000/altivec.md (UNSPEC_VSLV): New value.
2811         (UNSPEC_VSRV): New value.
2812         (vslv): New insn.
2813         (vsrv): New insn.
2814         * config/rs6000/rs6000-builtin.def (vslv): New builtin definition.
2815         (vsrv): New builtin definition.
2816         * config/rs6000/rs6000-c.c (P9V_BUILTIN_VSLV): Macro expansion to
2817         define argument types for new builtin.
2818         (P9V_BUILTIN_VSRV): Macro expansion to define argument types for
2819         new builtin.
2820         * doc/extend.texi: Document the new vec_vslv and vec_srv built-in
2821         functions.
2822
2823 2016-07-01  Eric Botcazou  <ebotcazou@adacore.com>
2824
2825         * config/arm/arm.c (arm_function_ok_for_sibcall): Add another check
2826         for NULL decl.
2827
2828 2016-06-30  Kelvin Nilsen  <kelvin@gcc.gnu.org>
2829
2830         Backport from trunk r237390
2831         2016-06-13  Kelvin Nilsen  <kelvin@gcc.gnu.org>
2832
2833         * config/rs6000/altivec.h (vec_absd): New macro for vector absolute
2834         difference unsigned.
2835         (vec_absdb): New macro for vector absolute difference unsigned
2836         byte.
2837         (vec_absdh): New macro for vector absolute difference unsigned
2838         half-word.
2839         (vec_absdw): New macro for vector absolute difference unsigned word.
2840         * config/rs6000/altivec.md (UNSPEC_VADU): New value.
2841         (vadu<mode>3): New insn.
2842         (*p9_vadu<mode>3): New insn.
2843         * config/rs6000/rs6000-builtin.def (vadub): New built-in
2844         definition.
2845         (vaduh): New built-in definition.
2846         (vaduw): New built-in definition.
2847         (vadu): New overloaded built-in definition.
2848         (vadub): New overloaded built-in definition.
2849         (vaduh): New overloaded built-in definition.
2850         (vaduw): New overloaded built-in definition.
2851         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
2852         overloaded vector absolute difference unsigned functions.
2853         * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
2854         the ISA 3.0 vector absolute difference unsigned built-in functions.
2855
2856 2016-06-30  David Malcolm  <dmalcolm@redhat.com>
2857
2858         Backport from trunk r237880.
2859         2016-06-30  David Malcolm  <dmalcolm@redhat.com>
2860
2861         PR driver/71651
2862         * gcc.c (driver::build_option_suggestions): Pass "option" to
2863         add_misspelling_candidates.
2864         * opts-common.c (add_misspelling_candidates): Add "option" param;
2865         use it to avoid adding negated forms for options marked with
2866         RejectNegative.
2867         * opts.h (add_misspelling_candidates): Add "option" param.
2868
2869 2016-06-30  Jakub Jelinek  <jakub@redhat.com>
2870
2871         PR middle-end/71693
2872         * fold-const.c (fold_binary_loc) <case RROTATE_EXPR>: Cast
2873         TREE_OPERAND (arg0, 0) and TREE_OPERAND (arg0, 1) to type
2874         first when permuting bitwise operation with rotate.  Cast
2875         TREE_OPERAND (arg0, 0) to type when cancelling two rotations.
2876
2877 2016-06-30  Martin Liska  <mliska@suse.cz>
2878
2879         Parting backport from mainline
2880         2016-06-29  Martin Liska  <mliska@suse.cz>
2881
2882         * ipa-inline-transform.c (inline_call): Remove unnecessary call
2883         of build_optimization_node.
2884
2885 2016-06-29  Eric Botcazou  <ebotcazou@adacore.com>
2886
2887         Backport from mainline
2888         2016-06-09  Eric Botcazou  <ebotcazou@adacore.com>
2889
2890         * df-problems.c (df_note_bb_compute): Guard use of DF_INSN_INFO_GET.
2891
2892 2016-06-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
2893
2894         Back port from trunk
2895         2016-06-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
2896
2897         * stor-layout.c (layout_type): Move setting complex MODE to
2898         layout_type, instead of setting it ahead of time by the caller.
2899
2900         Back port from trunk
2901         2016-05-11  Alan Modra  <amodra@gmail.com>
2902
2903         * config/rs6000/rs6000.c (is_complex_IBM_long_double,
2904         abi_v4_pass_in_fpr): New functions.
2905         (rs6000_function_arg_boundary): Exclude complex IBM long double
2906         from 64-bit alignment when ABI_V4.
2907         (rs6000_function_arg, rs6000_function_arg_advance_1,
2908         rs6000_gimplify_va_arg): Use abi_v4_pass_in_fpr.
2909
2910         Back port from trunk
2911         2016-05-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
2912
2913         * machmode.h (mode_complex): Add support to give the complex mode
2914         for a given mode.
2915         (GET_MODE_COMPLEX_MODE): Likewise.
2916         * stor-layout.c (layout_type): For COMPLEX_TYPE, use the mode
2917         stored by build_complex_type and gfc_build_complex_type instead of
2918         trying to figure out the appropriate mode based on the size. Raise
2919         an assertion error, if the type was not set.
2920         * genmodes.c (struct mode_data): Add field for the complex type of
2921         the given type.
2922         (blank_mode): Likewise.
2923         (make_complex_modes): Remember the complex mode created in the
2924         base type.
2925         (emit_mode_complex): Write out the mode_complex array to map a
2926         type mode to the complex version.
2927         (emit_insn_modes_c): Likewise.
2928         * tree.c (build_complex_type): Set the complex type to use before
2929         calling layout_type.
2930         * config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Add
2931         support for __float128 complex datatypes.
2932         (rs6000_hard_regno_mode_ok): Likewise.
2933         (rs6000_setup_reg_addr_masks): Likewise.
2934         (rs6000_complex_function_value): Likewise.
2935         * config/rs6000/rs6000.h (FLOAT128_IEEE_P): Likewise.
2936         __float128 and __ibm128 complex.
2937         (FLOAT128_IBM_P): Likewise.
2938         (ALTIVEC_ARG_MAX_RETURN): Likewise.
2939         * doc/extend.texi (Additional Floating Types): Document that
2940         -mfloat128 must be used to enable __float128.  Document complex
2941         __float128 and __ibm128 support.
2942
2943 2016-06-24  Jakub Jelinek  <jakub@redhat.com>
2944
2945         PR tree-optimization/71647
2946         * omp-low.c (lower_rec_input_clauses): Convert
2947         omp_clause_aligned_alignment (c) to size_type_node for the
2948         last argument of __builtin_assume_aligned.
2949
2950 2016-06-22  Eric Botcazou  <ebotcazou@adacore.com>
2951
2952         * function.c (assign_parm_setup_reg): Prevent sharing in another case.
2953
2954 2016-06-21  Georg-Johann Lay  <avr@gjlay.de>
2955
2956         Backport from 2016-06-21 trunk r237639.
2957
2958         PR target/30417
2959         * config/avr/gen-avr-mmcu-specs.c (print_mcu):
2960         [*link_data_start]: Wrap -Tdata into %{!Tdata:...}.
2961         [*link_text_start]: Wrap -Ttext into %{!Ttext:...}.
2962
2963 2016-06-21  Georg-Johann Lay  <avr@gjlay.de>
2964
2965         PR target/71103
2966         * config/avr/avr.md (movqi): Only handle loading subreg:qi of
2967         constant addresses if can_create_pseudo_p.
2968
2969 2016-06-21  Jakub Jelinek  <jakub@redhat.com>
2970
2971         PR tree-optimization/71588
2972         * tree-ssa-strlen.c (valid_builtin_call): New function.
2973         (adjust_last_stmt, handle_builtin_memset, strlen_optimize_stmt): Use
2974         it.
2975
2976         Backported from mainline
2977         2016-06-20  Jakub Jelinek  <jakub@redhat.com>
2978
2979         PR middle-end/71581
2980         * tree-ssa-uninit.c (warn_uninit): If EXPR and VAR are NULL,
2981         see if T isn't anonymous SSA_NAME with COMPLEX_EXPR created
2982         for conversion of scalar user var to complex type and use the
2983         underlying SSA_NAME_VAR in that case.  If EXPR is still NULL,
2984         punt.
2985
2986         2016-06-16  Jakub Jelinek  <jakub@redhat.com>
2987
2988         * gimplify.c (gimplify_scan_omp_clauses): Handle COMPONENT_REFs
2989         with base of reference to struct.
2990
2991 2016-06-20  Ilya Enkovich  <ilya.enkovich@intel.com>
2992
2993         Backport from mainline r237484.
2994         2016-06-15  Ilya Enkovich  <ilya.enkovich@intel.com>
2995
2996         PR middle-end/71529
2997         * ipa-chkp.c (chkp_build_instrumented_fndecl): Fix
2998         DECL_CONTEXT for copied arguments.
2999
3000 2016-06-20  Georg-Johann Lay  <avr@gjlay.de>
3001             Pitchumani Sivanupandi  <pitchumani.s@atmel.com>
3002
3003         Backport from 2016-06-20 trunk r237589, r236558.
3004
3005         PR target/71103
3006         * config/avr/avr.md (movqi): Handle loading subreg:qi (const,
3007         symbol_ref,label_ref).
3008
3009 2016-06-16  Jakub Jelinek  <jakub@redhat.com>
3010
3011         PR target/71554
3012         * config/i386/i386.md (setcc + movzbl peephole2): Use reg_set_p.
3013         (setcc + and peephole2): Likewise.
3014
3015 2016-06-15  Andreas Tobler  <andreast@gcc.gnu.org>
3016
3017         Backported from mainline
3018         2016-06-14  Andreas Tobler  <andreast@gcc.gnu.org>
3019
3020         * config/arm/freebsd.h: Only enable unaligned access for armv6 on
3021         FreeBSD 11 and above.
3022
3023 2016-06-15  Ilya Verbin  <ilya.verbin@intel.com>
3024
3025         Backport from mainline
3026         2016-04-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3027
3028         * config/darwin.h (LINK_COMMAND_SPEC_A): Handle -fcilkplus.
3029
3030 2016-06-14  Jakub Jelinek  <jakub@redhat.com>
3031
3032         Backported from mainline
3033         2016-06-10  Jakub Jelinek  <jakub@redhat.com>
3034
3035         PR middle-end/71494
3036         * tree-nested.c (convert_nonlocal_reference_stmt): For GIMPLE_GOTO
3037         without LABEL_DECL, set *handled_ops_p to false instead of true.
3038
3039         2016-06-08  Jakub Jelinek  <jakub@redhat.com>
3040                     Richard Biener  <rguenther@suse.de>
3041
3042         PR c++/71448
3043         * fold-const.c (fold_comparison): Handle CONSTANT_CLASS_P (base0)
3044         the same as DECL_P (base0) for indirect_base0.  Use equality_code
3045         in one further place.
3046
3047         2016-06-04  Jakub Jelinek  <jakub@redhat.com>
3048
3049         PR tree-optimization/71405
3050         * tree-ssa.c (execute_update_addresses_taken): For clobber with
3051         incompatible type, build a new clobber with the right type instead
3052         of building a VIEW_CONVERT_EXPR around it.
3053
3054 2016-06-13  Eric Botcazou  <ebotcazou@adacore.com>
3055
3056         * tree-ssa-sccvn.c (vn_reference_lookup_3): Use a uniform test and
3057         update shared_lookup_references only once after changing operands.
3058
3059 2016-06-13  Richard Biener  <rguenther@suse.de>
3060
3061         PR tree-optimization/71505
3062         * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Make
3063         assert match comment.
3064
3065 2016-06-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
3066
3067         Backport from mainline
3068         2016-06-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
3069
3070         PR target/71379
3071         * config/s390/s390.c (s390_expand_builtin): Increase MAX_ARGS by
3072         one.
3073
3074 2016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
3075
3076         PR middle-end/71373
3077         Backport from trunk r237291:
3078         * tree-nested.c (convert_nonlocal_omp_clauses)
3079         (convert_local_omp_clauses): Handle OMP_CLAUSE_ASYNC,
3080         OMP_CLAUSE_WAIT, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
3081         OMP_CLAUSE__CACHE_, OMP_CLAUSE_TILE.
3082
3083         Backport from trunk r237291:
3084         * gimplify.c (gimplify_adjust_omp_clauses): Discard
3085         OMP_CLAUSE_TILE.
3086         * omp-low.c (scan_sharing_clauses): Don't expect OMP_CLAUSE_TILE.
3087
3088         Backport from trunk r237290:
3089         * omp-low.c (scan_sharing_clauses): Don't expect
3090         OMP_CLAUSE__CACHE_.
3091
3092         Backport trunk r235964:
3093         2016-05-06  Nathan Sidwell  <nathan@codesourcery.com>
3094
3095         * gimple.c (gimple_call_same_target_p): Unique functions are eq.
3096         * tree-ssa-tail-merge.c (same_succ::equal): Check pointer eq
3097         equality first.
3098
3099 2016-06-10  Maxim Ostapenko  <m.ostapenko@samsung.com>
3100
3101         PR sanitizer/71480
3102         * varasm.c (place_block_symbol): Adjust alignment for asan protected
3103         STRING_CSTs even if TREE_CONSTANT_POOL_ADDRESS_P.
3104
3105 2016-06-09  Michael Meissner  <meissner@linux.vnet.ibm.com>
3106
3107         Back port from trunk
3108         2016-05-31  Michael Meissner  <meissner@linux.vnet.ibm.com>
3109
3110         * config/rs6000/vsx.md (vsx_splat_<mode>, V2DI/V2DF): Simplify
3111         alternatives, eliminating preferred register class.  Add support
3112         for the MTVSRDD instruction in ISA 3.0.
3113         (vsx_splat_v4si_internal): Use splat_input_operand instead of
3114         reg_or_indexed_operand.
3115         (vsx_splat_v4sf_internal): Likewise.
3116
3117         Back port from trunk
3118         2016-05-31  Michael Meissner  <meissner@linux.vnet.ibm.com>
3119
3120         PR target/71186
3121         * config/rs6000/vsx.md (xxspltib_<mode>_nosplit): Add alternatives
3122         for loading up all 0's or all 1's.
3123
3124         Back port from trunk
3125         2016-05-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
3126
3127         PR target/70915
3128         * config/rs6000/constraints.md (wE constraint): New constraint
3129         for a vector constant that can be loaded with XXSPLTIB.
3130         (wM constraint): New constraint for a vector constant of a 1's.
3131         (wS constraint): New constraint for a vector constant that can be
3132         loaded with XXSPLTIB and a vector sign extend instruction.
3133         * config/rs6000/predicates.md (xxspltib_constant_split): New
3134         predicates for wE/wS constraints.
3135         (xxspltib_constant_nosplit): Likewise.
3136         (easy_vector_constant): Add support for constants that can be
3137         loaded via XXSPLTIB.
3138         (splat_input_operand): Add support for ISA 3.0 word splat operations.
3139         * config/rs6000/rs6000.c (xxspltib_constant_p): New function to
3140         return if a constant can be loaded with the ISA 3.0 XXSPLTIB
3141         instruction and possibly with a sign extension.
3142         (output_vec_const_move): Add support for XXSPLTIB. If we are
3143         loading up 0/-1 into Altivec registers, prefer using VSPLTISW
3144         instead of XXLXOR/XXLORC.
3145         (rs6000_expand_vector_init): Add support for ISA 3.0 word splat
3146         operations.
3147         (rs6000_legitimize_reload_address): Likewise.
3148         (rs6000_output_move_128bit): Use output_vec_const_move to emit
3149         constants.
3150         * config/rs6000/vsx.md (VSX_M): Add TImode (if -mvsx-timode) and
3151         combine VSX_M and VSX_M2 into one iterator.
3152         (VSX_M2): Likewise.
3153         (VSINT_84): New iterators for loading constants with XXSPLTIB.
3154         (VSINT_842): Likewise.
3155         (UNSPEC_VSX_SIGN_EXTEND): New UNSPEC.
3156         (xxspltib_v16qi): New insns to load up constants with the ISA 3.0
3157         XXSPLTIB instruction.
3158         (xxspltib_<mode>_nosplit): Likewise.
3159         (xxspltib_<mode>_split): New insn to load up constants with
3160         XXSPLTIB and a sign extend instruction.
3161         (vsx_mov<mode>): Replace single move that handled all vector types
3162         with separate 32-bit and 64-bit moves.  Combine the movti_<bit>
3163         moves (when -mvsx-timode is in effect) into the main vector
3164         moves.  Eliminate separate moves for <VSr> <VSa>, where the
3165         preferred register class (<VSr>) is listed first, and the
3166         secondary register class (<VSa>) is listed second with a '?' to
3167         discourage use.  Prefer loading 0/-1 in any VSX register for ISA
3168         3.0, and Altivec registers for ISA 2.06/2.07 (PR target/70915) so
3169         that if the register was involved in a slow operation, the
3170         clear/set operation does not wait for the slow operation to
3171         finish.  Adjust the length attributes for 32-bit mode.  Use
3172         rs6000_output_move_128bit and drop the use of the string
3173         instructions for 32-bit movti when -mvsx-timode is in effect.  Use
3174         spacing so that the alternatives and attributes don't generate
3175         long lines, and put things in columns, so that it is easier to
3176         match up the operands and attributes with the insn alternatives.
3177         (vsx_mov<mode>_64bit): Likewise.
3178         (vsx_mov<mode>_32bit): Likewise.
3179         (vsx_movti_64bit): Fold movti into normal vector moves.
3180         (vsx_movti_32bit): Likewise.
3181         (vsx_splat_<mode>, V4SI/V4SF modes): Add support for ISA 3.0 word
3182         splat instructions.
3183         (vsx_splat_v4si_internal): Likewise.
3184         (vsx_splat_v4sf_internal): Likewise.
3185         (vector fusion peepholes): Use VSX_M instead of VSX_M2.
3186         (vsx_sign_extend_qi_<mode>): New ISA 3.0 instructions to sign
3187         extend vector elements.
3188         (vsx_sign_extend_hi_<mode>): Likewise.
3189         (vsx_sign_extend_si_v2di): Likewise.
3190         * config/rs6000/rs6000-protos.h (xxspltib_constant_p): Add
3191         declaration.
3192         * doc/md.texi (PowerPC constraints): Document the wE, wM, and wS
3193         constraints.  Add trailing period to wL documentation.
3194
3195 2016-06-08  Jose E. Marchesi  <jose.marchesi@oracle.com>
3196
3197         Backport from mainline
3198         2016-06-08  Jose E. Marchesi  <jose.marchesi@oracle.com>
3199
3200         * config/sparc/driver-sparc.c (cpu_names): Fix the entry for the
3201         SPARC-M7 and add an entry for SPARC-S7 cpus (Sonoma).
3202
3203 2016-06-08  Eric Botcazou  <ebotcazou@adacore.com>
3204
3205         Backport from mainline
3206         2016-06-06  Jose E. Marchesi  <jose.marchesi@oracle.com>
3207
3208         * config/sparc/sparc.md (cpu): Add niagara7 cpu type.
3209         Include the M7 SPARC DFA scheduler.
3210         New attribute v3pipe.
3211         Annotate insns with v3pipe where appropriate.
3212         Define cpu_feature vis4.
3213         Add lzd instruction type and set it on clzdi_sp64 and clzsi_sp64.
3214         Add (V8QI "8") to vbits.
3215         Add insns {add,sub}v8qi3
3216         Add insns ss{add,sub}v8qi3
3217         Add insns us{add,sub}{v8qi,v4hi}3
3218         Add insns {min,max}{v8qi,v4hi,v2si}3
3219         Add insns {minu,maxu}{v8qi,v4hi,v2si}3
3220         Add insns fpcmp{le,gt,ule,ug,ule,ugt}{8,16,32}_vis.
3221         * config/sparc/niagara4.md: Add a comment explaining the
3222         discrepancy between the documented latenty numbers and the
3223         implemented ones.
3224         * config/sparc/niagara7.md: New file.
3225         * configure.ac (HAVE_AS_SPARC5_VIS4): Define if the assembler
3226         supports SPARC5 and VIS 4.0 instructions.
3227         * configure: Regenerate.
3228         * config.in: Likewise.
3229         * config.gcc: niagara7 is a supported cpu in sparc*-*-* targets.
3230         * config/sparc/sol2.h (ASM_CPU32_DEFAUILT_SPEC): Set for
3231         TARGET_CPU_niagara7.
3232         (ASM_CPU64_DEFAULT_SPEC): Likewise.
3233         (CPP_CPU_SPEC): Handle niagara7.
3234         (ASM_CPU_SPEC): Likewise.
3235         * config/sparc/sparc-opts.h (processor_type): Add
3236         PROCESSOR_NIAGARA7.
3237         (mvis4): New option.
3238         * config/sparc/sparc.h (TARGET_CPU_niagara7): Define.
3239         (AS_NIAGARA7_FLAG): Define.
3240         (ASM_CPU64_DEFAULT_SPEC): Set for niagara7.
3241         (CPP_CPU64_DEFAULT_SPEC): Likewise.
3242         (CPP_CPU_SPEC): Handle niagara7.
3243         (ASM_CPU_SPEC): Likewise.
3244         * config/sparc/sparc.c (niagara7_costs): Define.
3245         (sparc_option_override): Handle niagara7 and adjust cache-related
3246         parameters with better values for niagara cpus.  Also support VIS4.
3247         (sparc32_initialize_trampoline): Likewise.
3248         (sparc_use_sched_lookahead): Likewise.
3249         (sparc_issue_rate): Likewise.
3250         (sparc_register_move_cost): Likewise.
3251         (dump_target_flag_bits): Support VIS4.
3252         (sparc_vis_init_builtins): Likewise.
3253         (sparc_builtins): Likewise.
3254         * config/sparc/sparc-c.c (sparc_target_macros): Define __VIS__ for
3255         VIS4 4.0.
3256         * config/sparc/driver-sparc.c (cpu_names): Add SPARC-M7 and
3257         UltraSparc M7.
3258         * config/sparc/sparc.opt (sparc_processor_type): New value
3259         niagara7.
3260         * config/sparc/visintrin.h (__attribute__): Prototypes for the
3261         VIS4 builtins.
3262         * doc/invoke.texi (SPARC Options): Document -mcpu=niagara7 and
3263         -mvis4.
3264         * doc/extend.texi (SPARC VIS Built-in Functions): Document the
3265         VIS4 builtins.
3266
3267         2016-05-30  Jose E. Marchesi  <jose.marchesi@oracle.com>
3268
3269         * config.gcc (sparc*-*-*): Support cpu_32, cpu_64, tune_32 and
3270         tune_64.
3271         * doc/install.texi (--with-cpu-32, --with-cpu-64): Document
3272         support on SPARC.
3273         * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Add entries for
3274         cpu_32, cpu_64, tune_32 and tune_64.
3275         * config/sparc/sol2.h (OPTION_DEFAULT_SPECS): Likewise.
3276
3277 2016-06-08  Ilya Verbin  <ilya.verbin@intel.com>
3278
3279         Backport from mainline
3280         2016-05-25  Ilya Verbin  <ilya.verbin@intel.com>
3281
3282         * config/i386/i386-builtin-types.def: Add V16SI_FTYPE_V16SF,
3283         V8DF_FTYPE_V8DF_ROUND, V16SF_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF_ROUND.
3284         * config/i386/i386.c (enum ix86_builtins): Add
3285         IX86_BUILTIN_CVTPS2DQ512_MASK, IX86_BUILTIN_FLOORPS512,
3286         IX86_BUILTIN_FLOORPD512, IX86_BUILTIN_CEILPS512, IX86_BUILTIN_CEILPD512,
3287         IX86_BUILTIN_TRUNCPS512, IX86_BUILTIN_TRUNCPD512,
3288         IX86_BUILTIN_CVTPS2DQ512, IX86_BUILTIN_VEC_PACK_SFIX512,
3289         IX86_BUILTIN_FLOORPS_SFIX512, IX86_BUILTIN_CEILPS_SFIX512,
3290         IX86_BUILTIN_ROUNDPS_AZ_SFIX512.
3291         (builtin_description bdesc_args): Add __builtin_ia32_floorps512,
3292         __builtin_ia32_ceilps512, __builtin_ia32_truncps512,
3293         __builtin_ia32_floorpd512, __builtin_ia32_ceilpd512,
3294         __builtin_ia32_truncpd512, __builtin_ia32_cvtps2dq512,
3295         __builtin_ia32_vec_pack_sfix512, __builtin_ia32_roundps_az_sfix512,
3296         __builtin_ia32_floorps_sfix512, __builtin_ia32_ceilps_sfix512.
3297         Change IX86_BUILTIN_CVTPS2DQ512 to IX86_BUILTIN_CVTPS2DQ512_MASK for
3298         __builtin_ia32_cvtps2dq512_mask.
3299         (ix86_expand_args_builtin): Handle V8DF_FTYPE_V8DF_ROUND,
3300         V16SF_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF.
3301         (ix86_builtin_vectorized_function): Handle builtins mentioned above.
3302         * config/i386/sse.md
3303         (<mask_codefor>avx512f_fix_notruncv16sfv16si<mask_name><round_name>):
3304         Rename to ...
3305         (avx512f_fix_notruncv16sfv16si<mask_name><round_name>): ... this.
3306         (<mask_codefor>avx512f_cvtpd2dq512<mask_name><round_name>): Rename
3307         to ...
3308         (avx512f_cvtpd2dq512<mask_name><round_name>): ... this.
3309         (avx512f_vec_pack_sfix_v8df): New define_expand.
3310         (avx512f_roundpd512): Rename to ...
3311         (avx512f_round<castmode>512): ... this.  Change iterator.
3312         (avx512f_roundps512_sfix): New define_expand.
3313         (round<mode>2_sfix): Change iterator.
3314
3315 2016-06-07  Peter Bergner  <bergner@vnet.ibm.com>
3316
3317         Backport from mainline
3318         2016-06-07  Peter Bergner  <bergner@vnet.ibm.com>
3319
3320         * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mhtm and
3321         -mno-htm.
3322
3323 2016-06-07  Uros Bizjak  <ubizjak@gmail.com>
3324
3325         PR target/71389
3326         * config/i386/i386.c (ix86_avx256_split_vector_move_misalign):
3327         Copy op1 RTX to avoid invalid sharing.
3328         (ix86_expand_vector_move_misalign): Ditto.
3329
3330 2016-06-06  Jakub Jelinek  <jakub@redhat.com>
3331
3332         PR tree-optimization/71259
3333         * tree-vect-slp.c (vect_get_constant_vectors): For
3334         VECTOR_BOOLEAN_TYPE_P, return all ones constant instead of
3335         one for constant op, and use COND_EXPR for non-constant.
3336
3337 2016-06-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3338
3339         Backport from trunk
3340         2016-06-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3341
3342         PR target/70830
3343         * config/arm/arm.c (arm_output_multireg_pop): Guard "pop" on update.
3344
3345 2016-06-05  Uros Bizjak  <ubizjak@gmail.com>
3346
3347         Backport from mainline
3348         2016-06-01  Uros Bizjak  <ubizjak@gmail.com>
3349                     Jocelyn Mayer  <l_indien@magic.fr>
3350
3351         PR target/67310
3352         * config/i386/driver-i386.c (host_detect_local_cpu): Correctly
3353         detect processor family for signature_CENTAUR_ebx.
3354         <case PROCESSOR_I486>: Pass c3, winchip2 or winchip-c6 for
3355         signature_CENTAUR_ebx.
3356         <case PROCESSOR _PENTIUMPRO>: Pass c3-2 for signature_CENTAUR_ebx.
3357         <default>: Pass x86-64 for has_longmode.
3358
3359 2016-06-03  Jakub Jelinek  <jakub@redhat.com>
3360
3361         PR middle-end/71387
3362         * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): If redirecting
3363         to noreturn e->callee->decl that has void return type and void
3364         arguments, adjust gimple_call_fntype and remove lhs even if it had
3365         previously addressable type.
3366
3367 2016-06-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
3368
3369         Back port from trunk
3370         2016-05-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
3371
3372         * config/rs6000/rs6000.c (rs6000_emit_p9_fp_minmax): New function
3373         for ISA 3.0 min/max support.
3374         (rs6000_emit_p9_fp_cmove): New function for ISA 3.0 floating point
3375         conditional move support.
3376         (rs6000_emit_cmove): Call rs6000_emit_p9_fp_minmax and
3377         rs6000_emit_p9_fp_cmove if the ISA 3.0 instructions are
3378         available.
3379         * config/rs6000/rs6000.md (SFDF2): New iterator to allow doing
3380         conditional moves where the comparison type is different from move
3381         type.
3382         (fp_minmax): New code iterator for smin/smax.
3383         (minmax): New code attributes for min/max.
3384         (SMINMAX): Likewise.
3385         (smax<mode>3): Combine min, max insns into one insn using the
3386         fp_minmax code iterator.  Add support for ISA 3.0 min/max
3387         instructions that don't need -ffast-math.
3388         (s<minmax><mode>3): Likewise.
3389         (smax<mode>3_vsx): Likewise.
3390         (smin<mode>3): Likewise.
3391         (s<minmax><mode>3_vsx): Likewise.
3392         (smin<mode>3_vsx): Likewise.
3393         (pre-VSX min/max splitters): Likewise.
3394         (s<minmax><mode>3_fpr): Likewise.
3395         (movsfcc): Rewrite floating point conditional moves to combine
3396         SFmode/DFmode into a single insn.
3397         (mov<mode>cc): Likewise.
3398         (movdfcc): Likewise.
3399         (fselsfsf4): Combine FSEL cases into a single insn, using SFDF and
3400         SFDF2 iterators to handle all combinations.
3401         (fseldfsf4): Likewise.
3402         (fsel<SFDF:mode><SFDF2:mode>4): Likewise.
3403         (fseldfdf4): Likewise.
3404         (fselsfdf4): Likewise.
3405         (mov<SFDF:mode><SFDF2:mode>cc_p9): Add support for the ISA 3.0
3406         comparison instructions that set a 0/-1 mask, and use it for
3407         floating point conditional move via XXSEL.
3408         (fpmask<mode>): Likewise.
3409         (xxsel<mode>): Likewise.
3410         * config/rs6000/predicates.md (min_max_operator): Delete, no
3411         longer used.
3412         (fpmask_comparison_operaton): New insn for ISA 3.0 comparison
3413         instructions that generate a 0/-1 mask for use with XXSEL.
3414         * config/rs6000/rs6000.h (TARGET_MINMAX_SF): New helper macros to
3415         say whether floating point min/max is available, either through
3416         FSEL, ISA 2.06 min/max, and ISA 3.0 min/max instrucitons.
3417         (TARGET_MINMAX_DF): Likewise.
3418
3419         Back port from trunk
3420         2016-05-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
3421
3422         * config/rs6000/predicate.md (all_ones_constant): New predicate
3423         for vector constant with all 1's set.
3424
3425 2016-06-02  Kelvin Nilsen  <kelvin@gcc.gnu.org>
3426
3427         Back port from trunk
3428         2016-05-19  Kelvin Nilsen  <kelvin@gcc.gnu.org>
3429
3430         * config/rs6000/altivec.md (UNSPEC_DARN): New unspec constant.
3431         (UNSPEC_DARN_32): New unspec constant.
3432         (UNSPEC_DARN_RAW): New unspec constant.
3433         (darn_32): New instruction.
3434         (darn_raw): New instruction.
3435         (darn): New instruction.
3436         * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_0): Add
3437         support and documentation for this macro.
3438         (BU_P9_MISC_1): New macro definition.
3439         (BU_P9_64BIT_MISC_0): New macro definition.
3440         (BU_P9_MISC_0): New macro definition.
3441         (darn_32): New builtin definition.
3442         (darn_raw): New builtin definition.
3443         (darn): New builtin definition.
3444         * config/rs6000/rs6000.c: Add #define RS6000_BUILTIN_0 and #undef
3445         RS6000_BUILTIN_0 directives to surround each occurrence of
3446         #include "rs6000-builtin.def".
3447         (rs6000_builtin_mask_calculate): Add in the RS6000_BTM_MODULO and
3448         RS6000_BTM_64BIT flags to the returned mask, depending on
3449         configuration.
3450         (def_builtin): Correct an error in the assignments made to the
3451         debugging variable attr_string.
3452         (rs6000_expand_builtin): Add support for no-operand built-in
3453         functions.
3454         (builtin_function_type): Remove fatal_error assertion that is no
3455         longer valid.
3456         (rs6000_common_init_builtins): Add support for no-operand built-in
3457         functions.
3458         * config/rs6000/rs6000.h (RS6000_BTM_MODULO): New macro
3459         definition.
3460         (RS6000_BTM_PURE): Enhance comment to clarify intent of this flag
3461         definition.
3462         (RS6000_BTM_64BIT): New macro definition.
3463         * doc/extend.texi: Document __builtin_darn (void),
3464         __builtin_darn_raw (void), and __builtin_darn_32 (void) built-in
3465         functions.
3466
3467 2016-06-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
3468
3469         Back port from trunk
3470         2016-05-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
3471
3472         PR target/71201
3473         * config/rs6000/altivec.md (altivec_vperm_<mode>_internal): Drop
3474         ISA 3.0 xxperm fusion alternative.
3475         (altivec_vperm_v8hiv16qi): Likewise.
3476         (altivec_vperm_<mode>_uns_internal): Likewise.
3477         (vperm_v8hiv4si): Likewise.
3478         (vperm_v16qiv8hi): Likewise.
3479
3480         Back port from trunk
3481         2016-05-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
3482                     Kelvin Nilsen  <kelvin@gcc.gnu.org>
3483
3484         * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate
3485         vpermr/xxpermr on ISA 3.0.
3486         (altivec_expand_vec_perm_le): Likewise.
3487         * config/rs6000/altivec.md (UNSPEC_VPERMR): New unspec.
3488         (altivec_vpermr_<mode>_internal): Add VPERMR/XXPERMR support for
3489         ISA 3.0.
3490
3491         Back port from trunk
3492         2016-05-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
3493
3494         * config/rs6000/altivec.md (VParity): New mode iterator for vector
3495         parity built-in functions.
3496         (p9v_ctz<mode>2): Add support for ISA 3.0 vector count trailing
3497         zeros.
3498         (p9v_parity<mode>2): Likewise.
3499         * config/rs6000/vector.md (VEC_IP): New mode iterator for vector
3500         parity.
3501         (ctz<mode>2): ISA 3.0 expander for vector count trailing zeros.
3502         (parity<mode>2): ISA 3.0 expander for vector parity.
3503         * config/rs6000/rs6000-builtin.def (BU_P9_MISC_1): New macros for
3504         power9 built-ins.
3505         (BU_P9_64BIT_MISC_0): Likewise.
3506         (BU_P9_MISC_0): Likewise.
3507         (BU_P9V_AV_1): Likewise.
3508         (BU_P9V_AV_2): Likewise.
3509         (BU_P9V_AV_3): Likewise.
3510         (BU_P9V_AV_P): Likewise.
3511         (BU_P9V_VSX_1): Likewise.
3512         (BU_P9V_OVERLOAD_1): Likewise.
3513         (BU_P9V_OVERLOAD_2): Likewise.
3514         (BU_P9V_OVERLOAD_3): Likewise.
3515         (VCTZB): Add vector count trailing zeros support.
3516         (VCTZH): Likewise.
3517         (VCTZW): Likewise.
3518         (VCTZD): Likewise.
3519         (VPRTYBD): Add vector parity support.
3520         (VPRTYBQ): Likewise.
3521         (VPRTYBW): Likewise.
3522         (VCTZ): Add overloaded vector count trailing zeros support.
3523         (VPRTYB): Add overloaded vector parity support.
3524         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
3525         overloaded vector count trailing zeros and parity instructions.
3526         * config/rs6000/rs6000.md (wd mode attribute): Add V1TI and TI for
3527         vector parity support.
3528         * config/rs6000/altivec.h (vec_vctz): Add ISA 3.0 vector count
3529         trailing zeros support.
3530         (vec_cntlz): Likewise.
3531         (vec_vctzb): Likewise.
3532         (vec_vctzd): Likewise.
3533         (vec_vctzh): Likewise.
3534         (vec_vctzw): Likewise.
3535         (vec_vprtyb): Add ISA 3.0 vector parity support.
3536         (vec_vprtybd): Likewise.
3537         (vec_vprtybw): Likewise.
3538         (vec_vprtybq): Likewise.
3539         * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
3540         the ISA 3.0 vector count trailing zeros and vector parity built-in
3541         functions.
3542
3543         Back port from trunk
3544         2016-05-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
3545
3546         * config/rs6000/altivec.md (VNEG iterator): New iterator for
3547         VNEGW/VNEGD instructions.
3548         (p9_neg<mode>2): New insns for ISA 3.0 VNEGW/VNEGD.
3549         (neg<mode>2): Add expander for V2DImode added in ISA 2.07, and
3550         support for ISA 3.0 VNEGW/VNEGD instructions.
3551
3552         Back port from trunk
3553         2016-05-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
3554
3555         * config/rs6000/predicates.md (quad_memory_operand): Move most of
3556         the code into quad_address_p and call it to share code with
3557         vsx_quad_dform_memory_operand.
3558         (vsx_quad_dform_memory_operand): New predicate for ISA 3.0 vector
3559         d-form support.
3560         * config/rs6000/rs6000.opt (-mlra): Switch to being an option mask
3561         bit instead of being a separate word.  Split -mpower9-dform into
3562         two switches, -mpower9-dform-scalar and -mpower9-dform-vector.
3563         * config/rs6000/rs6000.c (RELOAD_REG_QUAD_OFFSET): New addr_mask
3564         for the register class supporting 128-bit quad word memory offsets.
3565         (mode_supports_vsx_dform_quad): Helper function to return if the
3566         register class uses quad word memory offsets.
3567         (rs6000_debug_addr_mask): Add support for quad word memory offsets.
3568         (rs6000_debug_reg_global): Always print if we are using LRA or not.
3569         (rs6000_setup_reg_addr_masks): If ISA 3.0 vector d-form
3570         instructions are enabled, set up the appropriate addr_masks for
3571         128-bit types.
3572         (rs6000_init_hard_regno_mode_ok): wb constraint is now based on
3573         -mpower9-dform-scalar, instead of -mpower9-dform.
3574         (rs6000_option_override_internal): Split -mpower9-dform into two
3575         switches, -mpower9-dform-scalar and -mpower9-dform-vector.  The
3576         -mpower9-dform switch sets or clears both.  If we are not using
3577         the LRA register allocator, do not enable -mpower9-dform-vector by
3578         default.  If we are using LRA, enable -mpower9-dform-vector and
3579         -mvsx-timode if it is appropriate.  Issue a warning if either
3580         -mpower9-dform-vector or -mvsx-timode are explicitly used without
3581         enabling LRA.
3582         (quad_address_offset_p): New helper function to return if the
3583         offset is legal for quad word memory instructions.
3584         (quad_address_p): New function to determin if GPR or vector
3585         register quad word memory addresses are legal.
3586         (mem_operand_gpr): Validate quad word address offsets.
3587         (reg_offset_addressing_ok_p): Add support for ISA 3.0 vector
3588         d-form (register + offset) instructions.
3589         (offsettable_ok_by_alignment): Likewise.
3590         (rs6000_legitimate_offset_address_p): Likewise.
3591         (legitimate_lo_sum_address_p): Likewise.
3592         (rs6000_legitimize_address): Likewise.
3593         (rs6000_legitimize_reload_address): Add more debug statements for
3594         -mdebug=addr.
3595         (rs6000_legitimate_address_p): Add support for ISA 3.0 vector
3596         d-form instructions.
3597         (rs6000_secondary_reload_memory): Add support for ISA 3.0 vector
3598         d-form instructions.  Distinguish different cases in debug
3599         output. (rs6000_secondary_reload_inner): Add support for ISA 3.0 vector
3600         d-form instructions.
3601         (rs6000_preferred_reload_class): Likewise.
3602         (rs6000_output_move_128bit): Add support for ISA 3.0 d-form
3603         instructions.  If ISA 3.0 is available, generate lxvx/stxvx instead
3604         of the ISA 2.06 indexed memory instructions.
3605         (rs6000_emit_prologue): If we have ISA 3.0 d-form instructions,
3606         use them to save/restore the saved vector registers instead of
3607         using Altivec instructions.
3608         (rs6000_emit_epilogue): Likewise.
3609         (rs6000_lra_p): Use TARGET_LRA instead of the old option word.
3610         (rs6000_opt_masks): Split -mpower9-dform into
3611         -mpower9-dform-scalar and -mpower9-dform-vector.
3612         (rs6000_print_options_internal): Print -mno-<switch> if <switch>
3613         was not selected.
3614         * config/rs6000/vsx.md (p9_vecload_<mode>): Delete hack to emit
3615         ISA 3.0 vector indexed memory instructions, and fold the code into
3616         the normal mov<mode> patterns.
3617         (p9_vecstore_<mode>): Likewise.
3618         (vsx_mov<mode>): Add support for ISA 3.0 vector d-form
3619         instructions.
3620         (vsx_movti_64bit): Likewise.
3621         (vsx_movti_32bit): Likewise.
3622         * config/rs6000/constraints.md (wO constraint): New constraint for
3623         ISA 3.0 vector d-form support.
3624         * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Use
3625         -mpower9-dform-scalar instead of -mpower9-dform.  Add note not to
3626         include -mpower9-dform-vector until we switch over to LRA.
3627         (POWERPC_MASKS): Add -mlra. Split -mpower9-dform into two.
3628         switches, -mpower9-dform-scalar and -mpower9-dform-vector.
3629         * config/rs6000/rs6000-protos.h (quad_address_p): Add declaration.
3630         * doc/invoke.texi (RS/6000 and PowerPC Options): Add documentation
3631         for -mpower9-dform and -mlra.
3632         * doc/md.texi (wO constraint): Document wO constraint.
3633
3634 2016-06-01  Eric Botcazou  <ebotcazou@adacore.com>
3635
3636         * tree-vect-loop.c (vect_determine_vectorization_factor): Also compute
3637         the factor for live Phi nodes.
3638
3639 2016-06-01  Jakub Jelinek  <jakub@redhat.com>
3640
3641         PR middle-end/71371
3642         * gimplify.c (gimplify_omp_for): Temporarily clear gimplify_omp_ctxp
3643         around creation of the temporary.
3644
3645 2016-06-01  Eric Botcazou  <ebotcazou@adacore.com>
3646
3647         * tree-vect-loop.c (vect_determine_vectorization_factor): Also take
3648         into account live statements for mask producers.
3649
3650 2016-05-31  Richard Biener  <rguenther@suse.de>
3651
3652         Backport from mainline
3653         2016-05-11  Richard Biener  <rguenther@suse.de>
3654
3655         PR debug/71057
3656         * dwarf2out.c (retry_incomplete_types): Set early_dwarf.
3657         (dwarf2out_finish): Move retry_incomplete_types call ...
3658         (dwarf2out_early_finish): ... here.
3659
3660 2016-05-31  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3661
3662         PR target/71056
3663         * config/arm/arm-builtins.c (arm_builtin_vectorized_function): Return
3664         NULL_TREE early if NEON is not available.  Remove now redundant check
3665         in ARM_CHECK_BUILTIN_MODE.
3666
3667 2016-05-31  Tom de Vries  <tom@codesourcery.com>
3668
3669         backport:
3670         2016-05-31  Tom de Vries  <tom@codesourcery.com>
3671
3672         PR tree-optimization/69068
3673         * graphite-isl-ast-to-gimple.c (copy_bb_and_scalar_dependences): Handle
3674         phis with more than two args.
3675
3676 2016-05-30  Andreas Tobler  <andreast@gcc.gnu.org>
3677
3678         Backport from mainline
3679         2016-05-30  Andreas Tobler  <andreast@gcc.gnu.org>
3680
3681         * config.gcc: Move hard float support for arm*hf*-*-freebsd* into
3682         armv6*-*-freebsd* for FreeBSD 11. Eliminate the arm*hf*-*-freebsd*
3683         target.
3684
3685 2016-05-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3686
3687         Backport from mainline
3688         2016-04-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3689
3690         * config/rs6000/altivec.h: Change definitions of vec_xl and
3691         vec_xst.
3692         * config/rs6000/rs6000-builtin.def (LD_ELEMREV_V2DF): New.
3693         (LD_ELEMREV_V2DI): New.
3694         (LD_ELEMREV_V4SF): New.
3695         (LD_ELEMREV_V4SI): New.
3696         (LD_ELEMREV_V8HI): New.
3697         (LD_ELEMREV_V16QI): New.
3698         (ST_ELEMREV_V2DF): New.
3699         (ST_ELEMREV_V2DI): New.
3700         (ST_ELEMREV_V4SF): New.
3701         (ST_ELEMREV_V4SI): New.
3702         (ST_ELEMREV_V8HI): New.
3703         (ST_ELEMREV_V16QI): New.
3704         (XL): New.
3705         (XST): New.
3706         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
3707         descriptions for VSX_BUILTIN_VEC_XL and VSX_BUILTIN_VEC_XST.
3708         * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Map from
3709         TARGET_P9_VECTOR to RS6000_BTM_P9_VECTOR.
3710         (altivec_expand_builtin): Add handling for
3711         VSX_BUILTIN_ST_ELEMREV_<MODE> and VSX_BUILTIN_LD_ELEMREV_<MODE>.
3712         (rs6000_invalid_builtin): Add error-checking for
3713         RS6000_BTM_P9_VECTOR.
3714         (altivec_init_builtins): Define builtins used to implement vec_xl
3715         and vec_xst.
3716         (rs6000_builtin_mask_names): Define power9-vector.
3717         * config/rs6000/rs6000.h (MASK_P9_VECTOR): Define.
3718         (RS6000_BTM_P9_VECTOR): Define.
3719         (RS6000_BTM_COMMON): Include RS6000_BTM_P9_VECTOR.
3720         * config/rs6000/vsx.md (vsx_ld_elemrev_v2di): New define_insn.
3721         (vsx_ld_elemrev_v2df): Likewise.
3722         (vsx_ld_elemrev_v4sf): Likewise.
3723         (vsx_ld_elemrev_v4si): Likewise.
3724         (vsx_ld_elemrev_v8hi): Likewise.
3725         (vsx_ld_elemrev_v16qi): Likewise.
3726         (vsx_st_elemrev_v2df): Likewise.
3727         (vsx_st_elemrev_v2di): Likewise.
3728         (vsx_st_elemrev_v4sf): Likewise.
3729         (vsx_st_elemrev_v4si): Likewise.
3730         (vsx_st_elemrev_v8hi): Likewise.
3731         (vsx_st_elemrev_v16qi): Likewise.
3732         * doc/extend.texi: Add prototypes for vec_xl and vec_xst.  Correct
3733         grammar.
3734
3735 2016-05-30  Richard Biener  <rguenther@suse.de>
3736
3737         Backport from mainline
3738         2016-05-11  Richard Biener  <rguenther@suse.de>
3739
3740         PR middle-end/71002
3741         * alias.c (reference_alias_ptr_type): Preserve alias-set zero
3742         if the langhook insists on it.
3743         * fold-const.c (make_bit_field_ref): Add arg for the original
3744         reference and preserve its alias-set.
3745         (decode_field_reference): Take exp by reference and adjust it
3746         to the original memory reference.
3747         (optimize_bit_field_compare): Adjust callers.
3748         (fold_truth_andor_1): Likewise.
3749
3750         2016-05-13  Jakub Jelinek  <jakub@redhat.com>
3751
3752         PR bootstrap/71071
3753         * fold-const.c (fold_checksum_tree): Allow modification
3754         of TYPE_ALIAS_SET during folding.
3755
3756 2016-05-30  Eric Botcazou  <ebotcazou@adacore.com>
3757
3758         * config/visium/visium.c (visium_split_double_add): Minor tweaks.
3759         (visium_expand_copysign): Use gen_int_mode directly.
3760         (visium_compute_frame_size): Minor tweaks.
3761
3762 2016-05-30  Tom de Vries  <tom@codesourcery.com>
3763
3764         backport:
3765         2016-05-30  Tom de Vries  <tom@codesourcery.com>
3766
3767         PR tree-optimization/69067
3768         * graphite-isl-ast-to-gimple.c (get_def_bb_for_const): Remove assert.
3769
3770 2016-05-27  Eric Botcazou  <ebotcazou@adacore.com>
3771
3772         * config/visium/visium-protos.h (split_double_move): Rename into...
3773         (visium_split_double_move): ...this.
3774         (visium_split_double_add): Declare.
3775         * config/visium/visium.c (split_double_move): Rename into...
3776         (visium_split_double_move): ...this.
3777         (visium_split_double_add): New function.
3778         (visium_expand_copysign): Renumber operands for consistency.
3779         * config/visium/visium.md (DImode move splitter): Adjust to renaming.
3780         (DFmode move splitter): Likewise.
3781         (*addi3_insn): Split by means of visium_split_double_add.
3782         (*adddi3_insn_flags): Delete.
3783         (*plus_plus_sltu<subst_arith>): New insn.
3784         (*subdi3_insn): Split by means of visium_split_double_add.
3785         (subdi3_insn_flags): Delete.
3786         (*minus_minus_sltu<subst_arith>): New insn.
3787         (*negdi2_insn): Split by means of visium_split_double_add.
3788         (*negdi2_insn_flags): Delete.
3789
3790 2016-05-27  Ilya Enkovich  <ilya.enkovich@intel.com>
3791
3792         Backport from mainline r236810.
3793         2016-05-27  Ilya Enkovich  <ilya.enkovich@intel.com>
3794
3795         PR middle-end/71279
3796         * fold-const.c (fold_ternary_loc): Don't fold VEC_COND_EXPR
3797         into comparison.
3798
3799 2016-05-25  Eric Botcazou  <ebotcazou@adacore.com>
3800
3801         * tree-ssa-phiopt.c (factor_out_conditional_conversion): Remove
3802         redundant test and bail out if the type of the new operand is not
3803         a GIMPLE register type after stripping a VIEW_CONVERT_EXPR.
3804
3805 2016-05-24  Martin Sebor  <msebor@redhat.com>
3806
3807         PR c++/71147
3808         * tree.h (complete_or_array_type_p): New inline function.
3809
3810 2016-05-24  Jakub Jelinek  <jakub@redhat.com>
3811
3812         * config/i386/i386.h (TARGET_AVOID_4BYTE_PREFIXES): Define.
3813         * config/i386/constraints.md (Yr): Test TARGET_AVOID_4BYTE_PREFIXES
3814         rather than X86_TUNE_AVOID_4BYTE_PREFIXES.  Use SSE_REGS instead
3815         of ALL_SSE_REGS.  Return SSE_REGS also when TARGET_AVX.
3816
3817 2016-05-24  Jakub Jelinek  <jakub@redhat.com>
3818
3819         PR c++/71257
3820         * tree-vect-stmts.c (vectorizable_simd_clone_call): Handle
3821         SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP like
3822         SIMD_CLONE_ARG_TYPE_LINEAR_CONSTANT_STEP.  Add
3823         SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP and
3824         SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP cases explicitly.
3825
3826 2016-05-23  Martin Jambor  <mjambor@suse.cz>
3827
3828         * hsa-gen.c (gen_hsa_insns_for_switch_stmt): Create an empty
3829         default block if a PHI node in the original one would be resized.
3830
3831 2016-05-23  Martin Jambor  <mjambor@suse.cz>
3832
3833         PR tree-optimization/70884
3834         * tree-sra.c (initialize_constant_pool_replacements): Do not check
3835         should_scalarize_away_bitmap and cannot_scalarize_away_bitmap bits.
3836         (sort_and_splice_var_accesses): Do not consider multiple scalar reads
3837         of constant pool data as a reason for scalarization.
3838
3839 2016-05-20  Eric Botcazou  <ebotcazou@adacore.com>
3840
3841         * config/arm/arm.c (arm_expand_prologue): Set the stack usage to 0
3842         for naked functions.
3843         (thumb1_expand_prologue): Likewise.
3844
3845 2016-05-20  Jakub Jelinek  <jakub@redhat.com>
3846
3847         PR c++/71210
3848         * gimple-fold.c (gimple_fold_call): Do not remove lhs of noreturn
3849         calls if the LHS is variable length or has addressable type.
3850         If targets[0]->decl is a noreturn call with void return type and
3851         zero arguments, adjust fntype and remove lhs in that case.
3852
3853 2016-05-20  Uros Bizjak  <ubizjak@gmail.com>
3854
3855         * sched-deps.c (sched_analyze_2) <case TRAP_IF>: Also
3856         force pending loads from memory.
3857
3858 2016-05-19  Marek Polacek  <polacek@redhat.com>
3859
3860         Backport from mainline
3861         2016-05-19  Marek Polacek  <polacek@redhat.com>
3862
3863         PR tree-optimization/71031
3864         * tree-vrp.c (extract_range_from_binary_expr_1): Turn assert into a
3865         condition and adjust the code a bit.
3866
3867 2016-05-19  Martin Jambor  <mjambor@suse.cz>
3868
3869         PR ipa/70646
3870         * ipa-prop.c (determine_locally_known_aggregate_parts): Bail out early
3871         if parameter PARAM_IPA_MAX_AGG_ITEMS is zero.
3872
3873 2016-05-19  Martin Jambor  <mjambor@suse.cz>
3874
3875         PR ipa/70646
3876         * ipa-inline.h (condition): New field size.
3877         * ipa-inline-analysis.c (add_condition): New parameter SIZE, use it
3878         for comaprison and store it into the new condition.
3879         (evaluate_conditions_for_known_args): Use condition size to check
3880         access sizes for all but CHANGED conditions.
3881         (unmodified_parm_1): New parameter size_p, store access size into it.
3882         (unmodified_parm): Likewise.
3883         (unmodified_parm_or_parm_agg_item): Likewise.
3884         (eliminated_by_inlining_prob): Pass NULL to unmodified_parm as size_p.
3885         (set_cond_stmt_execution_predicate): Extract access sizes and store
3886         them to conditions.
3887         (set_switch_stmt_execution_predicate): Likewise.
3888         (will_be_nonconstant_expr_predicate): Likewise.
3889         (will_be_nonconstant_predicate): Likewise.
3890         (inline_read_section): Stream condition size.
3891         (inline_write_summary): Likewise.
3892         * lto-streamer.h (LTO_minor_version): Bump.
3893
3894 2016-05-18  Martin Liska  <mliska@suse.cz>
3895
3896         Backport from mainline
3897         2016-05-18  Martin Liska  <mliska@suse.cz>
3898
3899         PR fortran/70856
3900         * ipa-icf.c (sem_variable::merge): Set DECL_PT_UID for
3901         merged variables.
3902
3903 2016-05-18  Jakub Jelinek  <jakub@redhat.com>
3904
3905         PR c++/71100
3906         * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Don't drop
3907         lhs if it has TREE_ADDRESSABLE type.
3908
3909 2016-05-18  Uros Bizjak  <ubizjak@gmail.com>
3910
3911         PR target/71145
3912         * config/alpha/alpha.md (trap): Add (use (reg:DI 29)).
3913         (*exception_receiver_1): Return "#" for TARGET_EXPLICIT_RELOCS.
3914
3915 2016-05-17  Thomas Schwinge  <thomas@codesourcery.com>
3916
3917         Backport trunk r235748:
3918         PR target/70860
3919         * config/nvptx/nvptx.c (nvptx_libcall_value): Handle NULL cfun.
3920         (nvptx_function_value): Assert non-NULL cfun.
3921
3922 2016-05-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3923
3924         Backport from mainline
3925         2016-05-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3926
3927         PR target/70809
3928         * config/aarch64/aarch64-simd.md (aarch64_vmls<mode>): Delete.
3929
3930 2016-05-16  Martin Jambor  <mjambor@suse.cz>
3931
3932         * hsa-gen.c (fillup_for_decl): Increase alignment to natural one.
3933         (get_symbol_for_decl): Sorry if a global symbol in under-aligned.
3934
3935 2016-05-16  Martin Jambor  <mjambor@suse.cz>
3936
3937         PR hsa/70857
3938         * omp-low.c (grid_expand_target_grid_body): Copy RESULT_DECL of
3939         the outlined kernel function.
3940
3941 2016-05-16  James Norris  <jnorris@codesourcery.com>
3942
3943         Backport from mainline r236098.
3944         2016-05-10  James Norris  <jnorris@codesourcery.com>
3945
3946         PR driver/68463
3947         * config/rs6000/sysv4.h (CRTOFFLOADBEGIN): Define. Add crtoffloadbegin.o
3948         if offloading is enabled and -fopenacc or -fopenmp is specified.
3949         (CRTOFFLOADEND): Likewise.
3950         (STARTFILE_LINUX_SPEC): Add CRTOFFLOADBEGIN.
3951         (ENDFILE_LINUX_SPEC): Add CRTOFFLOADEND.
3952
3953 2016-05-16  Alan Modra  <amodra@gmail.com>
3954
3955         Apply from mainline
3956         2016-05-10  Alan Modra  <amodra@gmail.com>
3957         PR target/70947
3958         * config/rs6000/rs6000.c (rs6000_expand_split_stack_prologue): Stop
3959         regrename modifying insns saving lr before __morestack call.
3960         * config/rs6000/rs6000.md (split_stack_return): Similarly for
3961         insns restoring lr after __morestack call.
3962
3963 2016-05-13  Richard Biener  <rguenther@suse.de>
3964
3965         Backport from mainline
3966         2016-04-27  Richard Biener  <rguenther@suse.de>
3967
3968         PR ipa/70760
3969         * tree-ssa-structalias.c (find_func_aliases_for_call): Use
3970         aggregate_value_p to determine if a function result is
3971         returned by reference.
3972
3973         2016-05-06  Richard Biener  <rguenther@suse.de>
3974
3975         PR middle-end/70931
3976         * dwarf2out.c (native_encode_initializer): Skip zero-sized fields.
3977
3978         2016-05-06  Richard Biener  <rguenther@suse.de>
3979
3980         PR middle-end/70941
3981         * fold-const.c (split_tree): Always convert to the original type
3982         before negating.
3983
3984 2016-05-12  Martin Liska  <mliska@suse.cz>
3985
3986         Backport from mainline
3987         2016-05-10  Martin Liska  <mliska@suse.cz>
3988
3989         * tree-inline.c (remap_dependence_clique): Do not remap
3990         debugging statements.
3991
3992 2016-05-12  Ilya Enkovich  <ilya.enkovich@intel.com>
3993
3994         Backport from mainline r236171.
3995         2016-05-12  Ilya Enkovich  <ilya.enkovich@intel.com>
3996
3997         PR tree-optimization/71006
3998         * tree-vect-loop.c (vect_determine_vectorization_factor): Don't
3999         consider COND_EXPR as a mask producer.
4000
4001 2016-05-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4002
4003         Backport from mainline
4004         2016-05-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4005
4006         PR target/70830
4007         * config/arm/arm.c (arm_output_multireg_pop): Avoid POP instruction
4008         when popping the PC and within an interrupt handler routine.
4009         Add missing tab to output of "ldmfd".
4010         (output_return_instruction): Output LDMFD with SP update rather
4011         than POP when returning from interrupt handler.
4012
4013 2016-05-11  Ilya Enkovich  <ilya.enkovich@intel.com>
4014
4015         Backport from mainline r236088.
4016         2016-05-10  Ilya Enkovich  <ilya.enkovich@intel.com>
4017
4018         PR middle-end/70877
4019         * tree-chkp.c (chkp_add_bounds_to_call_stmt): Handle
4020         calls with type casted fndecl.
4021
4022 2016-05-11  Ilya Enkovich  <ilya.enkovich@intel.com>
4023
4024         Backport from mainline r236086.
4025         2016-05-10  Ilya Enkovich  <ilya.enkovich@intel.com>
4026
4027         PR tree-optimization/70876
4028         * tree-chkp.c (chkp_find_bounds_1): Support WITH_SIZE_EXPR.
4029         * gcc/calls.c (initialize_argument_information): Bind bounds
4030         with corresponding args passed by reference.
4031
4032 2016-05-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4033
4034         Backport from mainline
4035         2016-05-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4036
4037         PR target/70963
4038         * config/rs6000/vsx.md (vsx_xvcvdpsxds_scale): Generate correct
4039         code for a zero scale factor.
4040         (vsx_xvcvdpuxds_scale): Likewise.
4041
4042 2016-05-10  Jakub Jelinek  <jakub@redhat.com>
4043
4044         Backported from mainline
4045         2016-05-03  Jakub Jelinek  <jakub@redhat.com>
4046
4047         PR tree-optimization/70916
4048         * tree-vect-patterns.c (vect_recog_mask_conversion_pattern): Give up
4049         if COND_EXPR rhs1 is neither SSA_NAME nor COMPARISON_CLASS_P.
4050
4051 2016-05-10  Yuri Rumyantsev  <ysrumyan@gmail.com>
4052
4053         Backport from mainline r235962.
4054         2016-05-06  Yuri Rumyantsev  <ysrumyan@gmail.com>
4055
4056         PR debug/70935
4057         * tree-ssa-loop-unswitch.c (find_loop_guard): Reject guard edge with
4058         loop latch destination.
4059
4060 2016-05-10  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
4061
4062         Backport from mainline
4063         2016-05-10  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
4064
4065         * config/s390/s390.md ("*vec_cmp<insn_cmp>df_cconly")
4066         ("*fixuns_truncdfdi2_z13")
4067         ("*fixuns_trunc<FP:mode><GPR:mode>2_z196")
4068         ("*fix_truncdfdi2_bfp_z13", "*floatunsdidf2_z13")
4069         ("*extendsfdf2_z13"): Replace TARGET_Z13 with TARGET_VX.
4070
4071 2016-05-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4072
4073         Backport from mainline
4074         2016-04-27  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4075
4076         * config/rtems.h (LIB_SPEC): Add -latomic.
4077
4078 2016-05-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4079
4080         Backport from mainline
4081         2016-04-27  Joel Sherrill  <joel@rtems.org>
4082
4083         * config/microblaze/rtems.h: Redefine LINK_SPEC to avoid
4084         xilink.ld and flags not relevant to RTEMS.
4085
4086 2016-05-09  Uros Bizjak  <ubizjak@gmail.com>
4087
4088         * config/i386/i386.md (absneg splitters with general regs): Use
4089         general_reg_operand predicate.
4090         (btsq peephole2): Use x86_64_immediate_operand to check if new
4091         value is suitable for immediate operand.  Generate emitted insn
4092         using RTL expressions.
4093         (btcq peephole2): Ditto.
4094         (btrq peephole2): Ditto.  Generate correct immediate operand
4095         for AND masking.
4096
4097 2016-05-07  Tom de Vries  <tom@codesourcery.com>
4098
4099         backport:
4100         2016-05-07  Tom de Vries  <tom@codesourcery.com>
4101
4102         PR tree-optimization/70956
4103         * graphite-scop-detection.c (build_cross_bb_scalars_def): Handle NULL
4104         def.
4105
4106 2016-05-06  Marek Polacek  <polacek@redhat.com>
4107
4108         Backported from mainline
4109         2016-05-06  Marek Polacek  <polacek@redhat.com>
4110
4111         PR sanitizer/70875
4112         * ubsan.c (get_ubsan_type_info_for_type): Remove assert.
4113
4114 2016-05-06  Marek Polacek  <polacek@redhat.com>
4115
4116         Backported from mainline
4117         2016-04-29  Marek Polacek  <polacek@redhat.com>
4118                     Jakub Jelinek  <jakub@redhat.com>
4119
4120         PR sanitizer/70342
4121         * fold-const.c (tree_single_nonzero_warnv_p): For TARGET_EXPR, use
4122         TARGET_EXPR_SLOT as a base.
4123
4124 2016-05-04  Eric Botcazou  <ebotcazou@adacore.com>
4125
4126         * tree-ssa-coalesce.c (gimple_can_coalesce_p): Fix reference in head
4127         comment.
4128         (compute_samebase_partition_bases): Fix typo.
4129
4130 2016-05-03  Pierre-Marie de Rodat  <derodat@adacore.com>
4131
4132         * dwarf2out.c (resolve_args_picking_1): Replace the frame_offset
4133         occurence with frame_offset_ ones.
4134
4135 2016-04-28  Jakub Jelinek  <jakub@redhat.com>
4136
4137         PR target/70858
4138         * config/i386/i386.c (bdesc_special_args): Add | OPTION_MASK_ISA_64BIT
4139         to __builtin_ia32_lwpval64 and __builtin_ia32_lwpins64.
4140         (bdesc_args): Add | OPTION_MASK_ISA_64BIT to __builtin_ia32_bextr_u64,
4141         __builtin_ia32_bextri_u64, __builtin_ia32_bzhi_di,
4142         __builtin_ia32_pdep_di and __builtin_ia32_pext_di.
4143
4144 2016-04-28  Eric Botcazou  <ebotcazou@adacore.com>
4145
4146         Backport from mainline
4147         2016-04-27  Eric Botcazou  <ebotcazou@adacore.com>
4148
4149         PR ada/70759
4150         * stor-layout.h (internal_reference_types): Delete.
4151         * stor-layout.c (reference_types_internal): Likewise.
4152         (internal_reference_types): Likewise.
4153         (layout_type) <REFERENCE_TYPE>: Adjust.
4154
4155 2016-04-27  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4156
4157         Backport from mainline
4158         2016-04-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4159
4160         * config/rs6000/rs6000-builtin.def: Correct pasto error for
4161         stxvd2x and stxvw4x built-in functions.
4162
4163 2016-04-27  H.J. Lu  <hongjiu.lu@intel.com>
4164
4165         Backported from mainline
4166         2016-04-21  H.J. Lu  <hongjiu.lu@intel.com>
4167
4168         PR target/70750
4169         * config/i386/predicates.md (call_insn_operand): Replace
4170         sibcall_memory_operand with memory_operand.
4171
4172 2016-04-27  Richard Biener  <rguenther@suse.de>
4173
4174         PR ipa/70785
4175         * tree-ssa-structalias.c (refered_from_nonlocal_fn): New
4176         function cummulating used_from_other_partition, externally_visible
4177         and force_output from aliases.
4178         (refered_from_nonlocal_var): Likewise.
4179         (ipa_pta_execute): Use call_for_symbol_and_aliases to cummulate
4180         node flags properly.
4181
4182 2016-04-27  Jakub Jelinek  <jakub@redhat.com>
4183
4184         Backported from mainline
4185         2016-04-23  Jakub Jelinek  <jakub@redhat.com>
4186
4187         PR sanitizer/70712
4188         * cfgexpand.c (expand_stack_vars): Fix typo.
4189
4190         2016-04-19  Jakub Jelinek  <jakub@redhat.com>
4191
4192         PR middle-end/70680
4193         * gimplify.c (gimplify_omp_for): Call omp_notice_variable for
4194         implicitly linear or lastprivate iterator on the outer context.
4195
4196 2016-04-27  Kirill Yukhin  <kirill.yukhin@intel.com>
4197
4198         PR target/70728
4199         * gcc/config/i386/sse.md (define_insn "<shift_insn><mode>3<mask_name>"):
4200         Extract AVX-512BW constraint from AVX.
4201
4202 2016-04-27  Jakub Jelinek  <jakub@redhat.com>
4203
4204         * BASE-VER: Set to 6.1.1.
4205
4206 2016-04-27  Release Manager
4207
4208         * GCC 6.1.0 released.
4209
4210 2016-04-25  Richard Biener  <rguenther@suse.de>
4211
4212         PR tree-optimization/70780
4213         * tree-ssa-pre.c (compute_antic_aux): Also return true if the block
4214         wasn't visited yet.
4215         (compute_antic): Mark blocks with abnormal preds as visited as
4216         they have a final empty antic-in solution already.
4217
4218 2016-04-22  H.J. Lu  <hongjiu.lu@intel.com>
4219
4220         Backport from mainline
4221         2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
4222
4223         * doc/invoke.texi: Replace -skip-rax-setup with -mskip-rax-setup.
4224
4225 2016-04-22  Szabolcs Nagy  <szabolcs.nagy@arm.com>
4226
4227         * system.h (list, map, set, vector): Include conditionally.
4228         * auto-profile.c (INCLUDE_MAP, INCLUDE_SET): Define.
4229         * graphite-isl-ast-to-gimple.c (INCLUDE_MAP): Define.
4230         * ipa-icf.c (INCLUDE_LIST): Define.
4231         * config/aarch64/cortex-a57-fma-steering.c (INCLUDE_LIST): Define.
4232         * config/sh/sh.c (INCLUDE_VECTOR): Define.
4233         * config/sh/sh_treg_combine.cc (INCLUDE_ALGORITHM): Define.
4234         (INCLUDE_LIST, INCLUDE_VECTOR): Define.
4235         * cp/logic.cc (INCLUDE_LIST): Define.
4236         * fortran/trans-common.c (INCLUDE_MAP): Define.
4237
4238 2016-04-22  Szabolcs Nagy  <szabolcs.nagy@arm.com>
4239
4240         * auto-profile.c: Remove <string.h> include.
4241         * ipa-icf-gimple.c: Remove <list> include.
4242         * diagnostic.c: Remove <new> include.
4243         * genmatch.c: Likewise.
4244         * pretty-print.c: Likewise.
4245         * toplev.c: Likewise
4246         * c/c-objc-common.c: Likewise.
4247         * cp/error.c: Likewise.
4248         * fortran/error.c: Likewise.
4249
4250 2016-04-21  Richard Biener  <rguenther@suse.de>
4251
4252         PR middle-end/70747
4253         * fold-const.c (fold_comparison): Return properly typed
4254         constant boolean.
4255
4256 2016-04-20  Andrew Pinski  <apinski@cavium.com>
4257             Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4258
4259         PR target/64971
4260         * config/aarch64/aarch64.md (sibcall): Force call
4261         address to be DImode for ILP32.
4262         (sibcall_value): Likewise.
4263
4264 2016-04-20  Marek Polacek  <polacek@redhat.com>
4265
4266         * tree-if-conv.c (is_false_predicate): For NULL_TREE return false
4267         rather than true.
4268
4269 2016-04-20  Marek Polacek  <polacek@redhat.com>
4270
4271         PR tree-optimization/70725
4272         * tree-if-conv.c (is_false_predicate): New function.
4273         (predicate_mem_writes): Use it.
4274
4275 2016-04-20  Richard Biener  <rguenther@suse.de>
4276
4277         PR tree-optimization/70726
4278         * tree-vect-stmts.c (vectorizable_shift): Do not use scalar
4279         shift amounts from a pattern stmt operand.
4280
4281 2016-04-20  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
4282
4283         PR target/70674
4284         * config/s390/s390.c (s390_restore_gprs_from_fprs): Pick the new
4285         stack_restore_from_fpr pattern when restoring r15.
4286         (s390_optimize_prologue): Strip away the memory barrier in the
4287         parallel when trying to get rid of restore insns.
4288         * config/s390/s390.md ("stack_restore_from_fpr"): New insn
4289         definition for loading the stack pointer from an FPR.  Compared to
4290         the normal move insn this pattern includes a full memory barrier.
4291
4292 2016-04-19  Richard Biener  <rguenther@suse.de>
4293
4294         PR tree-optimization/70724
4295         * tree-ssa-sccvn.c (scc_vn_restore_ssa_info): Split SSA info
4296         restoring out from ...
4297         (free_scc_vn): ... here.
4298         * tree-ssa-sccvn.h (scc_vn_restore_ssa_info): Declare.
4299         * tres-ssa-pre.c (pass_pre::execute): Restore SSA info before
4300         tail merging.
4301         (pass_fre::execute): Restore SSA info.
4302
4303 2016-04-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4304
4305         * doc/install.texi (Specific, i?86-*-solaris2.10): Update gas and
4306         gld requirements.
4307         (Specific, *-*-solaris2*): Update Solaris 11 bundled gcc
4308         versions.
4309         Mention Solaris 11 packaging changes.
4310         Update gas and gld requirements.
4311         Remove reference to pre-Solaris 10 bug.
4312         (Specific, sparc-sun-solaris2*): Remove reference to pre-Solaris 10
4313         systems and bugs.
4314         (Specific, sparc64-*-solaris2*): Remove reference to bootstrap
4315         with cc.
4316
4317 2016-04-18  Matthew Wahab  <matthew.wahab@arm.com>
4318
4319         PR target/70711
4320         * config/arm/bpabi.h (BE8_LINK_SPEC): Add entries for armv8+crc,
4321         armv8.1-a and armv8.1-a+crc.
4322
4323 2016-04-18  Segher Boessenkool  <segher@kernel.crashing.org>
4324
4325         * has-brig.c (lendian16): Don't try to use __builtin_bswap16
4326         unless compiling with at least GCC-4.8.
4327
4328 2016-04-15  Kirill Yukhin  <kirill.yukhin@intel.com>
4329
4330         PR target/70662
4331         * config/i386/sse.md (define_insn "<avx512>_vec_dup<mode><mask_name>"):
4332         Fix mode size check.
4333
4334 2016-04-15  Jakub Jelinek  <jakub@redhat.com>
4335
4336         * BASE-VER: Set to 6.0.1.
4337         * DEV-PHASE: Set to prerelease.
4338
4339 2016-04-15  Alexander Monakov  <amonakov@ispras.ru>
4340
4341         * config/nvptx/nvptx.opt (moptimize): Add a period at end of help text.
4342
4343 2016-04-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4344
4345         * doc/invoke.texi (ARM Options): Add note on deprecation of pre-ARMv4T
4346         architecture revisions.
4347
4348 2016-04-15  Bernd Schmidt  <bschmidt@redhat.com>
4349
4350         * config/i386/i386-protos.h (ix86_using_red_zone): Declare.
4351         * config/i386/i386.c (ix86_using_red_zone): No longer static.
4352         * config/i386/i386.md (stack decrement to push peepholes): Guard
4353         with !x86_using_red_zone ().
4354
4355 2016-04-15  Jakub Jelinek  <jakub@redhat.com>
4356
4357         PR c++/70675
4358         * tree-pretty-print.c (do_niy): Add FLAGS argument, pass it down
4359         to dump_generic_node.
4360         (NIY): Pass also flags to do_niy.
4361
4362 2016-04-15  Thomas Schwinge  <thomas@codesourcery.com>
4363
4364         * omp-low.c (simd_clone_struct_alloc, simd_clone_struct_copy)
4365         (simd_clone_vector_of_formal_parm_types)
4366         (simd_clone_clauses_extract, simd_clone_compute_base_data_type)
4367         (simd_clone_mangle, simd_clone_create)
4368         (simd_clone_adjust_return_type, create_tmp_simd_array)
4369         (simd_clone_adjust_argument_types, simd_clone_init_simd_arrays)
4370         (struct modify_stmt_info, ipa_simd_modify_stmt_ops)
4371         (ipa_simd_modify_function_body, simd_clone_linear_addend)
4372         (simd_clone_adjust, expand_simd_clones, ipa_omp_simd_clone)
4373         (pass_data_omp_simd_clone, class pass_omp_simd_clone)
4374         (pass_omp_simd_clone::gate, make_pass_omp_simd_clone): Move
4375         into...
4376         * omp-simd-clone.c: ... this new file.
4377         (simd_clone_vector_of_formal_parm_types): Make it static.
4378         * Makefile.in (OBJS): Add omp-simd-clone.o.
4379
4380 2016-04-15  Kirill Yukhin  <kirill.yukhin@intel.com>
4381
4382         PR target/70662
4383         * config/i386/sse.md: Use proper memory operand
4384         modifiers.
4385
4386
4387 2016-04-15  Richard Biener  <rguenther@suse.de>
4388         Alan Modra  <amodra@gmail.com>
4389
4390         PR tree-optimization/70130
4391         * tree-vect-data-refs.c (vect_supportable_dr_alignment): Detect
4392         when alignment stays not the same and no not use the realign
4393         scheme then.
4394
4395 2016-04-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
4396
4397         PR target/70669
4398         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add
4399         direct move handlers for KFmode. Change TFmode handlers test from
4400         FLOAT128_IEEE_P to FLOAT128_VECTOR_P.
4401
4402 2016-04-14  Jakub Jelinek  <jakub@redhat.com>
4403
4404         PR c++/70594
4405         * ipa-utils.h (polymorphic_ctor_dtor_p): New prototype.
4406         * ipa-polymorphic-call.c (polymorphic_ctor_dtor_p): New function.
4407         (inlined_polymorphic_ctor_dtor_block_p): Use it.
4408         * tree-ssa-live.c (remove_unused_scope_block_p): When
4409         in_ctor_dtor_block, avoid discarding not just BLOCKs with
4410         BLOCK_ABSTRACT_ORIGIN being FUNCTION_DECL, but even when
4411         block_ultimate_origin is FUNCTION_DECL.
4412         (remove_unused_locals): If current_function_decl is
4413         polymorphic_ctor_dtor_p, pass initial true to
4414         remove_unused_scope_block_p' is_ctor_dtor_block.
4415
4416 2016-04-14  Martin Sebor  <msebor@redhat.com>
4417
4418         PR c++/69517
4419         PR c++/70019
4420         PR c++/70588
4421         * doc/extend.texi (Variable Length): Revert.
4422
4423 2016-04-14  Marek Polacek  <polacek@redhat.com>
4424             Jan Hubicka  <hubicka@ucw.cz>
4425
4426         PR c++/70029
4427         * tree.c (verify_type): Disable the canonical type of main variant
4428         check.
4429
4430 2016-04-14  Jason Merrill  <jason@redhat.com>
4431
4432         * cfgexpand.c, expr.c: Revert previous change.
4433
4434 2016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
4435
4436         PR middle-end/70643
4437         * omp-low.c (lower_oacc_reductions): Check for TREE_CONSTANT
4438         when building a mem ref for the incoming reduction variable.
4439
4440 2016-04-14  Richard Biener  <rguenther@suse.de>
4441
4442         PR tree-optimization/70614
4443         * tree-scalar-evolution.c (analyze_evolution_in_loop): Terminate
4444         loop if the evolution dropped to chrec_dont_know.
4445         (interpret_condition_phi): Likewise.
4446
4447 2016-04-14  Richard Biener  <rguenther@suse.de>
4448
4449         PR tree-optimization/70623
4450         * tree-ssa-pre.c (changed_blocks): Make global ...
4451         (compute_antic): ... local here.  Move and fix worklist
4452         handling here.  Do not clear EDGE_DFS_BACK or call mark_dfs_back_edges.
4453         (compute_antic_aux): Add dumping for MAX assumed succs.  Remove
4454         worklist handling, dump when ANTIC_IN changed.
4455         (compute_partial_antic_aux): Remove worklist handling.
4456         (init_pre): Do not compute post dominators.  Add a comment about
4457         the CFG order chosen.
4458         (fini_pre): Do not free post dominators.
4459
4460 2016-04-13  Martin Sebor  <msebor@redhat.com>
4461
4462         PR c++/69517
4463         PR c++/70019
4464         PR c++/70588
4465         * doc/extend.texi (Variable Length): Document C++ specifics.
4466
4467 2016-04-13  Jakub Jelinek  <jakub@redhat.com>
4468
4469         PR c++/70641
4470         * ipa-pure-const.c (pass_nothrow::execute): Call maybe_clean_eh_stmt
4471         on all recursive call stmts.  Return TODO_cleanup_cfg if any dead
4472         eh edges have been purged.
4473
4474         PR c++/70594
4475         * tree-sra.c (create_access_replacement,
4476         get_replaced_param_substitute): Set DECL_NAMELESS on repl if it
4477         gets fancy name.
4478         * tree-pretty-print.c (dump_fancy_name): New function.
4479         (dump_decl_name, dump_generic_node): Use it.
4480
4481 2016-04-13  Jason Merrill  <jason@redhat.com>
4482
4483         * cfgexpand.c (pass_expand::execute): Handle attribute "abi warning".
4484         * expr.c (expand_expr_real_1): Likewise.
4485
4486 2016-04-13  Ilya Enkovich  <ilya.enkovich@intel.com>
4487
4488         * config/i386/i386.md (kunpckhi): Swap operands.
4489         (kunpcksi): Likewise.
4490         (kunpckdi): Likewise.
4491         * config/i386/sse.md (vec_pack_trunc_qi): Likewise.
4492         (vec_pack_trunc_<mode>): Likewise.
4493
4494 2016-04-13  Jakub Jelinek  <jakub@redhat.com>
4495
4496         PR debug/70628
4497         * explow.c (convert_memory_address_addr_space_1): Formatting fix.
4498
4499         PR middle-end/70633
4500         * gimplify.c (gimplify_init_constructor): Clear TREE_STATIC if
4501         gimplification turns some element into non-constant.
4502
4503         PR debug/70628
4504         * rtl.h (convert_memory_address_addr_space_1): New prototype.
4505         * explow.c (convert_memory_address_addr_space_1): No longer static,
4506         add NO_EMIT argument and don't call convert_modes if true, pass
4507         it down recursively, remove break after return.
4508         (convert_memory_address_addr_space): Adjust caller.
4509         * simplify-rtx.c (simplify_unary_operation_1): Call
4510         convert_memory_address_addr_space_1 instead of convert_memory_address,
4511         if it returns NULL, don't simplify.
4512
4513 2016-04-12  Eric Botcazou  <ebotcazou@adacore.com>
4514
4515         PR target/70630
4516         * config/sparc/sparc.c (sparc_compute_frame_size): Add parentheses.
4517
4518 2016-04-12  Jakub Jelinek  <jakub@redhat.com>
4519
4520         * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
4521         Bump the upper SIMDLEN limits, so that if the return type or
4522         characteristic type if the return type is void can be passed in
4523         all available SSE2/AVX/AVX2/AVX512-F registers, the SIMDLEN is
4524         allowed.
4525
4526 2016-04-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
4527
4528         PR target/70640
4529         * config/rs6000/rs6000.md (ieee_128bit_vsx_neg<mode>2_internal):
4530         Do not use "=" constraint on an input constraint.
4531         (ieee_128bit_vsx_abs<mode>2_internal): Likewise.
4532         (ieee_128bit_vsx_nabs<mode>2_internal): Likewise.
4533         (ieee_128bit_vsx_nabs<mode>2): Correct splitter so that it
4534         generates (neg (abs ...)) instead of (abs ...).
4535
4536 2016-04-12  Jakub Jelinek  <jakub@redhat.com>
4537
4538         PR rtl-optimization/70596
4539         * lra-spills.c (spill_pseudos): Don't delete debug insns, instead
4540         just invalidate LRA data and reset them.  Adjust dump wording.
4541
4542 2016-04-12  Martin Liska  <mliska@suse.cz>
4543
4544         Revert
4545         2016-03-30  Jan Hubicka  <hubicka@ucw.cz>
4546
4547         * tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic
4548         estimates here.
4549         * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
4550         max_loop_iterations_int.
4551         (tree_unswitch_outer_loop): Likewise.
4552         * tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
4553         * tree-vect-loop.c (vect_analyze_loop_2): Likewise.
4554
4555 2016-04-12  Tom de Vries  <tom@codesourcery.com>
4556
4557         PR tree-optimization/68756
4558         * graphite-isl-ast-to-gimple.c (copy_cond_phi_args): Use new_expr
4559         instead of new_name.
4560
4561 2016-04-12  Jakub Jelinek  <jakub@redhat.com>
4562
4563         PR tree-optimization/70602
4564         * tree-sra.c (generate_subtree_copies): Don't write anything into
4565         constant pool decls.
4566
4567         * omp-low.c (lower_omp_target): Use GOMP_MAP_FIRSTPRIVATE_INT
4568         regardless whether there are depend clauses or not.
4569
4570 2016-04-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
4571
4572         PR target/70381
4573         * config/rs6000/rs6000.c (rs6000_opt_masks): Disable using the
4574         target attribute and pragma from changing the -mfloat128
4575         and -mfloat128-hardware options.
4576
4577         * doc/extend.texi (Additional Floating Types): Document PowerPC
4578         __float128 restrictions.
4579
4580 2016-04-11  James Greenhalgh  <james.greenhalgh@arm.com>
4581
4582         PR target/70133
4583         * config/aarch64/driver-aarch64.c
4584         (aarch64_get_extension_string_for_isa_flags): New.
4585         (arch_extension): Rename to...
4586         (aarch64_arch_extension): ...This.
4587         (ext_to_feat_string): Rename to...
4588         (aarch64_extensions): ...This.
4589         (aarch64_core_data): Keep track of architecture extension flags.
4590         (cpu_data): Rename to...
4591         (aarch64_cpu_data): ...This.
4592         (aarch64_arch_driver_info): Keep track of architecture extension
4593         flags.
4594         (get_arch_name_from_id): Rename to...
4595         (get_arch_from_id): ...This, change return type.
4596         (host_detect_local_cpu): Update and reformat for renames, handle
4597         extensions through common infrastructure.
4598
4599 2016-04-11  James Greenhalgh  <james.greenhalgh@arm.com>
4600
4601         PR target/70133
4602         * config/aarch64/aarch64-common.c (aarch64_option_extension): Keep
4603         track of a canonical flag name.
4604         (all_extensions): Likewise.
4605         (arch_to_arch_name): Also track extension flags enabled by the arch.
4606         (all_architectures): Likewise.
4607         (aarch64_parse_extension): Move to here.
4608         (aarch64_get_extension_string_for_isa_flags): Take a new argument,
4609         rework.
4610         (aarch64_rewrite_selected_cpu): Update for above change.
4611         * config/aarch64/aarch64-option-extensions.def: Rework the way flags
4612         are handled, such that the single explicit value enabled by an
4613         extension is kept seperate from the implicit values it also enables.
4614         * config/aarch64/aarch64-protos.h (aarch64_parse_opt_result): Move
4615         to here.
4616         (aarch64_parse_extension): New.
4617         * config/aarch64/aarch64.c (aarch64_parse_opt_result): Move from
4618         here to config/aarch64/aarch64-protos.h.
4619         (aarch64_parse_extension): Move from here to
4620         common/config/aarch64/aarch64-common.c.
4621         (aarch64_option_print): Update.
4622         (aarch64_declare_function_name): Likewise.
4623         (aarch64_start_file): Likewise.
4624         * config/aarch64/driver-aarch64.c (arch_extension): Keep track of
4625         the canonical flag for extensions.
4626         * config.gcc (aarch64*-*-*): Extend regex for capturing extension
4627         flags.
4628
4629 2016-04-11  James Greenhalgh  <james.greenhalgh@arm.com>
4630
4631         * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8_1): Also add
4632         AARCH64_FL_CRC.
4633
4634 2016-04-09  Tom de Vries  <tom@codesourcery.com>
4635
4636         PR tree-optimization/68953
4637         * graphite-sese-to-poly.c (pdr_add_memory_accesses): Order accesses from
4638         first to last subscript.
4639
4640 2016-04-09  Jakub Jelinek  <jakub@redhat.com>
4641
4642         PR tree-optimization/70586
4643         * tree-ssa-ifcombine.c (bb_no_side_effects_p): Return false
4644         for any calls.
4645
4646 2016-04-08  Cesar Philippidis  <cesar@codesourcery.com>
4647
4648         PR lto/70289
4649         PR ipa/70348
4650         PR tree-optimization/70373
4651         PR middle-end/70533
4652         PR middle-end/70534
4653         PR middle-end/70535
4654         * gimplify.c (gimplify_adjust_omp_clauses): Add or adjust data
4655         clauses for acc parallel reductions as necessary.  Error on those
4656         that are private.
4657         * omp-low.c (scan_sharing_clauses): Don't install variables which
4658         are used in acc parallel reductions.
4659         (lower_rec_input_clauses): Remove dead code.
4660         (lower_oacc_reductions): Add support for reference reductions.
4661         (lower_reduction_clauses): Remove dead code.
4662         (lower_omp_target): Don't remap variables appearing in acc parallel
4663         reductions.
4664         * tree.h (OMP_CLAUSE_MAP_IN_REDUCTION): New macro.
4665
4666 2016-04-08  Jakub Jelinek  <jakub@redhat.com>
4667
4668         PR middle-end/70593
4669         * tree-ssa-coalesce.c (build_ssa_conflict_graph): For stmt
4670         with multiple SSA_NAME defs, force the outputs other than first
4671         to be live before calling live_track_process_def on each output.
4672
4673         PR rtl-optimization/70574
4674         * fwprop.c (forward_propagate_and_simplify): Don't add
4675         REG_EQUAL note if DF_REF_REG (use) is a paradoxical subreg.
4676         (try_fwprop_subst): Don't add REG_EQUAL note if there are any
4677         paradoxical subregs within *loc.
4678
4679 2016-04-08  Thomas Schwinge  <thomas@codesourcery.com>
4680
4681         * config/arc/arc.h (LINK_COMMAND_SPEC): Use gt to ignore
4682         -ftree-parallelize-loops={0,1}.
4683         * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
4684         * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
4685         * config/ia64/hpux.h (LIB_SPEC): Likewise.
4686         * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
4687         * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
4688
4689 2016-04-08  Maxim Ostapenko  <m.ostapenko@samsung.com>
4690
4691         PR sanitizer/70541
4692         * asan.c (instrument_derefs): If we get unknown location, extract it
4693         with EXPR_LOCATION.
4694         (maybe_instrument_call): Instrument gimple_call's arguments if needed.
4695
4696 2016-04-08  Tom de Vries  <tom@codesourcery.com>
4697
4698         * omp-low.c (lower_omp_target): Set TREE_NO_WARNING for oacc
4699         implicit firstprivate clause.
4700
4701 2016-04-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4702
4703         PR target/70566
4704         * config/arm/thumb2.md (tst + branch-> lsls + branch
4705         peephole below *orsi_not_shiftsi_si): Require that condition
4706         register is dead after the peephole.
4707         (second peephole after the above): Likewise.
4708
4709 2016-04-08  Alan Modra  <amodra@gmail.com>
4710
4711         PR target/70117
4712         * builtins.c (fold_builtin_classify): For IBM extended precision,
4713         look at just the high-order double to test for NaN.
4714         (fold_builtin_interclass_mathfn): Similarly for Inf.  For isnormal
4715         test just the high double for Inf but both doubles for subnormal
4716         limit.
4717
4718 2016-04-07  Jakub Jelinek  <jakub@redhat.com>
4719
4720         * cgraph.h (struct cgraph_simd_clone): Add mask_mode field.
4721         * omp-low.c (simd_clone_init_simd_arrays, simd_clone_adjust): Handle
4722         node->simdclone->mask_mode != VOIDmode masks.
4723         (simd_clone_adjust_argument_types): Likewise.  Move sc var definition
4724         earlier, use it instead of node->simdclone.
4725         * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
4726         Set clonei->mask_mode.
4727
4728 2016-04-06  Patrick Palka  <ppalka@gcc.gnu.org>
4729
4730         PR c/70436
4731         * parser.c (cp_parser_iteration_statement): New parameter IF_P.
4732         Pass it through to cp_parser_already_scoped_statement.
4733         (cp_parser_already_scoped_statement): New parameter IF_P.  Pass
4734         it through to cp_parser_statement.
4735         (cp_parser_statement): Pass IF_P through to
4736         cp_parser_iteration_statement.
4737         (cp_parser_pragma): Adjust call to
4738         cp_parser_iteration_statement.
4739
4740 2016-04-06  Patrick Palka  <ppalka@gcc.gnu.org>
4741
4742         PR c/70436
4743         * gimplify.c (gimplify_omp_ordered): Add explicit braces to
4744         resolve a future -Wparentheses warning.
4745         * omp-low.c (scan_sharing_clauses): Likewise.
4746         * tree-parloops.c (eliminate_local_variables): Likewise.
4747
4748 2016-04-06  Vladimir Makarov  <vmakarov@redhat.com>
4749
4750         PR rtl-optimization/70398
4751         * lra-constraints.c (process_address_1): Check zero scale and code
4752         for reloading with zero scale.
4753
4754 2016-04-06  Uros Bizjak  <ubizjak@gmail.com>
4755
4756         * config/i386/sse.md (shuffletype): Add V32HI and V4TI modes.
4757         (ssescalarsize): Add V8SF, V4SF, V4DF and V2DF modes.
4758
4759 2016-04-06  Jakub Jelinek  <jakub@redhat.com>
4760
4761         * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
4762         Add support for AVX512F clones, include them by default for
4763         exported OpenMP declare simd functions.  For AVX2 allow simdlen 32
4764         and use it if charasteric type is 8-bit, for AVX512F allow simdlen
4765         up to 128.
4766
4767         PR middle-end/70550
4768         * tree.h (OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT): Define.
4769         * gimplify.c (gimplify_adjust_omp_clauses_1): Set it for implicit
4770         firstprivate clauses.
4771         * omp-low.c (lower_send_clauses): Set TREE_NO_WARNING for
4772         OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT !by_ref vars in task contexts.
4773         (lower_omp_target): Set TREE_NO_WARNING for
4774         non-addressable possibly uninitialized vars which are copied into
4775         addressable temporaries or copied for GOMP_MAP_FIRSTPRIVATE_INT.
4776
4777 2016-04-05  John David Anglin  <danglin@gcc.gnu.org>
4778
4779         * config/pa/predicates.md (integer_store_memory_operand): Accept
4780         REG+D operands with a large offset when reload_in_progress is true.
4781         (floating_point_store_memory_operand): Likewise.
4782
4783 2016-04-05  Jakub Jelinek  <jakub@redhat.com>
4784
4785         PR c++/70336
4786         * match.pd (nested int casts): Limit to GIMPLE.
4787
4788 2016-04-05  Jan Hubicka  <hubicka@ucw.cz>
4789
4790         PR ipa/66223
4791         * ipa-devirt.c (maybe_record_node): Fix comment; use
4792         SANITIZE_UNREACHABLE instead of SANITIZE_UNDEFINED.
4793
4794 2016-04-05  Jakub Jelinek  <jakub@redhat.com>
4795
4796         PR rtl-optimization/70542
4797         * ree.c (add_removable_extension): For VECTOR_MODE_P punt
4798         if there are any uses other than insn or debug insns.
4799
4800 2016-04-05  Marc Glisse  <marc.glisse@inria.fr>
4801             Jakub Jelinek  <jakub@redhat.com>
4802
4803         PR tree-optimization/70509
4804         * simplify-rtx.c (simplify_binary_operation_1) <case VEC_SELECT>:
4805         Shift HOST_WIDE_INT_1U instead of 1.
4806
4807 2016-04-05  Zdenek Sojka  <zsojka@seznam.cz>
4808
4809         PR tree-optimization/70509
4810         * tree-ssa-forwprop.c (simplify_bitfield_ref): Use bitsize_int instead
4811         of the vector base type for index.
4812
4813 2016-04-05  Uros Bizjak  <ubizjak@gmail.com>
4814
4815         PR target/70510
4816         * config/i386/sse.md (iptr): Add V64QI, V32HI, V16SI and V8DI modes.
4817
4818 2016-04-05  Richard Biener  <rguenther@suse.de>
4819
4820         PR tree-optimization/70526
4821         * tree-sra.c (build_ref_for_offset): Use prev_base to
4822         extract the alias pointer type.
4823
4824 2016-04-05  Richard Biener  <rguenther@suse.de>
4825
4826         * dse.c (struct store_info): Remove alias_set member.
4827         (struct read_info_type): Likewise.
4828         (clear_alias_group, clear_alias_mode_table, clear_alias_mode_holder,
4829         spill_deleted, clear_alias_set_lookup): Remove.
4830         (get_group_info): Remove dead base == NULL_RTX case.
4831         (dse_step0): Remove initialization of removed variables.
4832         (delete_dead_store_insn): Reomve alias set dumping.
4833         (free_read_records): Remove alias_set handling.
4834         (canon_address): Remove alias_set_out parameter.
4835         (record_store): Remove spill_alias_set, it's always zero.
4836         (check_mem_read_rtx): Likewise.
4837         (dse_step2): Rename from ...
4838         (dse_step2_nospill): ... this.  Adjust.
4839         (scan_stores): Rename from ...
4840         (scan_stores_nospill): ... this.
4841         (scan_reads): Rename from ...
4842         (scan_reads_nospill): ... this.
4843         (scan_stores_spill, scan_reads_spill): Remove.
4844         (dse_step3_scan): Remove for_spills argument which is always false.
4845         (dse_step3): Likewise.
4846         (dse_step5): Rename from ...
4847         (dse_step5_nospill): ... this.  Remove alias_set handling.
4848         (rest_of_handle_dse): Adjust.
4849
4850 2016-04-05  Jakub Jelinek  <jakub@redhat.com>
4851
4852         PR target/70525
4853         * config/i386/sse.md (*andnot<mode>3): Simplify assertions.
4854         Use vpandn<ssemodesuffix> for V16SI/V8DImode, vpandnq for
4855         V32HI/V64QImode, don't use <mask_operand3_1>, fix up formatting.
4856         (*andnot<mode>3_mask): Remove insn with VI12_AVX512VL iterator.
4857
4858 2016-04-05  Richard Biener  <rguenther@suse.de>
4859
4860         PR middle-end/70499
4861         * gimplify-me.c (gimple_regimplify_operands): Do not rewrite
4862         non-register type temporaries into SSA.
4863
4864 2016-04-04  Jan Hubicka  <hubicka@ucw.cz>
4865
4866         PR ipa/66223
4867         * ipa-devirt.c (maybe_record_node): Do not optimize cxa_pure_virtual
4868         calls when sanitizing.
4869         (possible_polymorphic_call_target_p): Fix formatting.
4870
4871 2016-04-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4872             Jakub Jelinek <jakub@redhat.com>
4873
4874         PR middle-end/70457
4875         * tree-inline.c (estimate_num_insn): Use gimple_call_builtin_p
4876         to ensure a call statement is compatible with a built-in's
4877         prototype.
4878         * tree-ssa-math-opts.c (pass_optimize_windening_mul::execute):
4879         Likewise.
4880
4881 2016-04-04  Richard Biener  <rguenther@suse.de>
4882
4883         PR rtl-optimization/70484
4884         * rtl.h (canon_output_dependence): Declare.
4885         * alias.c (canon_output_dependence): New function.
4886         * dse.c (record_store): Use canon_output_dependence rather
4887         than canon_true_dependence.
4888
4889 2016-03-30  Jan Hubicka  <hubicka@ucw.cz>
4890
4891         PR ipa/68881
4892         * cgraph.h (symtab_node::copy_visibility_from): New function.
4893         * symtab.c (symtab_node::copy_visibility_from): New function.
4894         * ipa-visibility.c (optimize_weakref): New function.
4895         (function_and_variable_visibility): Use it.
4896
4897 2016-04-04  Martin Liska  <mliska@suse.cz>
4898
4899         PR hsa/70402
4900         * hsa-gen.c (gen_hsa_insns_for_switch_stmt): Guard index
4901         value that is really in range handled by SBR instruction.
4902         * hsa-brig.c (emit_switch_insn): Do not emit unconditional jump.
4903         * hsa-dump.c (dump_hsa_insn_1): Do not dump default BB.
4904         * hsa.h (hsa_insn_sbr::m_default_bb): Remove field.
4905
4906 2016-04-03  Oleg Endo  <olegendo@gcc.gnu.org>
4907
4908         PR target/70416
4909         PR target/67391
4910         * config/sh/sh.md (*addsi3): Allow pattern when reload_in_progress is
4911         set, but not for SP_REG operands.
4912
4913 2016-04-02  Martin Sebor  <msebor@redhat.com>
4914
4915         PR c++/67376
4916         * fold-const.c (maybe_nonzero_address): New function.
4917         (fold_comparison): Call it.  Fold equality and relational
4918         expressions involving null pointers.
4919         (tree_single_nonzero_warnv_p): Call maybe_nonzero_address.
4920
4921 2016-03-31  Evandro Menezes  <e.menezes@samsung.com>
4922
4923         Fix the predicate "aarch64_simd_reg_or_zero" to correctly validate
4924         the "Y" constraint (scalar FP 0.0 immediate).
4925
4926         * gcc/config/aarch64/predicates.md (aarch64_simd_reg_or_zero):
4927         Add the "const_double" to the list of operand constraints.
4928
4929 2016-04-01  Jakub Jelinek  <jakub@redhat.com>
4930
4931         PR rtl-optimization/70467
4932         * config/i386/i386.md (*add<dwi>3_doubleword, *sub<dwi>3_doubleword):
4933         If low word of the last operand is 0, just emit addition/subtraction
4934         for the high word.
4935
4936 2016-04-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
4937
4938         PR target/70404
4939         * config/s390/s390.c (s390_expand_insv): Check for everything
4940         constant instead of just VOIDmode stuff.
4941
4942 2016-04-01  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
4943
4944         PR target/70496
4945         * config/arm/arm.h (ASM_APP_OFF): Handle TARGET_ARM and TARGET_THUMB.
4946
4947 2016-04-01  Nathan Sidwell  <nathan@acm.org>
4948
4949         * tree.def (TRY_CATCH_EXPR): Correct documentation.
4950
4951 2016-03-31  Vladimir Makarov  <vmakarov@redhat.com>
4952
4953         PR rtl-optimization/70461
4954         * ira-color.c (allocno_copy_cost_saving): Use allocno class if it
4955         is necessary.
4956
4957 2016-03-31  Martin Liska  <mliska@suse.cz>
4958
4959         PR hsa/70399
4960         * hsa-brig.c (hsa_op_immed::emit_to_buffer): Emit either
4961         a tree value or an immediate integer value to a buffer
4962         that is eventually copied to a BRIG section.
4963         (emit_immediate_operand): Call the function here.
4964         * hsa-dump.c (dump_hsa_immed): Remove checking assert.
4965         * hsa-gen.c (hsa_op_immed::hsa_op_immed): Remove initialization
4966         of class' fields that are removed.
4967         (hsa_op_immed::~hsa_op_immed): Remove deinitialization.
4968         * hsa.h (class hsa_op_immed): Remove m_brig_repr and
4969         m_brig_repr_size fields.
4970
4971 2016-03-31  Martin Liska  <mliska@suse.cz>
4972
4973         PR hsa/70391
4974         * hsa-gen.c (hsa_function_representation::update_dominance): New
4975         function.
4976         (convert_addr_to_flat_segment): Likewise.
4977         (gen_hsa_memory_set): New alignment argument.
4978         (gen_hsa_ctor_assignment): Likewise.
4979         (gen_hsa_insns_for_single_assignment): Provide alignment
4980         to gen_hsa_ctor_assignment.
4981         (gen_hsa_insns_for_direct_call): Add new argument.
4982         (expand_lhs_of_string_op): New function.
4983         (expand_string_operation_builtin): Likewise.
4984         (expand_memory_copy): New function.
4985         (expand_memory_set): New function.
4986         (gen_hsa_insns_for_call): Use HOST_WIDE_INT.
4987         (convert_switch_statements): Change signature.
4988         (generate_hsa): Use a return value of the function.
4989         (pass_gen_hsail::execute): Do not call
4990         convert_switch_statements here.
4991         * hsa-regalloc.c (hsa_regalloc): Call update_dominance.
4992         * hsa.h (hsa_function_representation::m_modified_cfg): New flag.
4993         (hsa_function_representation::update_dominance): New function.
4994
4995 2016-03-31  Martin Liska  <mliska@suse.cz>
4996
4997         PR hsa/70391
4998         * hsa-brig.c (emit_directive_variable): Emit alignment
4999         according to hsa_symbol::m_align.
5000         * hsa-dump.c (hsa_byte_alignment): Move the function to another file.
5001         (dump_hsa_symbol): Dump alignment of HSA symbols.
5002         * hsa-gen.c (get_symbol_for_decl): Set-up alignment of a symbol.
5003         (gen_hsa_addr_with_align): New function.
5004         (hsa_bitmemref_alignment): Use newly added function.
5005         (gen_hsa_insns_for_load): Likewise.
5006         (gen_hsa_insns_for_store): Likewise.
5007         (gen_hsa_memory_copy): New argument added.
5008         (gen_hsa_insns_for_single_assignment): Respect
5009         alignment for assignments processed via gen_hsa_memory_copy.
5010         (gen_hsa_insns_for_direct_call): Likewise.
5011         (gen_hsa_insns_for_return): Likewise.
5012         (gen_function_def_parameters): Set default alignment.
5013         * hsa.c (hsa_object_alignment): New function.
5014         (hsa_byte_alignment): Pasted function.
5015         * hsa.h (hsa_symbol::m_align): New field.
5016
5017 2016-03-31  Bin Cheng  <bin.cheng@arm.com>
5018
5019         * tree-ssa-loop-ivopts.c (get_computation_cost_at): Initialize
5020         scratch field for goto case.
5021
5022 2016-03-31  James Greenhalgh  <james.greenhalgh@arm.com>
5023
5024         * config/arm/linux-elf.h (ASM_OUTPUT_DEF): Delete.
5025
5026 2016-03-31  Ilya Enkovich  <enkovich.gnu@gmail.com>
5027
5028         PR target/70442
5029         * config/i386/i386.c (scalar_chain::convert_op): Fix description.
5030         (scalar_chain::convert_insn): Call convert_op for reg
5031         moves to handle undefined registers.
5032
5033 2016-03-31  Nathan Sidwell  <nathan@acm.org>
5034
5035         PR c++/70393
5036         * varasm.c (output_constructor_regular_field): Flush bitfield earlier.
5037         Assert we don't want to move backwards.
5038
5039 2016-03-31  Kirill Yukhin  <kirill.yukhin@intel.com>
5040
5041         PR target/70453
5042         * config/i386/sse.md (define_mode_attr shuffletype): Fix typo.
5043
5044 2016-03-31  Jakub Jelinek  <jakub@redhat.com>
5045
5046         PR rtl-optimization/70460
5047         * ira.c (indirect_jump_optimize): Don't substitute LABEL_REF
5048         with operand from REG_LABEL_OPERAND, instead substitute
5049         SET_SRC or REG_EQUAL note content if it is a LABEL_REF.
5050         Don't do anything for REG_NON_LOCAL_GOTO jumps.
5051
5052 2016-03-31  Martin Liska  <mliska@suse.cz>
5053
5054         * passes.c (execute_one_pass): Do not call
5055         todo_after for a discarded function.
5056
5057 2016-03-31  Bin Cheng  <bin.cheng@arm.com>
5058
5059         * tree-ssa-loop-ivopts.c (struct comp_cost): New scrach field.
5060         (no_cost, infinite_cost): Initialize the new field.
5061         (get_computation_cost_at): Record setup cost.
5062         (determine_use_iv_cost_address): Skip cost computation for sub
5063         uses if we can estimate it without losing accuracy.
5064
5065 2016-03-30  Jan Hubicka  <hubicka@ucw.cz>
5066
5067         * tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic
5068         estimates here.
5069         * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
5070         max_loop_iterations_int.
5071         (tree_unswitch_outer_loop): Likewise.
5072         * tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
5073         * tree-vect-loop.c (vect_analyze_loop_2): Likewise.
5074
5075 2016-03-30  Richard Biener  <rguenther@suse.de>
5076
5077         PR middle-end/70450
5078         * fold-const.c (extract_muldiv_1): Fix thinko in wide_int::from usage.
5079
5080 2016-03-30  Jakub Jelinek  <jakub@redhat.com>
5081
5082         PR target/70421
5083         * config/i386/i386.c (ix86_expand_vector_set): Fix up argument order
5084         in gen_blendm expander.
5085
5086 2016-03-30  Nick Clifton  <nickc@redhat.com>
5087
5088         PR target/62254
5089         * config/arm/arm.c (arm_reload_out_hi): Add code to handle the
5090         case where we are already provided with an SImode SUBREG.
5091
5092 2016-03-30  H.J. Lu  <hongjiu.lu@intel.com>
5093
5094         PR target/70439
5095         * config/i386/i386.c (ix86_expand_epilogue): Properly check
5096         conflict between DRAP register and __builtin_eh_return.
5097
5098 2016-03-30  Michael Matz  <matz@suse.de>
5099             Richard Biener  <rguenther@suse.de>
5100
5101         PR ipa/12392
5102         * ipa-polymorphic-call.c (struct type_change_info): Change
5103         speculative to an unsigned allowing to limit the work we do.
5104         (csftc_abort_walking_p): New inline function..
5105         (check_stmt_for_type_change): Limit the number of may-defs
5106         skipped for speculative devirtualization to
5107         max-speculative-devirt-maydefs.
5108         * params.def (max-speculative-devirt-maydefs): New param.
5109         * doc/invoke.texi (--param max-speculative-devirt-maydefs): Document.
5110
5111 2016-03-30  Mike Stump  <mrs@gcc.gnu.org>
5112
5113         PR target/63890
5114         * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Use when profiling
5115         and TARGET_MACHO.
5116
5117 2016-03-30  Patrick Palka  <ppalka@gcc.gnu.org>
5118
5119         PR tree-optimization/59124
5120         * tree-vrp.c (register_edge_assert_for_2): For NAME != CST1
5121         where NAME = A +- CST2 add the assertion A != (CST1 -+ CST2).
5122
5123 2016-03-29  Jeff Law  <law@redhat.com>
5124
5125         * tree-ssa-coalesce.c (struct ssa_conflicts): Fix typo in comment.
5126
5127 2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
5128
5129         * tree-ssa-loop-ivcanon.c (try_peel_loop): Change type of peel
5130         to HOST_WIDE_INT.
5131
5132 2016-03-29  Thomas Schwinge  <thomas@codesourcery.com>
5133
5134         * config/gnu.h (CPP_SPEC, LIB_SPEC): Don't override.
5135         * config/i386/gnu.h (STARTFILE_SPEC): Use gcrt1.o instead of
5136         gcrt0.o if linking dynamically.
5137
5138 2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
5139
5140         PR ipa/70283
5141         * ipa-devirt.c (methods_equal_p): New function.
5142         (compare_virtual_tables): Use it.
5143         * cgraph.h (symbol_table::symbol_suffix_separator): Declare.
5144         * cgraphclones.c (clone_function_name_1): Use
5145         symbol_table::symbol_suffix_separator.
5146         * coverage.c (build_var): Likewise.
5147         * symtab.c (symbol_table::symbol_suffix_separator): New.
5148
5149 2016-03-29  Jakub Jelinek  <jakub@redhat.com>
5150
5151         PR rtl-optimization/70429
5152         * combine.c (simplify_shift_const_1): For ASHIFTRT don't optimize
5153         (cst1 >> count) >> cst2 into (cst1 >> cst2) >> count if
5154         mode != result_mode.
5155
5156         PR c++/70353
5157         * tree-inline.c (remap_decls): Don't add_local_decl if cfun is null.
5158
5159         PR tree-optimization/70405
5160         * ssa-iterators.h (num_imm_uses): Add missing braces.
5161
5162 2016-03-29  Vladimir Makarov  <vmakarov@redhat.com>
5163
5164         PR rtl-optimization/68695
5165         * ira-color.c (allocno_copy_cost_saving): New.
5166         (improve_allocation): Use it.
5167
5168 2016-03-29  Richard Henderson  <rth@redhat.com>
5169
5170         PR middle-end/70355
5171         * lower-subreg.c (simplify_subreg_concatn): Reject paradoxical subregs.
5172
5173 2016-03-29  Richard Biener  <rguenther@suse.de>
5174
5175         PR middle-end/70424
5176         * ipa-prop.c (ipa_compute_jump_functions_for_edge): Always
5177         use alignment returned by get_pointer_alignment_1 if it is
5178         bigger than BITS_PER_UNIT.
5179         * builtins.c (get_pointer_alignment_1): Do not return true
5180         for alignment extracted from SSA info.
5181
5182 2016-03-28  James Bowman  <james.bowman@ftdichip.com>
5183
5184         * config/ft32/ft32.opt (mnodiv): New.
5185         * config/ft32/ft32.md (*divsi3, *modsi3): Qualify with TARGET_NODIV.
5186         * doc/invoke.texi (FT32 Options -mnodiv): New.
5187
5188 2016-03-28  Kirill Yukhin  <kirill.yukhin@intel.com>
5189
5190         PR target/70406
5191         * config/i386/i386.md (define_split, andn): Fix modes.
5192
5193 2016-03-26  Richard Biener  <rguenther@suse.de>
5194             Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
5195
5196         PR ipa/70366
5197         * ipa-inline-transform.c (inline_call): Pass opts_for_fn (to->decl)
5198         instead of
5199         TREE_OPTIMIZATION (DECL_FUNCTION_SPECIFIC_OPTIMIZATION (to->decl))
5200         as 2nd argument to cl_optimization_restore().
5201
5202 2016-03-25  Richard Henderson  <rth@redhat.com>
5203
5204         PR target/70120
5205         * config/aarch64/aarch64.c (aarch64_asm_output_pool_epilogue): New.
5206         * config/aarch64/aarch64-protos.h: Declare it.
5207         * config/aarch64/aarch64.h (ASM_OUTPUT_POOL_EPILOGUE): New.
5208
5209 2016-03-25  Alan Modra  <amodra@gmail.com>
5210
5211         PR target/70052
5212         * config/rs6000/constraints.md (j): Simplify.
5213         * config/rs6000/predicates.md (easy_fp_constant): Exclude
5214         decimal float 0.D.
5215         * config/rs6000/rs6000.md (zero_fp): New mode_attr.
5216         (mov<mode>_hardfloat, mov<mode>_hardfloat32, mov<mode>_hardfloat64,
5217          mov<mode>_64bit_dm, mov<mode>_32bit): Use zero_fp in place of j
5218         in all constraint alternatives.
5219         (movtd_64bit_nodm): Delete "j" constraint alternative.
5220
5221 2016-03-24  Aldy Hernandez  <aldyh@redhat.com>
5222
5223         * tree-ssa-propagate.c: Enhance docs for
5224         SSA_PROP_NOT_INTERESTING.
5225
5226 2016-03-24  Aldy Hernandez  <aldyh@redhat.com>
5227
5228         * doc/extend.texi: Fix typo in documentation to pure attribute.
5229
5230 2016-03-24  John David Anglin  <danglin@gcc.gnu.org>
5231
5232         PR target/70319
5233         * config/pa/pa.md (bswapdi2): Use a scratch register.
5234
5235 2016-03-24  Richard Henderson  <rth@redhat.com>
5236
5237         PR middle-end/69845
5238         * fold-const.c (extract_muldiv_1): Correct test for multiplication
5239         overflow.
5240
5241 2016-03-24  Uros Bizjak  <ubizjak@gmail.com>
5242
5243         * config/i386/i386.md (*anddi3_doubleword): Generate AND insn
5244         using ix86_expand_binary_operator instead of gen_andsi3.
5245
5246 2016-03-24  Richard Biener  <rguenther@suse.de>
5247
5248         PR tree-optimization/70396
5249         * tree-vect-stmts.c (vectorizable_comparison): Use
5250         get_vectype_for_scalar_type.
5251
5252 2016-03-24  Richard Biener  <rguenther@suse.de>
5253
5254         PR middle-end/70370
5255         * gimplify.c (gimplify_asm_expr): Handle !allows_mem outputs
5256         with register bases.
5257
5258 2016-03-24  Richard Biener  <rguenther@suse.de>
5259
5260         PR tree-optimization/70372
5261         * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Use
5262         build_all_ones_cst to also handle vector types correctly.
5263
5264 2016-03-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
5265
5266         PR target/70381
5267         * config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Do not set
5268         -mfloat128 here.
5269
5270 2016-03-23  Marek Polacek  <polacek@redhat.com>
5271
5272         PR c++/69884
5273         * doc/invoke.texi: Document -Wignored-attributes.
5274
5275 2016-03-23  Bin Cheng  <bin.cheng@arm.com>
5276
5277         PR tree-optimization/69042
5278         * params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND): Increase the
5279         parameter from 30 to 40.
5280
5281 2016-03-23  Bin Cheng  <bin.cheng@arm.com>
5282
5283         PR tree-optimization/69042
5284         * tree-ssa-loop-ivopts.c (add_iv_candidate_for_use): Add IV cand
5285         for use with constant offset stripped in base.
5286
5287 2016-03-23  Richard Biener  <rguenther@suse.de>
5288
5289         PR middle-end/70251
5290         * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Adjust
5291         mode compatibility check.
5292         (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
5293
5294 2016-03-23  Jeff Law  <law@redhat.com>
5295
5296         PR tree-optimization/64058
5297         * tree-ssa-coalesce.c (struct coalesce_pair): Add new field
5298         CONFLICT_COUNT.
5299         (struct ssa_conflicts): Move up earlier in the file.
5300         (conflicts_, var_map_): New static variables.
5301         (initialize_conflict_count): New function to initialize the
5302         CONFLICT_COUNT field for each conflict pair.
5303         (compare_pairs): Lazily initialize the conflict count and use it
5304         as the first tie-breaker.
5305         (sort_coalesce_list): Add new arguments conflicts, map.  Initialize
5306         and wipe conflicts_ and map_ around the call to qsort.  Remove
5307         special case for 2 coalesce pairs.
5308         * bitmap.c (bitmap_count_unique_bits): New function.
5309         (bitmap_count_bits_in_word): New function, extracted from
5310         bitmap_count_bits.
5311         (bitmap_count_bits): Use bitmap_count_bits_in_word.
5312         * bitmap.h (bitmap_count_unique_bits): Declare it.
5313
5314 2016-03-23  Ilya Enkovich  <enkovich.gnu@gmail.com>
5315
5316         PR target/69917
5317         * config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Follow
5318         transparent alias chain for decl assembler name.
5319         * config/sol2.c (solaris_assemble_visibility): Likewise.
5320
5321 2016-03-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5322
5323         * config/arm/arm1020e.md (1020call_op): Reduce reservation
5324         duration.
5325         (v10_fdivs): Likewise.
5326         (v10_fdivd): Likewise.
5327
5328 2016-03-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5329
5330         PR driver/70132
5331         * config/arm/driver-arm.c (host_detect_local_cpu): Reorder exit logic
5332         to not call fclose twice on file.
5333
5334 2016-03-23  Jakub Jelinek  <jakub@redhat.com>
5335
5336         PR tree-optimization/70354
5337         * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
5338         oprnd0 is wider than oprnd1 and there is a cast from the wider
5339         type to oprnd1, mask it with the mask of the narrower type.
5340
5341         PR target/70321
5342         * config/i386/i386.md (*anddi3_doubleword, *<code>di3_doubleword):
5343         Optimize TARGET_STV splitters, if high or low word of last argument
5344         is 0 or -1.
5345
5346 2016-03-22  Jeff Law  <law@redhat.com>
5347
5348         PR target/70232
5349         tree-ssa-threadbackward.c
5350         (fsm_find_control_statement_thread_paths): Correctly distinguish
5351         between old style jump threads vs FSM jump threads.
5352
5353 2016-03-22  Ilya Enkovich  <enkovich.gnu@gmail.com>
5354
5355         PR target/70302
5356         * config/i386/i386.c (scalar_chain::convert_op): Support
5357         uninitialized register usage case.
5358
5359 2016-03-22  Richard Biener  <rguenther@suse.de>
5360
5361         PR middle-end/70251
5362         * genmatch.c (gen_transform): Adjust last parameter to a three-state
5363         int...
5364         (capture::gen_transform): ... to change behavior when substituting
5365         a condition into cond or not-cond expr context.
5366         (dt_simplify::gen_1): Adjust.
5367         * gimple-match-head.c: Include gimplify.h for unshare_expr.
5368         * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Revert
5369         last change and instead change to
5370         A + (B vcmp C ? 1 : 0) -> A - (B vcmp C ? -1 : 0).
5371         (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
5372
5373 2016-03-22  Anthony Green  <green@moxielogic.com>
5374
5375         * config/moxie/moxiebox.h (CC1_SPEC): Define.  Fix endianness
5376         issue for moxiebox targets.
5377         (CC1PLUS_SPEC): Ditto.
5378
5379 2016-03-22  Richard Biener  <rguenther@suse.de>
5380
5381         PR middle-end/70333
5382         * fold-const.c (extract_muldiv_1): Properly perform multiplication
5383         in the wide type.
5384
5385 2016-03-22  Kirill Yukhin  <kirill.yukhin@intel.com>
5386
5387         * config/i386/i386.c (def_builtin): Remove duplicated functionality.
5388
5389 2016-03-22  Kirill Yukhin  <kirill.yukhin@intel.com>
5390
5391         PR target/70325
5392         * config/i386/i386.c (def_builtin): Handle
5393         OPTION_MASK_ISA_AVX512VL to be and-ed with other
5394         bits.
5395         (const struct builtin_description bdesc_special_args[]):
5396         Remove duplicate ISA bits.
5397
5398 2016-03-22  Jakub Jelinek  <jakub@redhat.com>
5399
5400         PR target/70329
5401         * config/i386/i386.c (ix86_expand_vecop_qihi): Don't bother computing
5402         d.perm[i] for i >= d.nelt.  If not full_interleave, compute d.perm[i]
5403         in a way that works also for AVX512BW.
5404
5405         PR target/70300
5406         * config/i386/i386.md (cvtsd2ss splitter): Unpack in destination
5407         instead of source if operands[1] is xmm16 and above and
5408         !TARGET_AVX512VL.  Use avx512f_vec_dupv16sf_1 instead of
5409         vec_interleave_lowv4sf if we need to unpack xmm16 and above.
5410
5411         PR c++/70295
5412         * gimplify.c (gimplify_modify_expr): Call gimple_set_no_warning
5413         on assign if (*from_p) is a comparison, set it to
5414         TREE_NO_WARNING (*from_p).
5415
5416 2016-03-21  Jakub Jelinek  <jakub@redhat.com>
5417
5418         PR middle-end/70326
5419         * lra.c (restore_scratches): Ignore deleted insns.
5420
5421 2016-03-21  Marc Glisse  <marc.glisse@inria.fr>
5422             Jakub Jelinek  <jakub@redhat.com>
5423
5424         PR tree-optimization/70317
5425         * match.pd (cmp @0 @0): Pass @0 instead of TYPE_MODE (TREE_TYPE (@0))
5426         to HONOR_NANS.
5427
5428 2016-03-21  Uros Bizjak  <ubizjak@gmail.com>
5429
5430         PR target/70327
5431         * config/i386/i386.md (movxi): Use ix86_expand_vector_move instead
5432         of ix86_expand_move.
5433         (movoi): Ditto.
5434         (movti): Use general_operand for operand 1 predicate.
5435
5436 2016-03-21  Martin Liska  <mliska@suse.cz>
5437
5438         * hsa-dump.c (dump_hsa_insn_1): dump default branch of SBR
5439         insns.
5440         (dump_hsa_symbol): Dump BRIG offset of hsa_symbols.
5441
5442 2016-03-21  Martin Liska  <mliska@suse.cz>
5443
5444         PR ipa/70306
5445         * ipa-icf.c (sem_function::parse): Skip static
5446         constructors and destructors.
5447
5448 2016-03-21  Jakub Jelinek  <jakub@redhat.com>
5449
5450         PR target/70296
5451         * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If IDENT is
5452         function-like macro, peek following token(s) if it is followed
5453         by CPP_OPEN_PAREN token with optional padding in between, and
5454         if not, don't treat it like a macro.
5455
5456 2016-03-21  Thomas Schwinge  <thomas@codesourcery.com>
5457             Alexander Monakov  <amonakov@ispras.ru>
5458
5459         * config/nvptx/nvptx.c (nvptx_option_override): Don't emit sorry
5460         for the stabs debug format.
5461
5462 2016-03-21  Richard Biener  <rguenther@suse.de>
5463
5464         PR tree-optimization/70310
5465         * tree-vect-generic.c (expand_vector_condition): Fold the built
5466         condition.
5467
5468 2016-03-21  Kirill Yukhin  <kirill.yukhin@intel.com>
5469
5470         PR target/70293
5471         * config/i386/sse.md: (define_insn "*vec_dup<mode>"/AVX2):
5472         Block third alternative for AVX-512VL target,
5473
5474 2016-03-21  Martin Liska  <mliska@suse.cz>
5475
5476         PR hsa/70234
5477         * hsa-brig.c (emit_function_directives): Mark unemitted
5478         global variables for emission.
5479         * hsa-gen.c (hsa_symbol::hsa_symbol): Initialize a new flag.
5480         (get_symbol_for_decl): Likewise.
5481         * hsa.h (struct hsa_symbol): New flag.
5482
5483 2016-03-21  Richard Biener  <rguenther@suse.de>
5484
5485         PR tree-optimization/70288
5486         * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Make sure
5487         we do not estimate unsimplified all-constant conditionals or
5488         switches as optimized away.
5489
5490 2016-03-21  Andrey Belevantsev  <abel@ispras.ru>
5491
5492         PR rtl-optimization/69102
5493         * sched-deps.c (sched_analyze_insn): Do not set last_args_size field
5494         when we have a readonly dependency context.
5495
5496 2016-03-18  Jeff Law  <law@redhat.com>
5497
5498         PR rtl-optimization/70263
5499         * ira.c (memref_used_between_p): Assert we found END in the insn chain.
5500         (update_equiv_regs): When trying to move a store to after the insn
5501         that sets the source of the store, make sure the store occurs after
5502         the insn that sets the source of the store.  When successful note
5503         the REG_EQUIV note created in the dump file.
5504
5505 2016-03-16  David Wohlferd  <dw@LimeGreenSocks.com>
5506             Bernd Schmidt  <bschmidt@redhat.com>
5507
5508         * doc/extend.texi: Document more potential problems with basic asms.
5509
5510 2016-03-18  Bernd Schmidt  <bschmidt@redhat.com>
5511
5512         PR rtl-optimization/70278
5513         * lra-constraints.c (split_reg): Handle the case where biggest_mode is
5514         VOIDmode.
5515
5516 2016-03-18  Jason Merrill  <jason@redhat.com>
5517
5518         * calls.c (load_register_parameters): Fix zero size sibcall logic.
5519
5520 2016-03-18  Kirill Yukhin  <kirill.yukhin@intel.com>
5521
5522         * config/i386/sse.md: Use vpbroadcastq for broadcasting DF
5523         values to 128b regs.
5524
5525 2016-03-18  Ilya Enkovich  <enkovich.gnu@gmail.com>
5526
5527         PR tree-optimization/70252
5528         * tree-vect-stmts.c (supportable_widening_operation): Check resulting
5529         boolean vector has a proper number of elements.
5530         (supportable_narrowing_operation): Likewise.
5531
5532 2016-03-18  Tom de Vries  <tom@codesourcery.com>
5533
5534         PR ipa/70269
5535         * cgraph.c (cgraph_node::get_body): Set dump_file to NULL after save.
5536
5537 2016-03-18  Jakub Jelinek  <jakub@redhat.com>
5538
5539         * reload1.c (emit_input_reload_insns): Use simplify_replace_rtx
5540         instead of replace_rtx for DEBUG_INSNs.
5541
5542 2016-03-18  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
5543
5544         * config/i386/znver1.md : Fix latencies of FP/SSE/AVX
5545         load type reservations.
5546
5547 2016-03-17  John David Anglin  <danglin@gcc.gnu.org>
5548
5549         PR target/70188
5550         * config/pa/constraints.md: Revert 2015-02-13 change.  Use
5551         define_constraint for "Q" and "T" constraints.
5552
5553 2016-03-17  Evandro Menezes  <e.menezes@samsung.com>
5554
5555         Tweak the pipeline model for Exynos M1
5556
5557         * config/aarch64/aarch64.c (exynosm1_tunings):  Enable weak prefetching
5558         model.
5559
5560 2016-03-17  David Malcolm  <dmalcolm@redhat.com>
5561
5562         PR c/70264
5563         * diagnostic-show-locus.c (compatible_locations_p): Handle the case
5564         where one or both locations aren't within a line_map.
5565
5566 2016-03-17  H.J. Lu  <hongjiu.lu@intel.com>
5567
5568         PR driver/70192
5569         * opts.c (finish_options): Don't set flag_pie to the default if
5570         -fpic, -fPIC, -fno-pic or -fno-PIC is used.  Set flag_pic to 0
5571         if it is -1.
5572
5573 2016-03-17  Joern Rennecke  <joern.rennecke@embecosm.com>
5574
5575         * config/i386/i386.md (*movv4qicc_insn+1..36): Pass
5576         true as ALL_REGS argument to replace_rtx.
5577
5578 2016-03-17  Richard Biener  <rguenther@suse.de>
5579
5580         PR debug/70271
5581         * dwarf2out.c (dwarf2out_early_finish): Process deferred_asm_name
5582         last.
5583
5584 2016-03-17  Jakub Jelinek  <jakub@redhat.com>
5585
5586         PR target/70245
5587         * rtl.h (replace_rtx): Add ALL_REGS argument.
5588         * rtlanal.c (replace_rtx): Likewise.  If true, use REGNO
5589         equality and assert mode is the same, instead of just rtx pointer
5590         equality.
5591         * config/i386/i386.md (mov + arithmetics with load peephole): Pass
5592         true as ALL_REGS argument to replace_rtx.
5593
5594 2016-03-17  Ilya Enkovich  <enkovich.gnu@gmail.com>
5595
5596         * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Apply
5597         for boolean vector with vector mode only.
5598         (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
5599
5600 2016-03-17  Nick Clifton  <nickc@redhat.com>
5601
5602         PR target/70162
5603         * config/rx/rx.c (rx_print_integer): Print negative constants in
5604         decimal.
5605
5606 2016-03-17  Jakub Jelinek  <jakub@redhat.com>
5607
5608         PR target/70261
5609         * rtlanal.c (replace_rtx): Revert 2016-03-16 change.
5610
5611 2016-03-16  Richard Henderson  <rth@redhat.com>
5612             Richard Biener  <rguenth@suse.de>
5613
5614         PR middle-end/70240
5615         PR middle-end/68215
5616         PR tree-opt/68714
5617         * gimplify.c (gimplify_expr) [VEC_COND_EXPR]: Gimplify the
5618         first operand as is_gimple_condexpr.
5619
5620         PR middle-end/70240
5621         PR middle-end/68215
5622         Revert r231575
5623         2015-12-11  Eric Botcazou  <ebotcazou@adacore.com>
5624         * tree-vect-generic.c (tree_vec_extract): Remove GSI parameter.
5625         Do not gimplify the result.
5626         (do_unop): Adjust call to tree_vec_extract.
5627         (do_binop): Likewise.
5628         (do_compare): Likewise.
5629         (do_plus_minus): Likewise.
5630         (do_negate): Likewise.
5631         (expand_vector_condition): Likewise.
5632         (do_cond): Likewise.
5633
5634 2016-03-16  Richard Henderson  <rth@redhat.com>
5635
5636         PR target/70048
5637         * config/aarch64/aarch64.c (virt_or_elim_regno_p): New.
5638         (aarch64_classify_address): Use it.
5639         (aarch64_legitimize_address): Force all subexpressions of PLUS
5640         into registers.  Simplify as (sfp+const)+reg or (reg+reg)+const.
5641
5642 2016-03-16  Jakub Jelinek  <jakub@redhat.com>
5643             Richard Biener  <rguenth@suse.de>
5644
5645         PR target/70245
5646         * rtlanal.c (replace_rtx): For REG, if from is a REG,
5647         return to even if only REGNO is equal, and assert
5648         mode is the same.
5649
5650 2016-03-11  Jeff Law  <law@redhat.com>
5651
5652         PR rtl-optimization/70224
5653         * reorg.c (relax_delay_slots): Pass right argument to CROSSING_JUMP_P.
5654
5655 2016-03-16  Richard Henderson  <rth@redhat.com>
5656
5657         PR middle-end/70199
5658         * function.h (struct function): Add has_forced_label_in_static.
5659         * gimplify.c (force_labels_r): Set it.
5660         * lto-streamer-in.c (input_struct_function_base): Read it.
5661         * lto-streamer-out.c (output_struct_function_base): Write it.
5662         * tree-inline.c (has_label_address_in_static_1): Remove.
5663         (copy_forbidden): Remove fndecl parameter; test
5664         has_forced_label_in_static.
5665         (inline_forbidden_p): Update call to copy_forbidden.
5666         (tree_versionable_function_p): Likewise.
5667         * ipa-chkp.c (chkp_instrumentable_p): Likewise.
5668         (chkp_versioning): Likewise.
5669         * tree-inline.h (copy_forbidden): Update decl.
5670
5671 2016-03-16  Marek Polacek  <polacek@redhat.com>
5672
5673         PR c/70093
5674         * cgraphunit.c (cgraph_node::expand_thunk): Also build call to the
5675         function being thunked if the result type doesn't have fixed size.
5676         * gimplify.c (gimplify_modify_expr): Also set LHS if the result type
5677         doesn't have fixed size.
5678
5679 2016-03-16  Bin Cheng  <bin.cheng@arm.com>
5680
5681         * tree-vect-loop.c (vect_analyze_loop_2): Fix wrong dump info by
5682         reporting malformed loop nest.
5683
5684 2016-03-16  Tom de Vries  <tom@codesourcery.com>
5685
5686         PR lto/70187
5687         * ipa-devirt.c (possible_polymorphic_call_targets): Move
5688         nodes.length () == 1 test to before first nodes[0] access.
5689
5690 2016-03-16  Tom de Vries  <tom@codesourcery.com>
5691
5692         PR tree-optimization/68715
5693         * graphite-scop-detection.c (scop_detection::merge_sese): Add missing
5694         single_pred_p test.
5695
5696 2016-03-16  Tom de Vries  <tom@codesourcery.com>
5697
5698         PR tree-optimization/68809
5699         * graphite-scop-detection.c (same_close_phi_node): Test if result types
5700         are the same.
5701
5702 2016-03-16  Carlos O'Donell  <carlos@redhat.com>
5703             Sandra Loosemore  <sandra@codesourcery.com>
5704
5705         * doc/extend.texi (Common Function Attributes): Describe ifunc impact
5706         on leaf attribute. Mention ELF interposition problems.
5707
5708 2016-03-16  Alan Modra  <amodra@gmail.com>
5709
5710         PR rtl-optimization/69195
5711         PR rtl-optimization/47992
5712         * ira.c (indirect_jump_optimize): Ignore artificial defs.
5713         Add comments.
5714
5715 2016-03-15  Eric Botcazou  <ebotcazou@adacore.com>
5716
5717         PR bootstrap/69513
5718         * dwarf2out.c (flush_limbo_die_list): Really flush the limbo list.
5719
5720 2016-03-15  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
5721
5722         * config/avr/avr.md (rotl<mode>3): Set mode for operand 2.
5723
5724 2016-03-15  Jakub Jelinek  <jakub@redhat.com>
5725
5726         PR rtl-optimization/70222
5727         * combine.c (simplify_shift_const_1): For A >> B >> C LSHIFTRT
5728         optimization if mode is different from result_mode, queue up masking
5729         of the result in outer_op.  Formatting fix.
5730
5731         PR middle-end/70239
5732         * tree-ssa-sccvn.c (VN_INFO_GET): Use safe_grow_cleared instead
5733         of safe_grow.
5734
5735 2016-03-15  Andrey Belevantsev  <abel@ispras.ru>
5736
5737         PR rtl-optimization/69032
5738         * sel-sched-ir.c (get_seqno_by_preds): Include both insn and head when
5739         looping backwards over basic block insns.
5740
5741 2016-03-15  Andrey Belevantsev  <abel@ispras.ru>
5742
5743         PR target/66660
5744         * sel-sched-ir.c (merge_expr): Avoid changing the speculative pattern
5745         to non-speculative when propagating trap bits.
5746
5747 2016-03-15  Andrey Belevantsev  <abel@ispras.ru>
5748
5749         PR rtl-optimization/63384
5750         * sel-sched.c (invoke_aftermath_hooks): Do not decrease issue_more on
5751         DEBUG_INSN_P insns.
5752
5753 2016-03-15  Andrey Belevantsev  <abel@ispras.ru>
5754
5755         PR target/64411
5756         * sched-deps.c (get_implicit_reg_pending_clobbers): New function,
5757         factored out from ...
5758         (sched_analyze_insn): ... here.
5759         * sched-int.h (get_implicit_reg_pending_clobbers): Declare it.
5760         * sel-sched-ir.c (setup_id_implicit_regs): New function, use
5761         get_implicit_reg_pending_clobbers in it.
5762         (setup_id_reg_sets): Use setup_id_implicit_regs.
5763         (deps_init_id): Ditto.
5764
5765 2016-03-15  Tom de Vries  <tom@codesourcery.com>
5766
5767         PR ipa/70161
5768         * cgraph.c (cgraph_node::get_body): Save, reset and restore
5769         dump_file_name.
5770         * passes.c (execute_one_ipa_transform_pass): Add missing argument to
5771         execute_function_dump.
5772         (execute_one_pass): Don't dump function if it will be dumped after ipa
5773         transform.
5774
5775 2016-03-15  Segher Boessenkool  <segher@kernel.crashing.org>
5776
5777         * genrecog.c (match_pattern_2): If pred is NULL don't call
5778         safe_predicate_mode on it.
5779
5780 2016-03-14  Jakub Jelinek  <jakub@redhat.com>
5781
5782         PR middle-end/70219
5783         * lra-constraints.c (delete_move_and_clobber): Change assertion
5784         to also allow dregno == 0.
5785
5786 2016-03-14  Richard Henderson  <rth@redhat.com>
5787
5788         PR tree-opt/68714
5789         * tree-ssa-reassoc.c (ovce_extract_ops, optimize_vec_cond_expr): New.
5790         (can_reassociate_p): Allow ANY_INTEGRAL_TYPE_P.
5791         (reassociate_bb): Use optimize_vec_cond_expr; avoid
5792         optimize_range_tests, attempt_builtin_copysign and attempt_builtin_powi
5793         on vectors.
5794
5795 2016-03-14  Bernd Schmidt  <bschmidt@redhat.com>
5796
5797         PR target/70083
5798         * lra-lives.c (process_bb_lives): Also update biggest mode for hard
5799         regs.
5800         (lra_create_live_ranges_1): initialize hard register biggest_mode to
5801         VOIDmode.
5802         * lra-constraints.c (split_reg): For hard regs, try to find the
5803         biggest single-register mode used in the function.
5804
5805 2016-03-14  Richard Biener  <rguenther@suse.de>
5806
5807         PR tree-optimization/56365
5808         * tree-ssa-phiopt.c (minmax_replacement): Handle alternate
5809         constants to compare against.
5810
5811 2016-03-14  Segher Boessenkool  <segher@kernel.crashing.org>
5812
5813         PR target/70098
5814         * config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2,
5815         *ctr<mode>_internal5, *ctr<mode>_internal6): Also allow "d" as output.
5816         (define_split for the GPR case): Use int_reg_operand instead of
5817         gpc_reg_operand for the output.
5818
5819 2016-03-14  Tom de Vries  <tom@codesourcery.com>
5820
5821         PR tree-optimization/70045
5822         * graphite-isl-ast-to-gimple.c (graphite_create_new_loop_guard): Unshare
5823         create_empty_if_region_on_edge argument.
5824
5825 2016-03-13  Eric Botcazou  <ebotcazou@adacore.com>
5826
5827         * config/arm/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Define.
5828         (STACK_CHECK_PROTECT): Likewise.
5829         * config/i386/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise
5830         (STACK_CHECK_PROTECT): Likewise.
5831         * config/rs6000/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise
5832         (STACK_CHECK_PROTECT): Likewise.
5833         * config/rs6000/vxworksae.h (STACK_CHECK_PROTECT): Likewise.
5834         * config/sparc/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
5835         (STACK_CHECK_PROTECT): Likewise.
5836
5837 2016-03-12  Andrey Belevantsev  <abel@ispras.ru>
5838
5839         PR rtl-optimization/69307
5840         * sel-sched.c (choose_best_pseudo_reg): Properly check for hard
5841         registers in modes that span more than one register.
5842
5843 2016-03-12  Vladimir Makarov  <vmakarov@redhat.com>
5844
5845         PR target/69614
5846         * lra-constraints.c (delete_move_and_clobber): New.
5847         (remove_inheritance_pseudos): Use it.
5848
5849 2016-03-12  Eric Botcazou  <ebotcazou@adacore.com>
5850
5851         PR ada/70017
5852         * calls.c (emit_library_call_value_1): Clear the ECF_NOTHROW flag if
5853         the libcall is LCT_THROW.
5854         * explow.c (probe_stack_range): Pass LCT_THROW to emit_library_call
5855         for the checking routine.
5856
5857 2016-03-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
5858
5859         PR target/70131
5860         * config/rs6000/rs6000.md (round32<mode>2_fprs): Do not do the
5861         optimization if we have direct move.
5862         (roundu32<mode>2_fprs): Likewise.
5863
5864 2016-03-11  Bernd Schmidt  <bschmidt@redhat.com>
5865
5866         PR target/70123
5867         * lra-remat.c (operand_to_remat): Disallow hard regs in the value t
5868         be rematerialized.
5869         (reg_overlap_for_remat_p): Renamed from input_regno_present_p.
5870         Arguments swapped.  All callers changed.  Take reg_renumber into
5871         account, and Calculate and compare register ranges for hard regs.
5872
5873 2016-03-11  Jeff Law  <law@redhat.com>
5874
5875         PR tree-optimization/70190
5876         * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
5877         Handle cases where we can not extract the taken edge, even though we
5878         found a constant value.
5879
5880         PR tree-optimization/64058
5881         * tree-ssa-coalesce.c (struct coalesce_pair): Add new field INDEX.
5882         (num_coalesce_pairs): Move up earlier in file.
5883         (find_coalesce_pair): Initialize the INDEX field for each pair
5884         discovered.
5885         (compare_pairs): No longer sort on the elements in each pair.
5886         Instead break ties with the index of the coalesce pair.
5887
5888 2016-03-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5889
5890         PR target/70002
5891         * config/aarch64/aarch64-protos.h
5892         (aarch64_save_restore_target_globals): New prototype.
5893         * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse):
5894         Call the above when popping pragma.
5895         * config/aarch64/aarch64.c (aarch64_save_restore_target_globals):
5896         New function.
5897         (aarch64_set_current_function): Rewrite using the above.
5898
5899 2016-03-11  Jakub Jelinek  <jakub@redhat.com>
5900
5901         PR tree-optimization/70177
5902         * gimple-expr.h (extract_ops_from_tree_1): Renamed to ...
5903         (extract_ops_from_tree): ... this.  In the 2 argument
5904         overload remove _1 suffix.
5905         * gimple-expr.c (extract_ops_from_tree_1): Renamed to ...
5906         (extract_ops_from_tree): ... this.
5907         * gimple.c (gimple_build_assign, gimple_assign_set_rhs_from_tree):
5908         Adjust callers.
5909         * tree-ssa-loop-niter.c (derive_constant_upper_bound): Likewise.
5910         * tree-ssa-forwprop.c (defcodefor_name): Call 3 operand
5911         extract_ops_from_tree instead of 2 operand one.
5912
5913 2016-03-11  Alan Lawrence  <alan.lawrence@arm.com>
5914
5915         PR tree-optimization/70013
5916         * tree-sra.c (analyze_access_subtree): Also set grp_unscalarized_data
5917         for constant-pool entries.
5918
5919 2016-03-11  Jakub Jelinek  <jakub@redhat.com>
5920
5921         PR rtl-optimization/70174
5922         * expmed.c (store_bit_field_using_insv): Use gen_lowpart_if_possible
5923         followed by gen_lowpart on force_reg instead of just gen_lowpart.
5924
5925         PR tree-optimization/70169
5926         * tree-ssa-loop.c (gen_lsm_tmp_name): Handle FUNCTION_DECL and
5927         LABEL_DECL like VAR_DECL.  Emit nothing instead of gcc_unreachable
5928         for unknown codes.
5929
5930 2016-03-11  Ilya Enkovich  <enkovich.gnu@gmail.com>
5931             Jakub Jelinek  <jakub@redhat.com>
5932
5933         PR target/70160
5934         * config/i386/i386.c (scalar_chain::convert_reg): Skip uses
5935         of uninitialized values.
5936
5937 2016-03-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
5938
5939         * config/s390/s390.md ("trunctddd2"): Turn former define_insn into
5940         define_expand.
5941         ("*trunctddd2"): New pattern definition.
5942         ("trunctdsd2"): Set prep_for_short_prec rounding mode for the
5943         TD->DD truncation.
5944
5945 2016-03-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
5946
5947         * config/s390/s390.md (BFP_RND_*, DFP_RND_*): Add new constant
5948         definitions for BFP and DFP rounding modes.
5949         ("fixuns_truncdddi2", "fixuns_trunctddi2")
5950         ("fixuns_trunc<BFP:mode><GPR:mode>2", "fixuns_trunc<mode>si2")
5951         ("fix_trunc<DSF:mode><GPR:mode>2", "fix_trunc<mode>di2")
5952         ("fix_trunctf<mode>2"): Use the new constants instead of magic
5953         numbers.
5954
5955 2016-03-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
5956
5957         * config/s390/constraints.md: Adjust comment.
5958         ("Y"): Adjust comment.  Rename s390_decompose_shift_count to
5959         s390_decompose_addrstyle_without_index.
5960         * config/s390/predicates.md (shift_count_or_setmem_operand):
5961         Rename to setmem_operand.
5962         * config/s390/s390-protos.h
5963         (s390_decompose_shift_count): Rename to
5964         s390_decompose_addrstyle_without_index.
5965         * config/s390/s390.c (s390_decompose_shift_count)
5966         (s390_mem_constraint, print_shift_count_operand)
5967         (print_operand_address, print_operand): Rename
5968         s390_decompose_shift_count to
5969         s390_decompose_addrstyle_without_index and rename
5970         print_shift_count_operand to print_addrstyle_operand troughout the
5971         file.
5972         * config/s390/s390.md ("setmem_long_<P:mode>", "*setmem_long")
5973         ("*setmem_long_and", "*setmem_long_31z", "*setmem_long_and_31z"):
5974         Rename shift_count_or_setmem_operand to setmem_operand.
5975         * config/s390/vx-builtins.md ("vec_insert<mode>")
5976         ("vec_promote<mode>"): Replace shift_count_or_setmem_operand with
5977         nonmemory_operand.
5978
5979 2016-03-10  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5980
5981         PR target/70168
5982         * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
5983         Handle overlapping retval and newval.
5984
5985 2016-03-10  Nick Clifton  <nickc@redhat.com>
5986
5987         PR target/7044
5988         * config/aarch64/aarch64.c
5989         (aarch64_override_options_after_change_1): When forcing
5990         flag_omit_frame_pointer to be true, use a special value that can
5991         be detected if this function is called again, thus preventing
5992         flag_omit_leaf_frame_pointer from being forced to be false.
5993
5994 2016-03-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5995
5996         * common/config/aarch64/aarch64-common.c (aarch64_handle_option):
5997         Set x_flag_omit_leaf_frame_pointer when handling
5998         -momit-leaf-frame-pointer.
5999
6000 2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
6001
6002         PR lto/69589
6003         * cgraph.c (cgraph_node::dump): Dump split_part and
6004         indirect_call_target.
6005         * cgraph.h (cgraph_node): Add indirect_call_target flag.
6006         * ipa.c (has_addr_references_p): Cleanup.
6007         (is_indirect_call_target_p): New.
6008         (walk_polymorphic_call_targets): Do not mark virtuals that may be
6009         called indirectly as local.
6010         (symbol_table::remove_unreachable_nodes): Compute indirect_call_target.
6011
6012 2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
6013
6014         PR ipa/69630
6015         * ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
6016         on cxa_pure_virtual.
6017
6018 2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
6019
6020         PR lto/69589
6021         * tree.c (free_lang_data_in_decl): Clear visibility of TYPE_DECL.
6022
6023 2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
6024
6025         PR lto/69589
6026         * tree.c (need_assembler_name_p): Only record main variant type names.
6027
6028 2016-03-10  Christophe Lyon  <christophe.lyon@linaro.org>
6029
6030         PR target/70113.
6031         * config/aarch64/aarch64.h (TARGET_FIX_ERR_A53_843419_DEFAULT):
6032         Always define to 0 or 1.
6033         (TARGET_FIX_ERR_A53_843419): New macro.
6034         * config/aarch64/aarch64-elf-raw.h
6035         (TARGET_FIX_ERR_A53_843419_DEFAULT): Update for above changes.
6036         * config/aarch64/aarch64-linux.h: Likewise.
6037         * config/aarch64/aarch64.c
6038         (aarch64_override_options_after_change_1): Do not default
6039         aarch64_nopcrelative_literal_loads to true if Cortex-A53 erratum
6040         843419 is on.
6041         (aarch64_attributes): Handle fix-cortex-a53-843419.
6042         (aarch64_can_inline_p): Likewise.
6043         * config/aarch64/aarch64.opt (aarch64_fix_a53_err843419): Save.
6044
6045 2016-03-10  Alan Lawrence  <alan.lawrence@arm.com>
6046         Jakub Jelinek <jakub@redhat.com>
6047
6048         * common.opt (funconstrained-commons, flag_unconstrained_commons): New.
6049         * tree.c (array_at_struct_end_p): Do not limit to size of decl for
6050         DECL_COMMONS if flag_unconstrained_commons is set.
6051         * tree-dfa.c (get_ref_base_and_extent): Likewise.
6052         * doc/invoke.texi (Optimize Options): Add -funconstrained-commons.
6053         (funconstrained-commons): Document.
6054
6055 2016-03-10  Christophe Lyon  <christophe.lyon@linaro.org>
6056
6057         * config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add
6058         aarch64-fusion-pairs.def and aarch64-tuning-flags.def
6059
6060 2016-03-10  Ilya Enkovich  <enkovich.gnu@gmail.com>
6061
6062         * tree-vect-stmts.c (vectorizable_mask_load_store): Check mask
6063         has a proper number of elements.
6064
6065 2016-03-10  Alan Modra  <amodra@gmail.com>
6066
6067         PR rtl-optimization/69195
6068         PR rtl-optimization/47992
6069         * ira.c (recorded_label_ref): Delete.
6070         (update_equiv_regs): Return void.
6071         (indirect_jump_optimize): New function.
6072         (ira): Call indirect_jump_optimize and delete_trivially_dead_insns
6073         before regstat_compute_ri.  Don't rebuild_jump_labels here.
6074         Delete update_regstat.
6075
6076 2016-03-10  Richard Biener  <rguenther@suse.de>
6077
6078         PR tree-optimization/70128
6079         * tree-ssa-structalias.c (set_uids_in_ptset): Set
6080         vars_contains_nonlocal for any FUNCTION_DECL or LABEL_DECL.
6081
6082 2016-03-09  Jakub Jelinek  <jakub@redhat.com>
6083
6084         PR tree-optimization/70152
6085         * tree-sra.c (replace_removed_params_ssa_names): Copy over
6086         SSA_NAME_OCCURS_IN_ABNORMAL_PHI from old_name to new_name.
6087
6088         PR target/70086
6089         * config/i386/i386.md (truncdfsf2 splitter): Use gen_vec_concatv2df
6090         instead of gen_sse2_loadlpd.
6091         * config/i386/sse.md (*vec_concatv2df): Rename to...
6092         (vec_concatv2df): ... this.
6093
6094         PR tree-optimization/70127
6095         * fold-const.c (operand_equal_p): Revert the 2015-10-28 change.
6096
6097 2016-03-09  David Malcolm  <dmalcolm@redhat.com>
6098
6099         PR c/68473
6100         PR c++/70105
6101         * diagnostic-show-locus.c (compatible_locations_p): New function.
6102         (layout::layout): Sanitize ranges using compatible_locations_p.
6103
6104 2016-03-09  David Malcolm  <dmalcolm@redhat.com>
6105
6106         PR c/68473
6107         PR c++/70105
6108         * diagnostic-show-locus.c (layout_range::layout_range): Replace
6109         location_range param with three const expanded_locations * and a
6110         bool.
6111         (layout::layout): Replace call to
6112         rich_location::lazily_expand_location with get_expanded_location.
6113         Extract the range and perform location expansion here, passing
6114         the results to the layout_range ctor.
6115         * diagnostic.c (source_range::debug): Delete.
6116         * diagnostic.h (diagnostic_expand_location): Reimplement in terms
6117         of rich_location::get_expanded_location.
6118         * gcc-rich-location.c (get_range_for_expr): Delete.
6119         (gcc_rich_location::add_expr): Reimplement to avoid the
6120         rich_location::add_range overload that took a location_range,
6121         passing a location_t instead.
6122
6123 2016-03-09  Richard Biener  <rguenther@suse.de>
6124         Jakub Jelinek  <jakub@redhat.com>
6125
6126         PR tree-optimization/70138
6127         * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
6128         Also skip vect_double_reduction_def.
6129
6130 2016-03-09  Jakub Jelinek  <jakub@redhat.com>
6131
6132         PR target/70049
6133         * config/i386/sse.md (*vec_extract<mode>): Use %0 instead of %k0
6134         if the operand is "m".
6135
6136 2016-03-09  Nathan Sidwell  <nathan@acm.org>
6137
6138         * config/nvptx/nvptx.c (nvptx_option_override): Don't kill debug level.
6139
6140 2016-03-09  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
6141
6142         * config/i386/i386.c (processor_target_table): Fix cost table
6143         intialization order for znver1.
6144
6145 2016-03-08  Jakub Jelinek  <jakub@redhat.com>
6146
6147         * ipa-polymorphic-call.c (walk_ssa_copies): Fix spelling
6148         - becuase -> because.
6149         * ipa-reference.c (ignore_module_statics): Likewise.
6150         * cgraph.c (cgraph_node::get_body): Likewise.
6151         * ipa-inline.c (early_inliner): Likewise.
6152         * ipa-devirt.c (types_same_for_odr): Likewise.
6153         * tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise.
6154         * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Likewise.
6155
6156 2016-03-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
6157
6158         * tree-ssa-math-opts.c: Fix typo in comment.
6159
6160 2016-03-08  Jakub Jelinek  <jakub@redhat.com>
6161
6162         PR target/70110
6163         * config/i386/i386.c (scalar_chain::make_vector_copies,
6164         scalar_chain::convert_reg): Call end_sequence in between
6165         get_insns and emit_conversion_insns rather than after both
6166         calls.
6167
6168 2016-03-07  Uros Bizjak  <ubizjak@gmail.com>
6169
6170         PR target/70064
6171         * config/i386/i386.h (machine_function): Add
6172         pc_thunk_call_expanded flag.
6173         (ix86_pc_thunk_call_expanded): New define.
6174         * config/i386/i386.md (set_got, set_got_labelled): New expanders.
6175         (*set_got): Rename insn pattern from set_got.
6176         (*set_got_labelled): Rename inst pattern from set_got_labelled.
6177         * config/i386/i386.c (ix86_compute_frame_layout): Use
6178         ix86_pc_thunk_call_expanded to prevent red-zone.
6179
6180 2016-03-07  Martin Jambor  <mjambor@suse.cz>
6181
6182         * hsa.h (hsa_get_ctor_statements): Declare.
6183         (hsa_get_dtor_statements): Likewise.
6184         (hsa_get_kernel_dispatch_type): Likewise.
6185         * hsa.c (hsa_get_ctor_statements): New function.
6186         (hsa_get_dtor_statements): Likewise.
6187         (hsa_get_kernel_dispatch_type): Likewise.
6188         * hsa-brig.c (hsa_cdtor_statements): Removed.
6189         (hsa_output_libgomp_mapping): Use hsa_get_ctor_statements and
6190         hsa_get_dtor_statements.
6191         * hsa-gen.c (hsa_kernel_dispatch_type): Removed.
6192         (get_hsa_kernel_dispatch_offset): Use hsa_get_kernel_dispatch_type.
6193
6194 2016-03-07  Andre Vieira  <andre.simoesdiasvieira@arm.com>
6195
6196         * config/arm/arm-cores.def (cortex-r8): New.
6197         * config/arm/arm-tables.opt (cortex-r8): Regenerate.
6198         * config/arm/arm-tune.md: Likewise.
6199         * gcc/doc/invoke.texi: Add cortex-r8 to list of cpu values.
6200
6201 2016-03-07  Martin Sebor  <msebor@redhat.com>
6202
6203         PR rtl-optimization/19705
6204         * doc/invoke.texi (Options That Control Optimization): Clarify
6205         -fno-branch-count-reg.
6206
6207 2016-02-26  Richard Biener  <rguenther@suse.de>
6208             Jeff Law  <law@redhat.com>
6209
6210         PR tree-optimization/69740
6211         * cfghooks.c (remove_edge): Request loop fixups if we delete
6212         an edge that might turn an irreducible loop into a natural
6213         loop.
6214         * cfgloop.h (check_verify_loop_structure): Clear LOOPS_NEED_FIXUP.
6215         Move after definition of loops_state_clear.
6216
6217 2016-03-07  Bin Cheng  <bin.cheng@arm.com>
6218
6219         PR rtl-optimization/69052
6220         * rtlanal.c (commutative_operand_precedence): Set higher precedence
6221         to CONST_WIDE_INT.
6222
6223 2016-03-07  Tom de Vries  <tom@codesourcery.com>
6224
6225         PR tree-optimization/70116
6226         * tree-ssa-tail-merge.c (merge_stmts_p): New function, handling
6227         is_tm_ending stmts and ubsan/asan internal functions.
6228         (find_duplicate): Use it.  Don't test is_tm_ending here.
6229
6230 2016-03-07  Richard Biener  <rguenther@suse.de>
6231
6232         PR tree-optimization/70115
6233         * tree-ssa-loop-ivcanon.c (propagate_into_all_uses): Remove.
6234         (propagate_constants_for_unrolling): Use replace_uses_by.
6235
6236 2016-03-07  Nathan Sidwell  <nathan@codesourcery.com>
6237
6238         PR middle-end/69916
6239         * omp-low.c (struct oacc_loop): Add ifns.
6240         (new_oacc_loop_raw): Initialize it.
6241         (finish_oacc_loop): Clear mask & flags if no ifns.
6242         (oacc_loop_discover_walk): Count IFN_GOACC_LOOP calls.
6243         (oacc_loop_xform_loop): Add ifns arg & adjust.
6244         (oacc_loop_process): Adjust oacc_loop_xform_loop call.
6245
6246 2016-03-07  Richard Henderson  <rth@redhat.com>
6247
6248         PR rtl-opt/70061
6249         * tree-outofssa.c (emit_partition_copy): Flush pending stack adjust.
6250         (insert_value_copy_on_edge): Likewise.
6251
6252 2016-03-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
6253
6254         * config/arm/arm_neon.h: Show error if using with soft-float ABI.
6255
6256 2016-03-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6257
6258         PR target/62281
6259         * config/i386/sol2.h (STACK_REALIGN_DEFAULT): Define.
6260
6261 2016-03-05  Venkataramanan Kumar  <Venkataramanan.kumar@amd.com>
6262
6263         * config/i386/i386.c (znver1_cost): Fix Multiply cost.
6264
6265 2016-03-05  Venkataramanan Kumar  <Venkataramanan.kumar@amd.com>
6266
6267         Fix sseimul type attribute.
6268         * config/i386/znver1.md
6269         (znver1_sseimul, znver1_sseimul_avx256, znver1_sseimul_load,
6270         znver1_sseimul_avx256_load) : Fix the type attribute.
6271         (znver1_sseimul_di, znver1_sseimul_load_di): Fix type attribute,
6272         pipe usage and latency.
6273
6274 2016-03-05  Jakub Jelinek  <jakub@redhat.com>
6275
6276         PR c++/70084
6277         * tree-inline.c (copy_tree_body_r): When cancelling ADDR_EXPR
6278         of INDIRECT_REF and ADDR_EXPR changed type, fold_convert it
6279         to the right type.
6280
6281 2016-03-04  Bernd Schmidt  <bschmidt@redhat.com>
6282
6283         PR c/69973
6284         * targhooks.c (default_vector_alignment): Limit to MAX_OFILE_ALIGNMENT.
6285
6286         PR rtl-optimization/69941
6287         * postreload.c (reload_combine_recognize_pattern): Ensure all uses of
6288         the reg share its mode.
6289
6290 2016-03-04  Jeff Law  <law@redhat.com>
6291
6292         PR tree-optimization/69196
6293         * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
6294         If the both SSA_NAMEs are anonymous, then consider them unassociated
6295         and include the PHI in the statement count.
6296
6297 2016-03-05  Tom de Vries  <tom@codesourcery.com>
6298
6299         * omp-low.c (check_omp_nesting_restrictions): Check for non-oacc
6300         construct in oacc routine.  Check for oacc region in oacc routine.
6301
6302 2016-03-04  Jakub Jelinek  <jakub@redhat.com>
6303
6304         PR target/70062
6305         * config/i386/i386.c (decide_alg): Add RECUR argument.  Revert
6306         2016-02-22 changes, instead don't recurse if RECUR is already true.
6307         Don't change *dynamic_check if RECUR.  Adjust recursive caller
6308         to pass true to the new argument.
6309         (ix86_expand_set_or_movmem): Adjust decide_alg caller.
6310
6311         PR target/70059
6312         * config/i386/sse.md (vec_set_lo_<mode><mask_name>,
6313         <extract_type_2>_vinsert<shuffletype><extract_suf_2>_mask): Formatting
6314         fixes.
6315         (vec_set_hi_<mode><mask_name>): Likewise.  Swap VEC_CONCAT operands.
6316
6317 2016-03-04  Bernd Schmidt  <bschmidt@redhat.com>
6318
6319         PR rtl-optimization/57676
6320         * lra-assigns.c (lra_assign): Guard test for maximum iterations
6321         with flag_checking.
6322
6323 2016-03-04  Ilya Enkovich  <enkovich.gnu@gmail.com>
6324
6325         * tree-vect-patterns.c (search_type_for_mask): Handle
6326         comparison of booleans.
6327
6328 2016-03-04  Jakub Jelinek  <jakub@redhat.com>
6329
6330         * doc/extend.texi (__builtin_alloca, __builtin_alloca_with_align):
6331         Fix @xref usage.
6332
6333         PR debug/69947
6334         * dwarf2out.c (prune_unused_types_walk_loc_descr): Handle
6335         all other ops that have dw_val_class_die_ref operands,
6336         and DW_OP_GNU_entry_value.
6337
6338 2016-03-03  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
6339
6340         PR rtl-optimization/69904
6341         * config/arm/arm.c (arm_cannot_copy_insn_p):
6342         Return true for load-exclusive instructions.
6343
6344 2016-03-03  Jakub Jelinek  <jakub@redhat.com>
6345
6346         PR target/70021
6347         * tree-vect-stmts.c (vect_mark_relevant): Remove USED_IN_PATTERN
6348         argument, if STMT_VINFO_IN_PATTERN_P (stmt_info), always mark
6349         the pattern no matter if it is used just by non-pattern, pattern
6350         or mix thereof.
6351         (process_use, vect_mark_stmts_to_be_vectorized): Adjust callers.
6352         * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
6353         oprnd1 def_stmt is in pattern, don't look through it.
6354
6355 2016-03-03  Marek Polacek  <polacek@redhat.com>
6356
6357         PR middle-end/70050
6358         * match.pd (X % -Y): Add INTEGRAL_TYPE_P check.
6359
6360 2016-03-03  Martin Liska  <mliska@suse.cz>
6361
6362         PR tree-optimization/70043
6363         * tree-vect-loop.c (optimize_mask_stores): Move iterator to
6364         previous statement if we see a debug statement.
6365
6366 2016-03-03  Richard Biener  <rguenther@suse.de>
6367
6368         PR tree-optimization/55936
6369         * tree-vrp.c (compare_name_with_value): Add use_equiv_p
6370         parameter and guard unsafe equivalence use.
6371         (vrp_evaluate_conditional_warnv_with_ops): Always use
6372         safe equivalences but not via the quadratic compare_names
6373         helper.
6374
6375 2016-03-03  Michael Collison  <michael.collison@linaro.org>
6376
6377         PR target/70014
6378         * config/arm/arm.md (*subsi3_carryin_const): Change predicate
6379         for operand 1 to s_register_operand. Change predicate for operand
6380         2 to arm_not_immediate_operand.
6381
6382 2016-03-02  H.J. Lu  <hongjiu.lu@intel.com>
6383
6384         * doc/tm.texi: Regenerated.
6385
6386 2016-03-02  Richard Henderson  <rth@redhat.com>
6387
6388         PR rtl-opt/67145
6389         * simplify-rtx.c (simplify_plus_minus): Allow reassoc without
6390         simplification when all args are positive non-fixed registers.
6391
6392 2016-03-02  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
6393
6394         * target.def (lra_p): Specify that new ports should use LRA.
6395
6396 2016-03-02  Jakub Jelinek  <jakub@redhat.com>
6397
6398         PR libgomp/69555
6399         * gimplify.c (gimplify_decl_expr): For decls with REFERENCE_TYPE, also
6400         gimplify_type_sizes the type they refer to.
6401         (omp_notice_variable): Handle reference vars to VLAs.
6402         * omp-low.c (lower_omp_target): Emit setup of OMP_CLAUSE_PRIVATE
6403         reference to VLA decls in the second pass instead of first pass.
6404
6405 2016-03-02  Tom de Vries  <tom@codesourcery.com>
6406
6407         PR tree-optimization/68659
6408         * graphite-isl-ast-to-gimple.c (collect_all_ssa_names): Handle
6409         new_expr == NULL_TREE.
6410         (get_new_name): Handle ADDR_EXPR.
6411
6412 2016-03-02  Bin Cheng  <bin.cheng@arm.com>
6413
6414         PR rtl-optimization/69052
6415         * loop-invariant.c (canonicalize_address): New function.
6416         (inv_can_prop_to_addr_use): Check validity of address expression
6417         which is canonicalized by above function.
6418
6419 2016-03-02  Alan Modra  <amodra@gmail.com>
6420
6421         PR ipa/69990
6422         * ipa-icf.c (sem_variable::merge): Do not merge an alias with
6423         larger alignment.
6424
6425 2016-03-02  Jakub Jelinek  <jakub@redhat.com>
6426
6427         PR target/70028
6428         * config/i386/i386.md (kmovw): Move m constraint to 2nd alternative.
6429         (*movhi_internal): Put mask moves from and to memory separately
6430         from moves from/to GPRs.
6431
6432 2016-03-02  Richard Biener  <rguenther@suse.de>
6433
6434         * genmatch.c (dt_node::gen_kids): Fix match code-gen for embedded
6435         GENERIC expressions in GIMPLE.
6436
6437 2016-03-02  Richard Biener  <rguenther@suse.de>
6438
6439         * config/i386/i386.c (type_natural_mode): Fix typo.
6440
6441 2016-03-02  Nick Clifton  <nickc@redhat.com>
6442
6443         * config.gcc (mep-*-elf): Add newlib-stdint.h to tm_file.
6444
6445 2016-03-02  Richard Biener  <rguenther@suse.de>
6446             Uros Bizjak  <ubizjak@gmail.com>
6447
6448         PR target/67278
6449         * config/i386/i386.c (type_natural_mode): Handle XFmode vectors.
6450
6451 2016-03-02  Richard Biener  <rguenther@suse.de>
6452
6453         PR middle-end/67278
6454         * tree-cfg.c (verify_expr): Adjust BIT_FIELD_REF case.
6455
6456 2016-03-02  Marek Polacek  <polacek@redhat.com>
6457
6458         PR c/67854
6459         * gimplify.c (gimplify_va_arg_expr): Use expanded location for the
6460         "is promoted to" warning.
6461
6462 2016-03-01  DJ Delorie  <dj@redhat.com>
6463
6464         * config.gcc: Deprecate mep-*.
6465
6466 2016-03-01  Vladimir Makarov  <vmakarov@redhat.com>
6467
6468         PR middle-end/70025
6469         * lra-constraints.c (regno_val_use_in): New.
6470         (match_reload): Use it instead of regno_use_in.
6471
6472 2016-03-01  Eric Botcazou  <ebotcazou@adacore.com>
6473
6474         PR rtl-optimization/70007
6475         * gcse.c (compute_ld_motion_mems): Tidy up and also invalidate memory
6476         references present in REG_EQUAL notes attached to non-SET patterns.
6477
6478 2016-03-01  Jeff Law  <law@redhat.com>
6479
6480         PR tree-optimization/69196
6481         * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
6482         Appropriately clamp the number of statements to copy when the
6483         thread path does not traverse a loop backedge.
6484
6485         PR tree-optimization/69196
6486         * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
6487         Do count some PHIs in the thread path against the insn count.  Decrease
6488         final statement count by one as the control statement in the last
6489         block will get removed.  Remove special cased code for handling PHIs
6490         in the last block.
6491
6492 2016-03-01  Uros Bizjak  <ubizjak@gmail.com>
6493
6494         PR target/70027
6495         * config/i386/i386.c (ix86_output_call_insn): Add -masm=intel
6496         asm dialect alternatives to explicit GOTPCREL calls.
6497
6498 2016-03-01  Eric Botcazou  <ebotcazou@adacore.com>
6499
6500         PR ada/70017
6501         * ira.c (do_reload): Issue warning for generic stack checking here...
6502         * reload1.c (reload): ...instead of here and streamline it.
6503
6504 2016-03-01  Nick Clifton  <nickc@redhat.com>
6505
6506         * config.gcc (cr16-*-elf): Add newlib-stdint.h to tm_file.
6507
6508 2016-03-01  Richard Biener  <rguenther@suse.de>
6509
6510         PR tree-optimization/69983
6511         * tree-chrec.c (eq_evolutions_p): Handle conversions, compare
6512         types and fall back to operand_equal_p.
6513
6514 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
6515
6516         Revert
6517         2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
6518
6519         * config/s390/constraints.md ("jm8"): New constraint.
6520         * config/s390/predicates.md ("const_int_8bitset_operand"): New
6521         predicate.
6522         * config/s390/s390.md ("*setmem_long", "*setmem_long_and"): Merge
6523         into ...
6524         ("*setmem_long<setmem_and>"): New pattern.
6525         ("*setmem_long_31z", "*setmem_long_and_31z"): Merge
6526         into ...
6527         ("*setmem_long_31z<setmem_and>"): New pattern.
6528         * config/s390/subst.md ("setmem_31z_subst", "setmem_and_subst"):
6529         New substitution rules with the required attributes.
6530
6531
6532 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
6533
6534         Revert
6535         2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
6536
6537         * gensupport.c (process_substs_on_one_elem): Split loop to
6538         complete mark_operands_used_in_match_dup on all expressions in the
6539         vector first.
6540         (adjust_operands_numbers): Inline into process_substs_on_one_elem
6541         and remove function.
6542
6543 2016-03-01  Richard Biener  <rguenther@suse.de>
6544
6545         PR middle-end/70022
6546         * fold-const.c (fold_indirect_ref_1): Fix range checking for
6547         vector BIT_FIELD_REF extract.
6548
6549 2016-03-01  Richard Biener  <rguenther@suse.de>
6550
6551         PR tree-optimization/69994
6552         * tree-ssa-reassoc.c (ops_equal_values_p): Handle missing case.
6553
6554 2016-03-01  Ilya Enkovich  <enkovich.gnu@gmail.com>
6555
6556         PR tree-optimization/69956
6557         * tree-vect-stmts.c (supportable_widening_operation): Support
6558         multi-step conversion of boolean vectors.
6559         (supportable_narrowing_operation): Likewise.
6560
6561 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
6562
6563         * config/s390/s390.c (s390_decompose_address): Don't accept SImode
6564         anymore.
6565
6566 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
6567
6568         * config/s390/subst.md (DSI_VI): New mode iterator.
6569         ("addr_style_op_subst"): Use DSI_VI instead of DSI.
6570         * config/s390/vector.md ("vec_set<mode>"): Move expander before
6571         the insn definition.
6572         ("*vec_set<mode>"): Change predicate and add alternative to
6573         support only either register or const_int operands as element
6574         selector.
6575         ("*vec_set<mode>_plus"): New pattern to support reg + const_int
6576         operands.
6577         ("vec_extract<mode>"): New expander.
6578         ("*vec_extract<mode>"): New insn definition supporting reg and
6579         const_int element selectors.
6580         ("*vec_extract<mode>_plus"): New insn definition supporting
6581         reg+const_int element selectors.
6582         ("rotl<mode>3", "ashl<mode>3", "ashr<mode>3"): Merge into the
6583         following expander+insn definition.
6584         ("<vec_shifts_name><mode>3"): New expander.
6585         ("*<vec_shifts_name><mode>3<addr_style_op>"): New insn definition.
6586
6587 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
6588
6589         * config/s390/s390.md ("*tabort_1"): Change predicate to
6590         nonmemory_operand.  Add a second alternative to cover
6591         register as well as const int operands.
6592         ("*tabort_1_plus"): New pattern definition.
6593
6594 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
6595
6596         * config/s390/s390.md ("*ashrdi3_cc_31")
6597         ("*ashrdi3_cconly_31""*ashrdi3_cc_31_and")
6598         ("*ashrdi3_cconly_31_and", "*ashrdi3_31_and", "*ashrdi3_31"):
6599         Merge insn definitions into ...
6600         ("*ashrdi3_31<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
6601         New pattern definition.
6602         ("*ashr<mode>3_cc", "*ashr<mode>3_cconly", "ashr<mode>3", )
6603         ("*ashr<mode>3_cc_and", "*ashr<mode>3_cconly_and")
6604         ("*ashr<mode>3_and"): Merge insn definitions into ...
6605         ("*ashr<mode>3<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
6606         New pattern definition.
6607         * config/s390/subst.md ("addr_style_op_cc_subst")
6608         ("masked_op_cc_subst", "setcc_subst", "cconly_subst"): New
6609         substitutions patterns plus attributes.
6610         Add ashiftrt to SUBST iterator.
6611
6612 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
6613
6614         * config/s390/s390.md ("<shift><mode>3"): Change predicate of
6615         op2 to nonmemory_operand.
6616         ("*<shift>di3_31", "*<shift>di3_31_and"):
6617         Merge into single pattern definition ...
6618         ("*<shift>di3_31<addr_style_op><masked_op>"): New pattern.
6619         ("*<shift><mode>3", "*<shift><mode>3_and"): Merge into single
6620         pattern definition ...
6621         ("*<shift><mode>3<addr_style_op><masked_op>"): New pattern.
6622         * config/s390/subst.md: Add ashift and lshiftrt to SUBST
6623         iterator.
6624
6625 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
6626
6627         * config/s390/predicates.md (const_int_6bitset_operand): New
6628         predicate.
6629         * config/s390/s390.md: Include subst.md.
6630         ("rotl<mode>3"): New expander.
6631         ("rotl<mode>3", "*rotl<mode>3_and"): Merge insn definitions into
6632         ...
6633         ("*rotl<mode>3<addr_style_op><masked_op>"): New insn definition.
6634         * config/s390/subst.md: New file.
6635
6636 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
6637
6638         * config/s390/s390.md ("op_type", "atype", "length" attributes):
6639         Remove RRR type.  It doesn't really exist.
6640         ("RRer", "f0", "v0", "vf", "vd", "op1", "Rf"): Remove mode
6641         attributes.
6642         ("BFP", "DFP", "nDSF", "nDFDI"): Add mode attributes.
6643         ("*cmp<mode>_ccs", "floatdi<mode>2", "add<mode>3")
6644         ("*add<mode>3_cc", "*add<mode>3_cconly", "sub<mode>3")
6645         ("*sub<mode>3_cc", "*sub<mode>3_cconly", "mul<mode>3")
6646         ("fma<mode>4", "fms<mode>4", "div<mode>3", "*neg<mode>2")
6647         ("*abs<mode>2", "*negabs<mode>2", "sqrt<mode>2"): Override
6648         `enabled' attribute.
6649
6650 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
6651
6652         * gensupport.c (process_substs_on_one_elem): Split loop to
6653         complete mark_operands_used_in_match_dup on all expressions in the
6654         vector first.
6655         (adjust_operands_numbers): Inline into process_substs_on_one_elem
6656         and remove function.
6657
6658 2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
6659
6660         PR target/69706
6661         * config/sparc/sparc.c (NWORDS_UP): Rename to...
6662         (CEIL_NWORDS): ...this.  Use CEIL macro.
6663         (compute_fp_layout): Adjust to above renaming.
6664         (function_arg_union_value): Likewise.
6665         (sparc_arg_partial_bytes): Likewise.
6666         (sparc_function_arg_advance): Likewise.
6667
6668 2016-02-29  Jeff Law  <law@redhat.com>
6669
6670         PR tree-optimization/70005
6671         * tree-ssa-uncprop.c (associate_equivalences_with_edges): Handle case
6672         where an object with a boolean range is compared against a value
6673         outside [0..1].
6674
6675         PR tree-optimization/69999
6676         * gimple-ssa-split-paths.c (split_paths): When duplicating a block
6677         with an outgoing edge marked with EDGE_IRREDUCIBLE_LOOP, schedule
6678         loop cleanups.
6679
6680 2016-02-29  Richard Biener  <rguenther@suse.de>
6681
6682         PR tree-optimization/69994
6683         * tree-ssa-reassoc.c (gimple_nop_conversion_p): New function.
6684         (get_unary_op): Look through nop conversions.
6685         (ops_equal_values_p): New function, look for equality diregarding
6686         nop conversions.
6687         (eliminate_plus_minus_pair): Use ops_equal_values_p
6688         (repropagate_negates): Do not use get_unary_op here.
6689
6690 2016-02-29  Martin Liska  <mliska@suse.cz>
6691
6692         * system.h: Poison ENABLE_CHECKING macro.
6693
6694 2016-02-29  Martin Liska  <mliska@suse.cz>
6695
6696         * hsa-gen.c (gen_body_from_gimple): Dump only if TDF_DETAILS
6697         is presented in dump flags.
6698         * hsa-regalloc.c (linear_scan_regalloc): Likewise.
6699         (hsa_regalloc): Likewise.
6700
6701 2016-02-19  Richard Biener  <rguenther@suse.de>
6702
6703         PR tree-optimization/69980
6704         * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Update
6705         permutation of those we need to keep.
6706
6707 2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
6708
6709         PR target/69706
6710         * config/sparc/sparc.c (ROUND_ADVANCE): Rename to...
6711         (NWORDS_UP): ...this
6712         (init_cumulative_args): Minor tweaks.
6713         (sparc_promote_function_mode): Likewise.
6714         (scan_record_type): Delete.
6715         (traverse_record_type): New function template.
6716         (classify_data_t): New structure type.
6717         (classify_registers): New inline function.
6718         (function_arg_slotno): In 64-bit mode, bail out early if FP slots are
6719         exhausted.  Instantiate traverse_record_type on classify_registers and
6720         deal with the case of a structure passed in slot #15 with no FP field
6721         in the first word.
6722         (assign_data_t): New structure type.
6723         (compute_int_layout): New static function.
6724         (compute_fp_layout): Likewise.
6725         (count_registers): New inline function.
6726         (assign_int_registers): New static function.
6727         (assign_fp_registers): Likewise.
6728         (assign_registers): New inline function.
6729         (function_arg_record_value_1): Delete.
6730         (function_arg_record_value_2): Likewise.
6731         (function_arg_record_value_3): Likewise.
6732         (function_arg_record_value): Adjust to above changes.  Instantiate
6733         traverse_record_type on count_registers to first count the number of
6734         registers to be used and then on assign_registers to assign them.
6735         (function_arg_union_value): Adjust to above renaming.
6736         (sparc_function_arg_1); Minor tweaks.  Remove commented out code.
6737         (sparc_arg_partial_bytes): Adjust to above renaming.  Deal with the
6738         case of a structure passed in slot #15
6739         (sparc_function_arg_advance): Likewise.
6740         (function_arg_padding): Minor tweak.
6741
6742 2016-02-29  Richard Biener  <rguenther@suse.de>
6743
6744         PR tree-optimization/69720
6745         * tree-vect-loop.c (get_initial_def_for_reduction): Avoid
6746         the adjustment_def path for possibly vectorized defs.
6747         (vect_create_epilog_for_reduction): Handle vectorized initial
6748         defs properly.
6749
6750 2016-02-28  Eric Botcazou  <ebotcazou@adacore.com>
6751
6752         * config/i386/cygming.h (STACK_REALIGN_DEFAULT): Define.
6753
6754 2016-02-27  Jeff Law  <law@redhat.com>
6755
6756         Revert
6757         2016-02-26  Richard Biener  <rguenther@suse.de>
6758                     Jeff Law  <law@redhat.com>
6759
6760         PR tree-optimization/69740
6761         * cfghooks.c (remove_edge): Request loop fixups if we delete
6762         an edge that might turn an irreducible loop into a natural
6763         loop.
6764
6765 2016-02-27  Jakub Jelinek  <jakub@redhat.com>
6766
6767         PR rtl-optimization/69896
6768         * tree-vect-generic.c (get_compute_type): Avoid single element
6769         vector types.
6770
6771 2016-02-26  Evandro Menezes  <e.menezes@samsung.com>
6772
6773         Rename the AArch64 tuning option and related functions to enable the
6774         Newton series for the reciprocal square root to reflect its
6775         approximative characteristic.
6776
6777         * config/aarch64/aarch64-protos.h (aarch64_emit_swrsqrt): Rename
6778         function to "aarch64_emit_approx_rsqrt".
6779         * config/aarch64/aarch64-tuning-flags.def: Rename tuning flag to
6780         AARCH64_EXTRA_TUNE_APPROX_RSQRT.
6781         * config/aarch64/aarch64.c (exynosm1_tunigs): Use new flag name.
6782         (xgene1_tunings): Likewise.
6783         (use_rsqrt_p): Likewise.
6784         (aarch64_emit_swrsqrt): Use new function name.
6785         * config/aarch64/aarch64-simd.md (aarch64_rsqrts_*): Likewise.
6786         * config/aarch64/aarch64.opt (mlow-precision-recip-sqrt): Reword the
6787         text explaining this option.
6788         * doc/invoke.texi (-mlow-precision-recip-sqrt): Likewise.
6789
6790 2016-02-26  Jakub Jelinek  <jakub@redhat.com>
6791
6792         PR target/69969
6793         * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
6794         complain about -mallow-movmisalign without -mvsx if
6795         TARGET_ALLOW_MOVMISALIGN was not set explicitly.
6796
6797 2016-02-26  Joel Sherrill  <joel@rtems.org>
6798
6799         * config.gcc: Add x86_64-*-rtems*.
6800         * gcc/config/i386/rtems-64.h: New file.
6801
6802 2016-02-26  Joel Sherrill  <joel@rtems.org>
6803
6804         * config.gcc: Add aarch64-*-rtems*.
6805         * gcc/config/aarch64/rtems.h: New file.
6806
6807 2016-02-26  Segher Boessenkool  <segher@kernel.crashing.org>
6808
6809         PR target/69946
6810         * config/rs6000/rs6000.c (rs6000_insn_for_shift_mask): Print rlwinm
6811         shift amount using %h.  Add comment.
6812
6813 2016-02-26  Richard Biener  <rguenther@suse.de>
6814             Jeff Law  <law@redhat.com>
6815
6816         PR tree-optimization/69740
6817         * cfghooks.c (remove_edge): Request loop fixups if we delete
6818         an edge that might turn an irreducible loop into a natural
6819         loop.
6820
6821 2016-02-26  Martin Jambor  <mjambor@suse.cz>
6822
6823         PR middle-end/69920
6824         * tree-sra.c (sra_modify_assign): Do not remove loads of
6825         uninitialized aggregates to SSA_NAMEs.
6826
6827 2016-02-26  Richard Henderson  <rth@redhat.com>
6828
6829         PR target/69709
6830         * config/s390/s390.md (risbg and risbgn splitters): Allocate new
6831         pseudo in case the target rtx matches the source of the left
6832         shift.
6833
6834 2016-02-26  Martin Jambor  <mjambor@suse.cz>
6835
6836         PR hsa/69568
6837         * hsa.h (hsa_type_packed_p): Declare.
6838         * hsa.c (hsa_type_packed_p): New function.
6839         * hsa-gen.c (mem_type_for_type): Use unsigned type for packed
6840         loads.
6841         (gen_hsa_insns_for_store): Use hsa_type_packed_p.
6842         * hsa-brig.c (emit_basic_insn): Likewise.
6843
6844 2016-02-26  Martin Jambor  <mjambor@suse.cz>
6845
6846         pr hsa/69674
6847         * hsa-gen.c (gen_hsa_phi_from_gimple_phi): Use proper hsa type for
6848         pointers.
6849         (gen_hsa_addr): Allow integer constants in TMR_INDEX2.
6850
6851 2016-02-26  Martin Jambor  <mjambor@suse.cz>
6852
6853         * hsa.h (is_a_helper): New overload for hsa_op_immed for
6854         hsa_op_with_type operands.
6855         (hsa_unsigned_type_for_type): Declare.
6856         * hsa.c (hsa_unsigned_type_for_type): New function.
6857         * hsa-gen.c (gen_hsa_binary_operation): Use hsa_unsigned_type_for_type.
6858         (gen_hsa_insns_for_operation_assignment): Satisfy constrains of
6859         the finalizer.  Do not emit extra move.
6860
6861 2016-02-26  Martin Jambor  <mjambor@suse.cz>
6862
6863         * hsa-gen.c (gen_hsa_ternary_atomic_for_builtin): Fail in presence of
6864         atomic operations in private segment.
6865
6866 2016-02-26  Martin Jambor  <mjambor@suse.cz>
6867
6868         * omp-low.c (grid_find_ungridifiable_statement): Store problematic
6869         statements to wi->info.  Also disallow omp simd constructs.
6870         (grid_target_follows_gridifiable_pattern): Use wi.info to dump reason
6871         for not gridifying.  Dump special string for omp_for.
6872
6873 2016-02-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
6874
6875         PR target/69245
6876         * config/aarch64/aarch64.c (aarch64_set_current_function):
6877         Save/restore target globals when switching to
6878         target_option_default_node.
6879
6880 2016-02-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
6881
6882         PR target/69613
6883         * config/aarch64/aarch64.c (aarch64_shift_truncation_mask):
6884         Return 0 if !SHIFT_COUNT_TRUNCATED.
6885
6886 2016-02-26  Jakub Jelinek  <jakub@redhat.com>
6887             Eric Botcazou  <ebotcazou@adacore.com>
6888
6889         PR rtl-optimization/69891
6890         * dse.c (scan_insn): If we can't figure out memset arguments
6891         or they are non-constant, call clear_rhs_from_active_local_stores.
6892
6893 2016-02-26  Martin Liska  <mliska@suse.cz>
6894
6895         * doc/extend.texi: Mention clog10, clog10f an clog10l
6896         in Builtins section.
6897
6898 2016-02-26  Martin Liska  <mliska@suse.cz>
6899
6900         * dwarf2out.c (new_loc_descr): Replace ENABLE_CHECKING with
6901         CHECKING_P.
6902         (resolve_args_picking_1): Likewise.
6903         * dwarf2out.h (struct GTY): Likewise.
6904
6905 2016-02-26  Martin Liska  <mliska@suse.cz>
6906
6907         * hsa-gen.c (generate_hsa): Replace ENABLE_CHECKING macro
6908         with flag_checking.
6909         * hsa-regalloc.c (linear_scan_regalloc): Likewise.
6910
6911 2016-02-26  Markus Trippelsdorf  <markus@trippelsdorf.de>
6912             Martin Liska  <mliska@suse.cz>
6913
6914         * doc/install.texi: Mention --enable-valgrind-annotations.
6915
6916 2016-02-26  Richard Biener  <rguenther@suse.de>
6917
6918         PR tree-optimization/69551
6919         * tree-ssa-structalias.c (get_constraint_for_ssa_var): When
6920         looking through aliases adjust DECL_PT_UID to refer to the
6921         ultimate alias target.
6922
6923 2016-02-25  Martin Liska  <mliska@suse.cz>
6924
6925         PR middle-end/69919
6926         * alloc-pool.c (after_memory_report): New variable.
6927         * alloc-pool.h (base_pool_allocator ::release): Do not use
6928         the infrastructure if after_memory_report.
6929         * toplev.c (toplev::main): Mark after memory report.
6930
6931 2016-02-25  Richard Biener  <rguenther@suse.de>
6932
6933         PR tree-optimization/48795
6934         * tree-vrp.c (check_array_ref): Use array_at_struct_end_p.
6935
6936 2016-02-25  Ilya Verbin  <ilya.verbin@intel.com>
6937
6938         PR driver/68463
6939         * config/gnu-user.h (CRTOFFLOADBEGIN): Define.  Add crtoffloadbegin.o if
6940         offloading is enabled and -fopenacc or -fopenmp is specified.
6941         (CRTOFFLOADEND): Likewise.
6942         (GNU_USER_TARGET_STARTFILE_SPEC): Add CRTOFFLOADBEGIN.
6943         (GNU_USER_TARGET_ENDFILE_SPEC): Add CRTOFFLOADEND.
6944         * lto-wrapper.c (offloadbegin, offloadend): Remove static vars.
6945         (offload_objects_file_name): New static var.
6946         (tool_cleanup): Remove offload_objects_file_name file.
6947         (find_offloadbeginend): Replace with ...
6948         (find_crtoffloadtable): ... this.
6949         (run_gcc): Remove offload_argc and offload_argv.
6950         Get offload_objects_file_name from -foffload-objects=... option.
6951         Read names of object files with offload from this file, pass them to
6952         compile_images_for_offload_targets.  Don't call find_offloadbeginend and
6953         don't pass offloadbegin and offloadend to the linker.  Don't pass
6954         offload non-LTO files to the linker, because now they're not claimed.
6955
6956 2016-02-25  Jan Hubicka  <hubicka@ucw.cz>
6957
6958         PR ipa/69630
6959         * ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
6960         on builtin_unreachable.
6961
6962 2016-02-25  Jakub Jelinek  <jakub@redhat.com>
6963
6964         PR rtl-optimization/69896
6965         * regcprop.c: Include cfgrtl.h.
6966         (copyprop_hardreg_forward_1): If noop_p insn uses narrower
6967         than remembered mode, either delete it (if noop_move_p), or
6968         treat like copy_p but not noop_p instruction.
6969
6970 2016-02-24  Jakub Jelinek  <jakub@redhat.com>
6971
6972         PR debug/69705
6973         * dwarf2out.c (gen_variable_die): Work around buggy LTO
6974         - allow NULL decl for Fortran DW_TAG_common_block variables.
6975
6976 2016-02-24  Jason Merrill  <jason@redhat.com>
6977
6978         * common.opt (flifetime-dse): Add -flifetime-dse=1.
6979
6980 2016-02-24  Richard Biener  <rguenther@suse.de>
6981             Jakub Jelinek  <jakub@redhat.com>
6982
6983         PR middle-end/69760
6984         * tree-scalar-evolution.c (interpret_rhs_expr): Re-write
6985         conditionally executed ops to well-defined overflow behavior.
6986
6987 2016-02-24  Jakub Jelinek  <jakub@redhat.com>
6988
6989         PR middle-end/69915
6990         * tree.c (build_vector_from_ctor): Fix handling of VECTOR_CST
6991         elements.
6992
6993 2016-02-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
6994
6995         PR rtl-optimization/69886
6996         * gcse.c (can_assign_to_reg_without_clobbers_p): Accept mode
6997         argument.  Use it when checking validity of set instructions.
6998         (want_to_gcse_p): Pass mode to can_assign_to_reg_without_clobbers_p.
6999         (compute_ld_motion_mems): Update can_assign_to_reg_without_clobbers_p
7000         callsite.
7001         * rtl.h (can_assign_to_reg_without_clobbers_p): Update prototype.
7002         * store-motion.c (find_moveable_store): Update
7003         can_assign_to_reg_without_clobbers_p callsite.
7004
7005 2016-02-24  Richard Biener  <rguenther@suse.de>
7006
7007         PR middle-end/68963
7008         * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Fix
7009         bogus check.
7010         (record_nonwrapping_iv): Do not fall back to the low/high bound
7011         for non-constant IV bases if the stmt is not always executed.
7012
7013 2016-02-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7014
7015         * config/arm/arm-cores.def (cortex-a32): New entry.
7016         * config/arm/arm-tables.opt: Regenerate.
7017         * config/arm/arm-tune.md: Regenerate.
7018         * config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a32.
7019         * config/arm/t-aprofile: Handle mcpu=cortex-a32.
7020         * doc/invoke.texi (ARM Options): Document cortex-a32 as value
7021         for -mcpu and -mtune.
7022
7023 2016-02-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7024
7025         PR target/69875
7026         * config/arm/arm.h (TARGET_HAVE_LPAE): Define.
7027         * config/arm/unspecs.md (VUNSPEC_LDRD_ATOMIC): New value.
7028         * config/arm/sync.md (arm_atomic_loaddi2_ldrd): New pattern.
7029         (atomic_loaddi_1): Delete.
7030         (atomic_loaddi): Rewrite expander using the above changes.
7031
7032 2016-02-24  Jakub Jelinek  <jakub@redhat.com>
7033
7034         PR c/69918
7035         * params.def (PARAM_MAX_SSA_NAME_QUERY_DEPTH): Bump default from
7036         2 to 3.
7037
7038 2016-02-24  Jakub Jelinek  <jakub@redhat.com>
7039             Richard Biener  <rguenth@suse.de>
7040
7041         PR middle-end/69909
7042         * expr.c (expand_expr_real_1) <normal_inner_ref>: Avoid
7043         set_mem_attributes if tem is SSA_NAME which got expanded
7044         as a MEM.
7045
7046 2016-02-24  Richard Biener  <rguenther@suse.de>
7047
7048         PR tree-optimization/69907
7049         * tree-vect-stmts.c (vectorizable_load): Check for gaps at the
7050         end of permutations for BB vectorization.
7051
7052 2016-02-24  Christian Bruel  <christian.bruel@st.com>
7053
7054         * config/arm/arm-c.c (arm_option_override): Initialize
7055         target_option_current_node.
7056         * config/arm/arm.c (arm_pragma_target_parse): Replace
7057         build_target_option_node call by target_option_current_node.
7058         Set target_option_current_node.
7059         Fix comments.
7060
7061 2016-02-23  David Edelsohn  <dje.gcc@gmail.com>
7062
7063         PR target/69810
7064         * config/rs6000/rs6000.md (zero_extendqi<mode>2_dot): Convert from
7065         define_insn_and_split to define_insn.
7066         (zero_extendqi<mode>2_dot2): Same.
7067         (extendqi<mode>2_dot): Same.
7068         (extendqi<mode>2_dot2): Same.
7069
7070 2016-02-23  Evandro Menezes  <e.menezes@samsung.com>
7071
7072         * config/arm/exynos-m1.md: Change cost of STP, fix bypass for stores
7073         and add bypass for AES{D,E} and AESMC pairs.
7074         * config/aarch64/aarch64.c (exynosm1_tunings): Enable fusion of AES{D,E}
7075         and AESMC pairs.
7076
7077 2016-02-23  Evandro Menezes  <e.menezes@samsung.com>
7078
7079         * config/aarch64/aarch64.c (exynosm1_tunings): Enable the Newton
7080         series for reciprocal square root in Exynos M1.
7081
7082 2016-02-23  Martin Sebor  <msebor@redhat.com>
7083
7084         PR c/69759
7085         * doc/extend.texi (Other Builtins): Document __builtin_alloca and
7086         __builtin_alloca_with_align.
7087
7088 2016-02-23  Richard Henderson  <rth@redhat.com>
7089
7090         * config/i386/i386-c.c (ix86_target_macros): Remove __SEG_TLS.
7091         (ix86_register_pragmas): Remove __seg_tls.
7092         * config/i386/i386-protos.h (ADDR_SPACE_SEG_TLS): Remove.
7093         * config/i386/i386.c (ix86_print_operand_address_as): Don't handle it.
7094         (ix86_addr_space_subset_p, TARGET_ADDR_SPACE_SUBSET_P): Remove.
7095         (ix86_addr_space_convert, TARGET_ADDR_SPACE_CONVERT): Remove.
7096         (ix86_addr_space_debug, TARGET_ADDR_SPACE_DEBUG): Remove.
7097         * doc/extend.texi (__seg_tls): Remove item.
7098
7099 2016-02-23  Richard Biener  <rguenther@suse.de>
7100
7101         * alloc-pool.h (struct allocation_object): Make id member
7102         conditional on CHECKING_P again.
7103         (get_instance): Adjust.
7104         (base_pool_allocator): Likewise.
7105
7106 2016-02-23  Thomas Schwinge  <thomas@codesourcery.com>
7107
7108         * tree-parloops.c (create_parallel_loop, gen_parallel_loop)
7109         (parallelize_loops): In OpenACC kernels mode, set n_threads to
7110         zero.
7111         (pass_parallelize_loops::gate): In OpenACC kernels mode, gate on
7112         flag_openacc.
7113         * tree-ssa-loop.c (gate_oacc_kernels): Likewise.
7114
7115 2016-02-23  Richard Biener  <rguenther@suse.de>
7116
7117         * mem-stats.h (struct mem_usage): Use PRIu64 for printing size_t.
7118         * bitmap.h (struct bitmap_usage): Likewise.
7119         (bitmap_move): Declare.
7120         * bitmap.c (register_overhead): Take size_t argument.
7121         (bitmap_move): New function.
7122         * df-problems.c (df_rd_transfer_function): Use bitmap_move
7123         to properly account overhead.
7124         * tree.c (free_node): Use tree_size.
7125
7126 2016-02-23  Jakub Jelinek  <jakub@redhat.com>
7127
7128         PR c++/69902
7129         * fold-const.c (fold_truth_not_expr): Propagate TREE_NO_WARNING
7130         when inverting comparison.
7131
7132         PR c/69900
7133         * common.opt (Wunreachable-code): Add Warning flag.
7134
7135 2016-02-23  Mark Wielaard  <mjw@redhat.com>
7136             Jakub Jelinek  <jakub@redhat.com>
7137
7138         PR c/69911
7139         * cgraphunit.c (check_global_declaration): Check main_input_filename
7140         and DECL_SOURCE_FILE are not NULL.
7141
7142 2016-02-23  Martin Jambor  <mjambor@suse.cz>
7143
7144         PR tree-optimization/69666
7145         * tree-sra.c (sra_modify_assign): Do not attempt to create
7146         default_def replacements for unscalarizable regions.
7147
7148 2016-02-20  Mark Wielaard  <mjw@redhat.com>
7149
7150         PR c/28901
7151         * cgraphunit.c (check_global_declaration): Check level of
7152         warn_unused_const_variable and main_input_filename.
7153         * doc/invoke.texi (Warning Options): Add -Wunused-const-variable=.
7154         (-Wunused-variable): For C implies -Wunused-const-variable=1.
7155         (-Wunused-const-variable): Explain levels 1 and 2.
7156
7157 2016-02-22  Jakub Jelinek  <jakub@redhat.com>
7158
7159         PR target/69888
7160         * config/i386/i386.c (decide_alg): Ensure we don't recurse with
7161         identical arguments.  Formatting and spelling fixes.
7162
7163         PR target/69885
7164         * doc/md.texi (ashl@var{m}3): Document that mode of operand 2 must
7165         be specified.
7166
7167         PR target/69894
7168         PR target/69895
7169         * config/m68k/t-opts (OPTIONS_H_EXTRA): Add m68k-microarchs.def
7170         and m68k-devices.def.
7171         * config/c6x/t-c6x (OPTIONS_H_EXTRA): Add c6x-isas.def.
7172         * config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add aarch64-arches.def.
7173
7174 2016-02-22  Cesar Philippidis  <cesar@codesourcery.com>
7175
7176         * config/nvptx/nvptx.c (nvptx_gen_shuffle): Add support for QImode
7177         and HImode registers.
7178
7179 2016-02-22  Richard Biener  <rguenther@suse.de>
7180
7181         PR tree-optimization/69882
7182         * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Properly
7183         preserve permutations present because of gaps.
7184         (vect_supported_load_permutation_p): Always continue checking
7185         permutations after vect_attempt_slp_rearrange_stmts.
7186
7187 2016-02-22  Bin Cheng  <bin.cheng@arm.com>
7188
7189         * tree-vect-loop.c (vect_estimate_min_profitable_iters): Dump
7190         min_profitable_estimate, rather than min_profitable_iters.
7191
7192 2016-02-22  Jakub Jelinek  <jakub@redhat.com>
7193
7194         PR target/69885
7195         * config/m68k/m68k.md (ashldi3, ashrdi3, lshrdi3): Use
7196         SImode for last match_operand.
7197
7198 2016-02-22  Martin Liska  <mliska@suse.cz>
7199
7200         * hsa-gen.c (gen_hsa_clrsb): In case of zero value,
7201         return bitsize - 1 as the return value.
7202
7203 2016-02-22  Oleg Endo  <olegendo@gcc.gnu.org>
7204
7205         PR target/69806
7206         PR target/54089
7207         * config/sh/sh.c (sh_lshrsi_clobbers_t_reg_p, sh_dynamicalize_shift_p):
7208         Handle negative shift counts.
7209         * config/sh/sh.md (ashlsi3, lshrsi3_n, lshrsi3_n_clobbers_t): Don't use
7210         force_reg on the shift constant.
7211         (lshrsi3): Likewise.  Expand into lshrsi3_n* instead of lshrsi3_d.
7212         (lshrsi3_d): Handle negative shift counts.
7213
7214 2016-02-22  Richard Biener  <rguenther@suse.de>
7215             Tom de Vries  <tom@codesourcery.com>
7216
7217         * graph.c: Include dumpfile.h.
7218         (print_graph_cfg): Split into three overloads.
7219         * gdbhooks.py (class DotFn): Add and instantiate, adding command dot-fn.
7220
7221 2016-02-22  Tom de Vries  <tom@codesourcery.com>
7222
7223         * gdbhooks.py (class DumpFn): Add and instantiate, adding command
7224         dump-fn.
7225
7226 2016-02-22  Richard Biener  <rguenther@suse.de>
7227
7228         PR ipa/37448
7229         * ipa-inline-transform.c (inline_call): When not updating
7230         overall summaries adjust self size by the growth estimate.
7231         * ipa-inline.c (inline_to_all_callers_1): Add to the callers
7232         hash-set, do not update overall summaries here.  Renamed from ...
7233         (inline_to_all_callers): ... this which is now wrapping the
7234         above and performing delayed overall summary update.
7235         (early_inline_small_functions): Delay updating of the overall
7236         summary.
7237
7238 2016-02-21  Markus Trippelsdorf  <markus@trippelsdorf.de>
7239
7240         * tree-chkp.c (chkp_mark_invalid_bounds_walker): Initialize
7241         variable.
7242
7243 2016-02-19  Jakub Jelinek  <jakub@redhat.com>
7244
7245         PR driver/69805
7246         * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use
7247         :%* in %:gt() argument.
7248         (greater_than_spec_func): Adjust for expecting only numbers,
7249         if there are more than two numbers, compare the last two.
7250
7251 2016-02-19  Jonathan Wakely  <jwakely@redhat.com>
7252
7253         * doc/invoke.texi (C++ Dialect Options): Clarify interaction of
7254         -Wnarrowing with -std.
7255
7256 2016-02-19  Jakub Jelinek  <jakub@redhat.com>
7257
7258         PR c++/69851
7259         * expr.c (store_field): Don't use bit-field path if exp is
7260         COMPONENT_REF with TREE_ADDRESSABLE type, where TYPE_SIZE is
7261         different from bitsize, but DECL_SIZE of FIELD_DECL is bitsize
7262         and the assignment can be performed by bitwise copy.  Formatting
7263         fix.
7264
7265         PR middle-end/69838
7266         * lra.c (lra_process_new_insns): If non-call exceptions are enabled,
7267         call copy_reg_eh_region_note_forward on before and/or after sequences
7268         and remove note from insn if it no longer can throw.
7269
7270         PR target/69820
7271         * config/i386/sse.md (VI_512): Only include V64QImode and V32HImode
7272         if TARGET_AVX512BW.
7273
7274 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
7275
7276         * config/s390/vector.md: Add missing commutative operand markers
7277         to the patterns which qualify for one.
7278         * config/s390/vx-builtins.md: Likewise.
7279
7280 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
7281
7282         * config/s390/vector.md (VI, VI_QHS): Add single element vector
7283         types to mode iterators.
7284         (vec_double): ... and mode attribute.
7285         * config/s390/vx-builtins.md (non_vec_int): Likewise.
7286
7287 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
7288
7289         * config/s390/vector.md ("<ti*>add<mode>3", "<ti*>sub<mode>3"):
7290         Change the predicate of op2 from nonimmediate to general and let
7291         reload fix it if necessary.
7292
7293 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
7294
7295         * config/s390/vecintrin.h (vec_sub_u128): Define missing macro.
7296
7297 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
7298
7299         * config/s390/s390.c (s390_expand_vcond): Use the compare operand
7300         mode.
7301
7302 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
7303
7304         * config/s390/s390-protos.h: Add s390_expand_vec_movstr prototype.
7305         * config/s390/s390.c (s390_expand_vec_movstr): New function.
7306         * config/s390/s390.md ("movstr<P:mode>"): Call
7307         s390_expand_vec_movstr.
7308
7309 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
7310
7311         * config/s390/s390.md: Add missing output modifier for operand 1
7312         to print it as address properly.
7313
7314 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
7315
7316         * config/s390/2827.md: Rename ooo_* insn attributes to zEC12_*.
7317         * config/s390/2964.md: New file.
7318         * config/s390/s390.c (s390_get_sched_attrmask): Use the right set
7319         of insn grouping attributes depending on the CPU level.
7320         (s390_get_unit_mask): New function.
7321         (s390_sched_score): Remove the OOO from the scheduling macros.
7322         Add loop to calculate a score for the instruction mix.
7323         (s390_sched_reorder): Likewise plus improve debug output.
7324         (s390_sched_variable_issue): Rename macros as above.  Calculate
7325         the unit distances after actually scheduling an insn.  Improve
7326         debug output.
7327         (s390_sched_init): Clear last_scheduled_unit_distance array.
7328         * config/s390/s390.md: Include 2964.md.
7329
7330 2016-02-18  Jakub Jelinek  <jakub@redhat.com>
7331
7332         PR target/69671
7333         * config/i386/sse.md (*<floatsuffix>floatv2div2sf2_mask_1,
7334         *avx512vl_<code>v2div2qi2_mask_1, *avx512vl_<code><mode>v4qi2_mask_1,
7335         *avx512vl_<code><mode>v8qi2_mask_1, *avx512vl_<code><mode>v4hi2_mask_1,
7336         *avx512vl_<code>v2div2hi2_mask_1, *avx512vl_<code>v2div2si2_mask_1,
7337         *avx512f_<code>v8div16qi2_mask_1): New insns.
7338
7339 2016-02-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
7340
7341         PR target/68404
7342         * config/rs6000/predicates.md (fusion_gpr_addis): Revert
7343         2016-02-09 change.
7344
7345         * config/rs6000/rs6000.md (fusion_gpr_load_<mode>): Remove
7346         earlyclobber from target.  Use wF constraint for fused memory
7347         address.
7348         (fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise.
7349
7350 2016-02-18  Jakub Jelinek  <jakub@redhat.com>
7351             Martin Liska  <mliska@suse.cz>
7352
7353         PR sanitizer/69863
7354         * cfgexpand.c (asan_sanitize_stack_p): New function.
7355         (partition_stack_vars): Use the function.
7356         (expand_stack_vars): Likewise.
7357         (defer_stack_allocation): Likewise.
7358         (expand_used_vars): Likewise.
7359
7360 2016-02-18  Richard Biener  <rguenther@suse.de>
7361
7362         PR middle-end/69553
7363         * fold-const.c (operand_equal_p): Properly compare offsets for
7364         IMAGPART_EXPR and ARRAY_REF.
7365
7366 2016-02-18  Nick Clifton  <nickc@redhat.com>
7367
7368         PR target/62254
7369         PR target/69610
7370         * config/arm/arm.c (arm_option_override_internal): Disable
7371         interworking if the target does not support thumb instructions.
7372         (arm_reload_in_hi): Handle the case where a register to register
7373         move needs reloading because there is no simple pattern to handle
7374         it.
7375         (arm_reload_out_hi): Likewise.
7376
7377 2016-02-18  Richard Biener  <rguenther@suse.de>
7378
7379         PR middle-end/69854
7380         * match.pd: Don't use fold_binary or fold_unary for folding
7381         constants.
7382
7383 2016-02-17  Jakub Jelinek  <jakub@redhat.com>
7384
7385         PR c++/69850
7386         * gimplify.c (gimplify_cond_expr): Call gimple_set_no_warning
7387         on the cond_stmt from TREE_NO_WARNING on COND_EXPR_COND.
7388         * gimple-ssa-nonnull-compare.c (do_warn_nonnull_compare): Don't
7389         warn on gimple_no_warning_p statements.
7390
7391 2016-02-17  Jonathan Wakely  <jwakely@redhat.com>
7392
7393         * doc/extend.texi (C++ Attributes): Correct description of
7394         warn_unused type attribute.
7395
7396 2016-02-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7397
7398         * config/rs6000/altivec.md (*altivec_lvxl_<mode>_internal): Output
7399         correct instruction.
7400
7401 2016-02-17  Richard Biener  <rguenther@suse.de>
7402
7403         PR rtl-optimization/69609
7404         * bb-reorder.c (struct bbro_basic_block_data): Add priority member.
7405         (find_traces_1_round): When ending a trace update cached priority
7406         of successors.
7407         (bb_to_key): Use cached priority when available.
7408         (copy_bb): Initialize cached priority.
7409         (reorder_basic_blocks_software_trace_cache): Likewise.
7410
7411 2016-02-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7412
7413         PR target/69161
7414         * config/aarch64/predicates.md (aarch64_comparison_operator_mode):
7415         New predicate.
7416         (aarch64_comparison_operator): Break overly long line into two.
7417         (aarch64_comparison_operation): Likewise.
7418         * config/aarch64/aarch64.md (cstorecc4): Use
7419         aarch64_comparison_operator_mode instead of
7420         aarch64_comparison_operator.
7421         (cstore<mode>4): Likewise.
7422         (aarch64_cstore<mode>): Likewise.
7423         (*cstoresi_insn_uxtw): Likewise.
7424         (cstore<mode>_neg): Likewise.
7425         (*cstoresi_neg_uxtw): Likewise.
7426
7427 2016-02-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7428
7429         PR target/69161
7430         * config/arm/predicates.md (arm_comparison_operator_mode):
7431         New predicate.
7432         * config/arm/arm.md (*mov_scc): Use arm_comparison_operator_mode
7433         instead of arm_comparison_operator.
7434         (*mov_negscc): Likewise.
7435         (*mov_notscc): Likewise.
7436         * config/arm/thumb2.md (*thumb2_mov_scc): Likewise.
7437         (*thumb2_mov_negscc): Likewise.
7438         (*thumb2_mov_negscc_strict_it): Likewise.
7439         (*thumb2_mov_notscc): Likewise.
7440         (*thumb2_mov_notscc_strict_it): Likewise.
7441
7442 2016-02-17  Wilco Dijkstra  <wdijkstr@arm.com>
7443
7444         * config/aarch64/aarch64.c (aarch64_internal_mov_immediate):
7445         Add missing return.
7446
7447 2016-02-17  Eric Botcazou  <ebotcazou@adacore.com>
7448
7449         * config/visium/visium.c (machine_libfunc_index): New enum.
7450         (machine_libfuncs): New structure.
7451         (visium_libfuncs): New static variable.
7452         (TARGET_INIT_LIBFUNCS): Define to...
7453         (visium_init_libfuncs): ...this.  New function.
7454         (expand_block_move_4): Use the appropriate libfunc.
7455         (expand_block_move_2): Likewise.
7456         (expand_block_move_1): Likewise.
7457         (expand_block_set_4): Likewise.
7458         (expand_block_set_2): Likewise.
7459         (expand_block_set_1): Likewise.
7460         (visium_trampoline_init): Likewise.
7461
7462 2016-02-17  Nick Clifton  <nickc@redhat.com>
7463
7464         * config/msp430/msp430.c (msp430_mcu_data): Sync with data from
7465         TI's devices.csv file as of March 2016.
7466
7467 2016-02-16  Kelvin Nilsen  <kelvin@gcc.gnu.org>
7468
7469         PR Target/48344
7470         * opts-global.c (handle_common_deferred_options): Introduce and
7471         initialize two global variables to remember command-line options
7472         specifying a stack-limiting register.
7473         * opts.h: Add extern declarations of the two new global variables.
7474         * emit-rtl.c (init_emit_once): Initialize the stack_limit_rtx
7475         variable based on the values of the two new global variables.
7476
7477 2016-02-16  Jakub Jelinek  <jakub@redhat.com>
7478
7479         PR c/69835
7480         * common.opt (Wnonnull-compare): New warning.
7481         * doc/invoke.texi (-Wnonnull): Remove text about comparison
7482         of arguments against NULL.
7483         (-Wnonnull-compare): Document.
7484         * Makefile.in (OBJS): Add gimple-ssa-nonnull-compare.o.
7485         * tree-pass.h (make_pass_warn_nonnull_compare): Declare.
7486         * passes.def (pass_warn_nonnull_compare): Add.
7487         * gimple-ssa-nonnull-compare.c: New file.
7488
7489 2016-02-16  James Greenhalgh  <james.greenhalgh@arm.com>
7490
7491         * config/aarch64/aarch64.c (cortexa57_tunings): Remove
7492         AARCH64_EXTRA_TUNE_RECIP_SQRT.
7493
7494 2016-02-16  James Greenhalgh  <james.greenhalgh@arm.com>
7495
7496         * config/aarch64/aarch64.c (use_rsqrt_p): Always use software
7497         reciprocal sqrt for -mlow-precision-recip-sqrt.
7498
7499 2016-02-16  James Greenhalgh  <james.greenhalgh@arm.com>
7500             Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
7501
7502         * config/aarch64/aarch64.c (aarch64_expand_vector_init): Refactor,
7503         always use lane loads to construct non-constant vectors.
7504
7505 2016-02-16  James Greenhalgh  <james.greenhalgh@arm.com>
7506
7507         * config/aarch64/aarch64.md
7508         (arch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): Fix register
7509         constraints for operand 3.
7510         (aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): Likewise.
7511
7512 2016-02-16  Jakub Jelinek  <jakub@redhat.com>
7513             Richard Biener  <rguenther@suse.de>
7514
7515         PR tree-optimization/69820
7516         * tree-vect-patterns.c (type_conversion_p): Return false if
7517         *orig_type is unsigned single precision or boolean.
7518         (vect_recog_dot_prod_pattern, vect_recog_widen_mult_pattern):
7519         Formatting fix.
7520
7521 2016-02-16  Jakub Jelinek  <jakub@redhat.com>
7522
7523         PR rtl-optimization/69764
7524         PR rtl-optimization/69771
7525         * optabs.c (expand_binop): Ensure for shift optabs invalid CONST_INT
7526         op1 is valid for GET_MODE_INNER (mode) and force it into a reg.
7527
7528 2016-02-16  Richard Biener  <rguenther@suse.de>
7529
7530         PR tree-optimization/69776
7531         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Get alias
7532         sets from caller.
7533         (indirect_refs_may_alias_p): Likewise.
7534         (refs_may_alias_p_1): Pass alias sets as from ao_ref.
7535         * tree-ssa-sccvn.c (vn_reference_lookup): Also adjust vr alias-set
7536         according to tbaa_p.
7537         * tree-ssa-dom.c (lookup_avail_expr): Add tbaa_p flag.
7538         (optimize_stmt): For redundant store discovery do not allow tbaa.
7539
7540 2016-02-16  Bernd Schmidt  <bschmidt@redhat.com>
7541
7542         PR tree-optimization/69714
7543         * tree-ssa-math-opts.c (find_bswap_or_nop): Revert previous change.
7544         Return NULL if we have irrelevant high bytes on BIG_ENDIAN.
7545
7546 2016-02-16  Claudiu Zissulescu  <claziss@synopsys.com>
7547
7548         * config/arc/arc-modes.def (CC_FPU, CC_FPU_UNEQ): New modes.
7549         * config/arc/arc-opts.h (FPU_SP, FPU_SF, FPU_SC, FPU_SD, FPU_DP)
7550         (FPU_DF, FPU_DC, FPU_DD, FXP_DP): Define.
7551         * config/arc/arc.c (arc_init): Check FPU options.
7552         (get_arc_condition_code): Handle new CC_FPU* modes.
7553         (arc_select_cc_mode): Likewise.
7554         (arc_conditional_register_usage): Allow 64 bit datum into even-odd
7555         register pair only. Allow access for ARCv2 accumulator.
7556         (gen_compare_reg): Whenever we have FPU support use FPU compare
7557         instructions.
7558         (arc_reorg): Don't generate brcc insns when FPU compare
7559         instructions are involved.
7560         * config/arc/arc.h (TARGET_DPFP): Add TARGET_FP_DPAX condition.
7561         (TARGET_OPTFPE): Add condition when ARC EM can use optimized
7562         floating point emulation.
7563         (ACC_REG_FIRST, ACC_REG_LAST, ACCL_REGNO, ACCH_REGNO): Define.
7564         (REVERSE_CONDITION): Add new CC_FPU* modes.
7565         (TARGET_FP_SP_BASE): Define.
7566         (TARGET_FP_DP_BASE): Likewise.
7567         (TARGET_FP_SP_FUSED): Likewise.
7568         (TARGET_FP_DP_FUSED): Likewise.
7569         (TARGET_FP_SP_CONV): Likewise.
7570         (TARGET_FP_DP_CONV): Likewise.
7571         (TARGET_FP_SP_SQRT): Likewise.
7572         (TARGET_FP_DP_SQRT): Likewise.
7573         (TARGET_FP_DP_AX): Likewise.
7574         * config/arc/arc.md (ARCV2_ACC): New constant.
7575         (type): New fpu type attribute.
7576         (SDF): Conditional iterator.
7577         (cstore<mode>, cbranch<mode>): Change expand condition.
7578         (addsf3, subsf3, mulsf3, adddf3, subdf3, muldf3): New expands,
7579         handles FPU/FPX cases as well.
7580         * config/arc/arc.opt (mfpu): New option.
7581         * config/arc/fpx.md (addsf3_fpx, subsf3_fpx, mulsf3_fpx):
7582         Renamed.
7583         (adddf3, muldf3, subdf3): Removed.
7584         * config/arc/predicates.md (proper_comparison_operator): Recognize
7585         CC_FPU* modes.
7586         * config/arc/fpu.md: New file.
7587         * doc/invoke.texi (ARC Options): Document mfpu option.
7588
7589 2016-02-16  Richard Biener  <rguenther@suse.de>
7590
7591         PR rtl-optimization/69291
7592         * ifcvt.c (noce_try_store_flag_constants): Re-instantiate
7593         noce_operand_ok check.
7594
7595 2016-02-16  Tom de Vries  <tom@codesourcery.com>
7596
7597         PR lto/67709
7598         * omp-low.c (simd_clone_create): Remove call to
7599         symtab->call_cgraph_insertion_hooks.
7600
7601 2016-02-16  Jakub Jelinek  <jakub@redhat.com>
7602
7603         PR tree-optimization/69802
7604         * tree-ssa-reassoc.c (update_range_test): If op is
7605         SSA_NAME_IS_DEFAULT_DEF, give up unless tem is a positive
7606         op == 1 test of precision 1 integral op, otherwise handle
7607         that case as op itself.  Fix up formatting.
7608         (optimize_range_tests_to_bit_test, optimize_range_tests): Fix
7609         up formatting.
7610
7611 2016-02-16  Richard Biener  <rguenther@suse.de>
7612
7613         PR tree-optimization/69586
7614         * tree-vrp.c (register_edge_assert_for_2): Handle all integral
7615         types for conversion sources.
7616
7617 2016-02-16  Richard Biener  <rguenther@suse.de>
7618
7619         PR middle-end/69801
7620         * fold-const.c (operand_equal_p): For COND_EXPR zero operand
7621         mask OEP_ADDRESS_OF.
7622
7623 2016-02-16  Alan Modra  <amodra@gmail.com>
7624
7625         PR target/68973
7626         * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Rewrite splitter.
7627         (p8_mtvsrd_df, p8_mtvsrd_sf): New.
7628         (p8_mtvsrd_1, p8_mtvsrd_2): Delete.
7629         (p8_mtvsrwz): New.
7630         (p8_mtvsrwz_1, p8_mtvsrwz_2): Delete.
7631         (p8_xxpermdi_<mode>): Take two DF inputs rather than one TF.
7632         (p8_fmrgow_<mode>): Likewise.
7633         (reload_vsx_from_gpr<mode>): Make clobber IF.  Adjust for above
7634         changes.
7635         (reload_fpr_from_gpr<mode>): Similarly. Use "d" for op0 constraint.
7636         (reload_vsx_from_gprsf): Use p8_mtvsrd_sf rather than attempting
7637         to use movdi_internal64.  Remove op0_di.
7638         * config/rs6000/vsx.md (vsx_xscvspdpn_directmove): Make op1 SFmode.
7639
7640 2016-02-15  Evandro Menezes  <e.menezes@samsung.com>
7641
7642         Add support for the FCCMP insn types
7643
7644         * config/aarch64/aarch64.md (fccmp): Change insn type.
7645         (fccmpe): Likewise.
7646         * config/aarch64/thunderx.md (thunderx_fcmp): Add "fccmp{s,d}" types.
7647         * config/arm/cortex-a53.md (cortex_a53_fpalu): Likewise.
7648         * config/arm/cortex-a57.md (cortex_a57_fp_cmp): Likewise.
7649         * config/arm/xgene1.md (xgene1_fcmp): Likewise.
7650         * config/arm/exynos-m1.md (exynos_m1_fp_ccmp): New insn reservation.
7651         * config/arm/types.md (fccmps): Add new insn type.
7652         (fccmpd): Likewise.
7653
7654 2016-02-15  Bernd Edlinger  <bernd.edlinger@hotmail.de>
7655
7656         * alias.c (get_alias_set): Fix a typo in comment.
7657
7658 2016-02-15  Richard Biener  <rguenther@suse.de>
7659
7660         PR tree-optimization/69595
7661         * match.pd: Complete range test simplification to true.
7662
7663 2016-02-15  Bernd Schmidt  <bschmidt@redhat.com>
7664
7665         PR rtl-optimization/69648
7666         * lra-constraints.c (update_ebb_live_info): Don't remove sets of
7667         pic_offset_table_rtx.
7668
7669         PR rtl-optimization/69752
7670         * ira.c (update_equiv_regs): When looking for more than a single SET,
7671         also take other side effects into account.
7672
7673 2016-02-15  Marcin Kościelnicki  <koriakin@0x04.net>
7674
7675         * config/s390/s390.c (s390_function_profiler): Add a new sequence
7676         for z900+ CPUs in 31-bit mode.
7677
7678 2016-02-15  Marcin Kościelnicki  <koriakin@0x04.net>
7679
7680         * common/config/s390/s390-common.c (s390_supports_split_stack):
7681         New function.
7682         (TARGET_SUPPORTS_SPLIT_STACK): New macro.
7683         * config/s390/s390-protos.h: Add s390_expand_split_stack_prologue.
7684         * config/s390/s390.c (struct machine_function): New field
7685         split_stack_varargs_pointer.
7686         (s390_register_info): Mark r12 as clobbered if it'll be used as temp
7687         in s390_emit_prologue.
7688         (s390_emit_prologue): Use r12 as temp if r1 is taken by split-stack
7689         vararg pointer.
7690         (morestack_ref): New global.
7691         (SPLIT_STACK_AVAILABLE): New macro.
7692         (s390_expand_split_stack_prologue): New function.
7693         (s390_live_on_entry): New function.
7694         (s390_va_start): Use split-stack vararg pointer if appropriate.
7695         (s390_asm_file_end): Emit the split-stack note sections.
7696         (TARGET_EXTRA_LIVE_ON_ENTRY): New macro.
7697         * config/s390/s390.md (UNSPEC_STACK_CHECK): New unspec.
7698         (UNSPECV_SPLIT_STACK_CALL): New unspec.
7699         (UNSPECV_SPLIT_STACK_DATA): New unspec.
7700         (split_stack_prologue): New expand.
7701         (split_stack_space_check): New expand.
7702         (split_stack_data): New insn.
7703         (split_stack_call): New expand.
7704         (split_stack_call_*): New insn.
7705         (split_stack_cond_call): New expand.
7706         (split_stack_cond_call_*): New insn.
7707
7708 2016-02-15  Richard Biener  <rguenther@suse.de>
7709
7710         PR tree-optimization/69783
7711         * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
7712         Add trivially correct cases.
7713
7714 2016-02-15  Tom de Vries  <tom@codesourcery.com>
7715
7716         PR lto/69655
7717         * lto-cgraph.c (input_offload_tables): Add and handle bool parameter
7718         do_force_output.
7719         * lto-streamer.h (input_offload_tables): Add and handle bool parameter.
7720
7721 2016-02-15  Richard Biener  <rguenther@suse.de>
7722
7723         PR tree-optimization/69776
7724         * tree-ssa-sccvn.h (vn_reference_lookup): Adjust prototype.
7725         * tree-ssa-sccvn.c (vn_reference_lookup): Add parameter to
7726         indicate whether we can use TBAA to disambiguate against stores.
7727         Use alias-set zero if not.
7728         (visit_reference_op_store): Do not use TBAA when looking up
7729         redundant stores.
7730         * tree-ssa-pre.c (compute_avail): Use TBAA here.
7731         (eliminate_dom_walker::before_dom_children): But not when looking
7732         up redundant stores.
7733
7734 2016-02-14  John David Anglin  <danglin@gcc.gnu.org>
7735
7736         * config/pa/pa.md (absqi2, absghi2, bswaphi2, bswapsi2, bswapdi2): New.
7737
7738 2016-02-14  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
7739
7740         *  config/i386/znver1.md
7741         (znver1_pop, znver1_pop_mem,
7742         znver1_load_imov_double_store,
7743         znver1_load_imov_direct_store,
7744         znver1_load_imov_direct_load,
7745         znver1_load_imov_double_load): Add new.
7746         (znver1_insn, znver1_insn_load): Add icmov type.
7747         (znver1_sseavx_fma,
7748         znver1_sseavx_fma_load,
7749         znver1_avx256_fma,
7750         znver1_avx256_fma_load): Fix pipe usage.
7751
7752 2016-02-14  Alan Modra  <amodra@gmail.com>
7753
7754         PR target/68973
7755         * reloads.c (find_reloads_address_1): For pre/post-inc/dec
7756         with an invalid hard reg, reload just the reg not the entire
7757         pre/post-inc/dec address expression.
7758
7759 2016-02-13  Oleg Endo  <olegendo@gcc.gnu.org>
7760
7761         PR target/67260
7762         * config/sh/sh.md (sibcall_value_pcrel): Replace =&k scratch reg with
7763         fixed R1_REG scratch reg.
7764         (sibcall_value_pcrel_fdpic): Likewise.
7765
7766 2016-02-13  Oleg Endo  <olegendo@gcc.gnu.org>
7767
7768         PR target/67636
7769         PR target/64345
7770         * config/sh/sh.md (*zero_extract_3): New insn_and_split pattern.
7771
7772 2016-02-12  Walter Lee  <walt@tilera.com>
7773
7774         * config/tilepro/t-tilepro: Replace CC_FOR_BUILD with CXX_FOR_BUILD.
7775         * config/tilegx/t-tilegx: Likewise.
7776
7777 2016-02-12  David Malcolm  <dmalcolm@redhat.com>
7778
7779         PR other/69554
7780         * diagnostic-show-locus.c (struct line_span): New struct.
7781         (layout::get_first_line): Delete.
7782         (layout::get_last_line): Delete.
7783         (layout::get_num_line_spans): New member function.
7784         (layout::get_line_span): Likewise.
7785         (layout::print_heading_for_line_span_index_p): Likewise.
7786         (layout::get_expanded_location): Likewise.
7787         (layout::calculate_line_spans): Likewise.
7788         (layout::m_first_line): Delete.
7789         (layout::m_last_line): Delete.
7790         (layout::m_line_spans): New field.
7791         (layout::layout): Update comment.  Replace m_first_line and
7792         m_last_line with m_line_spans, replacing their initialization
7793         with a call to calculate_line_spans.
7794         (diagnostic_show_locus): When printing source lines and
7795         annotations, rather than looping over a single span
7796         of lines, instead loop over each line_span within
7797         the layout, with an inner loop over the lines within them.
7798         Call the context's start_span callback when changing line spans.
7799         * diagnostic.c (diagnostic_initialize): Initialize start_span.
7800         (diagnostic_build_prefix): Break out the building of the location
7801         part of the string into...
7802         (diagnostic_get_location_text): ...this new function, rewriting
7803         it from nested ternary expressions to a sequence of "if"
7804         statements.
7805         (default_diagnostic_start_span_fn): New function.
7806         * diagnostic.h (diagnostic_start_span_fn): New typedef.
7807         (diagnostic_context::start_span): New field.
7808         (default_diagnostic_start_span_fn): New prototype.
7809
7810 2016-02-12  David Malcolm  <dmalcolm@redhat.com>
7811
7812         PR driver/69779
7813         * gcc.c (driver::finalize): Fix cleanup of "specs".
7814
7815 2016-02-12  David Malcolm  <dmalcolm@redhat.com>
7816
7817         PR driver/69265
7818         PR driver/69453
7819         * gcc.c (driver::driver): Initialize m_option_suggestions.
7820         (driver::~driver): Clean up m_option_suggestions.
7821         (suggest_option): Convert to...
7822         (driver::suggest_option): ...this, and split out into
7823         driver::build_option_suggestions and find_closest_string.
7824         (driver::build_option_suggestions): New function, from
7825         first half of suggest_option.  Special-case
7826         OPT_fsanitize_ and OPT_fsanitize_recover_, making use of
7827         the sanitizer_opts array.  For options of enum types, add the
7828         various enum values to the candidate strings.
7829         (driver::handle_unrecognized_options): Remove "const".
7830         * gcc.h (driver::handle_unrecognized_options): Likewise.
7831         (driver::build_option_suggestions): New decl.
7832         (driver::suggest_option): New decl.
7833         (driver::m_option_suggestions): New field.
7834         * opts-common.c (add_misspelling_candidates): New function.
7835         * opts.c (sanitizer_opts): Remove decl of struct sanitizer_opts_s
7836         and make non-static.
7837         * opts.h (sanitizer_opts): New array decl.
7838         (add_misspelling_candidates): New function decl.
7839         * spellcheck.c (find_closest_string): New function.
7840         * spellcheck.h (find_closest_string): New function decl.
7841
7842 2016-02-12  Jakub Jelinek  <jakub@redhat.com>
7843
7844         PR rtl-optimization/69764
7845         PR rtl-optimization/69771
7846         * optabs.c (expand_binop_directly): For shift_optab_p, force
7847         convert_modes with VOIDmode if xop1 has VOIDmode.
7848
7849 2016-02-12  Ilya Enkovich  <enkovich.gnu@gmail.com>
7850
7851         PR target/69729
7852         * lto-streamer-out.c (lto_output): Use thunk.add_pointer_bounds_args
7853         to correctly determine instrumentation thunks.
7854
7855 2016-02-12  Jakub Jelinek  <jakub@redhat.com>
7856
7857         PR ipa/69241
7858         * ipa-split.c (split_function): If split part returns TREE_ADDRESSABLE
7859         type by reference, force lhs on the call.
7860
7861         PR ipa/68672
7862         * ipa-split.c (split_function): Don't compute/use main_part_return_p.
7863         Compute retval and retbnd early in all cases if split_part_return_p
7864         and return_bb is not EXIT.  Remove all clobber stmts and reset
7865         all debug stmts that refer to SSA_NAMEs defined in split part,
7866         except if it is retval, in that case replace the old retval with the
7867         lhs of the call to the split part.
7868
7869 2016-02-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
7870
7871         revert:
7872         2016-02-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
7873
7874         PR middle-end/66726
7875         * tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
7876         whose result is used in PHI.
7877         (maybe_optimize_range_tests): Likewise.
7878         (final_range_test_p): Likweise.
7879
7880 2016-02-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
7881
7882         PR middle-end/66726
7883         * tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
7884         whose result is used in PHI.
7885         (maybe_optimize_range_tests): Likewise.
7886         (final_range_test_p): Likweise.
7887
7888 2016-02-12  Jakub Jelinek  <jakub@redhat.com>
7889
7890         * cgraph.c: Spelling fixes - behaviour -> behavior and
7891         neighbour -> neighbor.
7892         * target.def: Likewise.
7893         * sel-sched.c: Likewise.
7894         * config/mips/mips.c: Likewise.
7895         * config/arc/arc.md: Likewise.
7896         * config/arm/cortex-a57.md: Likewise.
7897         * config/arm/arm.c: Likewise.
7898         * config/arm/neon.md: Likewise.
7899         * config/arm/arm-c.c: Likewise.
7900         * config/vms/vms-c.c: Likewise.
7901         * config/s390/s390.c: Likewise.
7902         * config/i386/znver1.md: Likewise.
7903         * config/i386/i386.c: Likewise.
7904         * config/ia64/hpux-unix2003.h: Likewise.
7905         * config/msp430/msp430.md: Likewise.
7906         * config/rx/rx.c: Likewise.
7907         * config/rx/rx.md: Likewise.
7908         * config/aarch64/aarch64-simd.md: Likewise.
7909         * config/aarch64/aarch64.c: Likewise.
7910         * config/nvptx/nvptx.c: Likewise.
7911         * config/bfin/bfin.c: Likewise.
7912         * config/cris/cris.opt: Likewise.
7913         * config/rs6000/rs6000.c: Likewise.
7914         * target.h: Likewise.
7915         * spellcheck.c: Likewise.
7916         * ira-build.c: Likewise.
7917         * tree-inline.c: Likewise.
7918         * builtins.c: Likewise.
7919         * lra-constraints.c: Likewise.
7920         * explow.c: Likewise.
7921         * hwint.h: Likewise.
7922         * targhooks.c: Likewise.
7923         * tree-vect-data-refs.c: Likewise.
7924         * expr.c: Likewise.
7925         * doc/tm.texi: Likewise.
7926         * doc/extend.texi: Likewise.
7927         * doc/install.texi: Likewise.
7928         * doc/md.texi: Likewise.
7929         * tree-ssa-tail-merge.c: Likewise.
7930         * sched-int.h: Likewise.
7931         * match.pd: Likewise.
7932         * sched-ebb.c: Likewise.
7933         * target.def (omit_struct_return_reg): Likewise.
7934         * gimple-ssa-isolate-paths.c: Likewise.
7935         (find_implicit_erroneous_behaviour): Renamed to...
7936         (find_implicit_erroneous_behavior): ... this.
7937         (find_explicit_erroneous_behaviour): Renamed to...
7938         (find_explicit_erroneous_behavior): ... this.
7939         (gimple_ssa_isolate_erroneous_paths): Adjust caller.
7940
7941 2016-02-11  Segher Boessenkool  <segher@kernel.crashing.org>
7942
7943         PR rtl-optimization/64682
7944         PR rtl-optimization/69567
7945         PR rtl-optimization/69737
7946         * combine.c (distribute_notes) <REG_DEAD>: If the register is set
7947         in I2 as well, just lose it.
7948
7949 2016-02-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7950
7951         * config/aarch64/aarch64.c (aarch64_last_printed_arch_string):
7952         New variable.
7953         (aarch64_last_printed_tune_string): Likewise.
7954         (aarch64_declare_function_name): Only output .arch assembler
7955         directive if it will be different from the previously output
7956         directive.  Same for .tune comment but only if -dA is set.
7957         (aarch64_start_file): New function.
7958         (TARGET_ASM_FILE_START): Define.
7959
7960 2016-02-11  David Malcolm  <dmalcolm@redhat.com>
7961
7962         PR plugins/69758
7963         * Makefile.in (PLUGIN_HEADERS): Add params.list.
7964
7965 2016-02-11  Jakub Jelinek  <jakub@redhat.com>
7966
7967         PR target/65313
7968         * tree-vect-slp.c (vect_schedule_slp_instance): Avoid
7969         -Wmaybe-uninitialized warning.
7970
7971 2016-02-11  Oleg Endo  <olegendo@gcc.gnu.org>
7972
7973         PR target/69713
7974         * config/sh/sh.md (casesi_worker_0): Add T_REG use.
7975
7976 2016-02-11  Richard Biener  <rguenther@suse.de>
7977
7978         PR rtl-optimization/69291
7979         * ifcvt.c (noce_try_store_flag_constants): Do not allow
7980         subexpressions affected by changing the result.
7981
7982 2016-02-10  Vladimir Makarov  <vmakarov@redhat.com>
7983
7984         PR target/69148
7985         * lra-constraints.c (curr_insn_transform): Find in/out operands
7986         for secondary memory moves.  Update dups.
7987
7988 2016-02-10  Yuri Rumyantsev  <ysrumyan@gmail.com>
7989
7990         PR tree-optimization/69652
7991         * tree-vect-loop.c (optimize_mask_stores): Move declaration of STMT1
7992         to nested loop, did source re-formatting, skip debug statements,
7993         add check on statement with volatile operand, remove dead scalar
7994         statements.
7995
7996 2016-02-10  Jakub Jelinek  <jakub@redhat.com>
7997             Patrick Palka  <ppalka@gcc.gnu.org>
7998
7999         PR ipa/69241
8000         PR c++/69649
8001         * gimplify.c (gimplify_modify_expr): Set lhs even for noreturn
8002         calls if the return type is TREE_ADDRESSABLE.
8003         * cgraphunit.c (cgraph_node::expand_thunk): Likewise.
8004         * ipa-split.c (split_function): Fix doubled "we" in comment.
8005         Use void return type for the split part even if
8006         !split_point->split_part_set_retval.
8007
8008 2016-02-10  Bin Cheng  <bin.cheng@arm.com>
8009
8010         PR tree-optimization/68021
8011         * tree-ssa-loop-ivopts.c (get_computation_aff): Set ratio to 1 if
8012         when computing the value of biv cand by itself.
8013
8014 2016-02-10  Wilco Dijkstra  <wdijkstr@arm.com>
8015
8016         * config/aarch64/aarch64.c (cortexa53_tunings): Enable AES fusion.
8017         (cortexa57_tunings): Likewise.
8018         (cortexa72_tunings): Likewise.
8019         (arch_macro_fusion_pair_p): Add support for AES fusion.
8020         * config/aarch64/aarch64-fusion-pairs.def: Add AES_AESMC entry.
8021         * config/arm/aarch-common.c (aarch_crypto_can_dual_issue):
8022         Allow virtual registers before reload so early scheduling works.
8023         * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Use
8024         correct latency and pipeline.
8025         (cortex_a57_crypto_complex): Likewise.
8026         (cortex_a57_crypto_xor): Likewise.
8027         (define_bypass): Add AES bypass.
8028
8029 2016-02-10  Richard Biener  <rguenther@suse.de>
8030
8031         PR tree-optimization/69726
8032         * passes.def: Add DCE pass before late uninit.
8033         * match.pd: Add A ? B : (!A ? C : X) -> A ? B : C patterns to
8034         really fixup if-conversions job.
8035
8036 2016-02-10  Wilco Dijkstra  <wdijkstr@arm.com>
8037
8038         * config/arm/arm.c (arm_cortex_a53_tune): Enable AES fusion.
8039         (arm_cortex_a57_tune): Likewise.
8040         (aarch_macro_fusion_pair_p): Add support for AES fusion.
8041         * config/arm/arm-protos.h (fuse_ops): Add FUSE_AES_AESMC.
8042
8043 2016-02-10  Eric Botcazou  <ebotcazou@adacore.com>
8044
8045         * timevar.def (TV_PHASE_DBGINFO): Delete.
8046         (TV_PHASE_CHECK_DBGINFO): Likewise.
8047         * varpool.c (varpool_node::assemble_decl): Do not change timevar.
8048
8049 2016-02-10  Richard Biener  <rguenther@suse.de>
8050
8051         PR tree-optimization/69719
8052         * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
8053         Adjust previous fix by ensuring that dr_a1 is left of dr_a2.
8054
8055 2016-02-09  Andrew Pinski  <apinski@cavium.com>
8056
8057         PR tree-opt/69282
8058         * optabs-tree.c (expand_vec_cond_expr_p): Don't early return if
8059         get_vcond_mask_icode returns false.
8060
8061 2016-02-09  Michael Meissner  <meissner@linux.vnet.ibm.com>
8062
8063         PR target/68404
8064         * config/rs6000/predicates.md (fusion_gpr_addis): Prevent fusing
8065         an ADDIS that adds a pointer to a large constant that sets the
8066         upper16 bits with a load operation.
8067
8068 2016-02-09  Charles Baylis  <charles.baylis@linaro.org>
8069
8070         PR target/68532
8071         * config/arm/arm.c (arm_evpc_neon_vzip): Allow for big endian lane
8072         order.
8073         * config/arm/arm_neon.h (vzipq_s8): Adjust shuffle patterns for big
8074         endian.
8075         (vzipq_s16): Likewise.
8076         (vzipq_s32): Likewise.
8077         (vzipq_f32): Likewise.
8078         (vzipq_u8): Likewise.
8079         (vzipq_u16): Likewise.
8080         (vzipq_u32): Likewise.
8081         (vzipq_p8): Likewise.
8082         (vzipq_p16): Likewise.
8083
8084 2016-02-09  Charles Baylis  <charles.baylis@linaro.org>
8085
8086         PR target/68532
8087         * config/arm/arm.c (neon_endian_lane_map): New function.
8088         (neon_vector_pair_endian_lane_map): New function.
8089         (arm_evpc_neon_vuzp): Allow for big endian lane order.
8090         * config/arm/arm_neon.h (vuzpq_s8): Adjust shuffle patterns for big
8091         endian.
8092         (vuzpq_s16): Likewise.
8093         (vuzpq_s32): Likewise.
8094         (vuzpq_f32): Likewise.
8095         (vuzpq_u8): Likewise.
8096         (vuzpq_u16): Likewise.
8097         (vuzpq_u32): Likewise.
8098         (vuzpq_p8): Likewise.
8099         (vuzpq_p16): Likewise.
8100
8101 2016-02-11  Alexandre Oliva  <aoliva@redhat.com>
8102
8103         PR target/69634
8104         * regstat.c (regstat_bb_compute_calls_crossed): Disregard
8105         debug insns.
8106
8107 2016-02-09  Uros Bizjak  <ubizjak@gmail.com>
8108
8109         * config/i386/i386.md (insv<mode>_1): Use gen_int_mode to
8110         truncate const_int operand 1 to QImode.
8111
8112 2016-02-09  Eric Botcazou  <ebotcazou@adacore.com>
8113
8114         * gimple-ssa-backprop.c (optimize_phi): Do not replace an argument
8115         corresponding to an abnormal edge.
8116
8117 2016-02-09  Tom de Vries  <tom@codesourcery.com>
8118
8119         PR tree-optimization/69599
8120         * tree-ssa-structalias.c (fndecl_maybe_in_other_partition): New
8121         function.
8122         (find_func_aliases_for_builtin_call, find_func_clobbers)
8123         (ipa_pta_execute):  Handle case that foo and foo._0 are not in same lto
8124         partition.
8125
8126 2016-02-09  Richard Biener  <rguenther@suse.de>
8127
8128         PR tree-optimization/69715
8129         * tree-ssa.c (execute_update_addresses_taken): Mark non-decl
8130         LHS on calls as non-rewritable.
8131
8132 2016-02-09  Tom de Vries  <tom@codesourcery.com>
8133
8134         PR lto/69707
8135         * lto-wrapper.c (append_diag_options): New function.
8136         (compile_offload_image): Call append_diag_options.
8137
8138 2016-02-08  Sandra Loosemore  <sandra@codesourcery.com>
8139
8140         PR other/69722
8141         * doc/extend.texi (Flag Output Operands): Correct sectioning.
8142         Minor copy-edit to fix verb tenses.
8143
8144 2016-02-08  Jakub Jelinek  <jakub@redhat.com>
8145
8146         PR tree-optimization/69209
8147         * ipa-split.c (split_function): If split part is not
8148         returning retval, retval has gimple type but is not
8149         gimple value, force it into a SSA_NAME first.
8150
8151 2016-02-08  Nicklas Bo Jensen  <nbjensen@gmail.com>
8152
8153         * doc/tree-ssa.texi (Preserving the virtual SSA form): Remove
8154         outdated section.
8155
8156 2016-02-08  Jason Merrill  <jason@redhat.com>
8157
8158         PR c++/69631
8159         * convert.c (convert_to_integer_1): Check dofold on truncation
8160         distribution.
8161         (convert_to_pointer_maybe_fold, convert_to_real_maybe_fold)
8162         (convert_to_integer_maybe_fold, convert_to_complex_maybe_fold):
8163         Rename from *_nofold.
8164         * convert.h (convert_to_pointer_nofold, convert_to_integer_nofold)
8165         (convert_to_real_nofold, convert_to_complex_nofold): New inlines.
8166
8167 2016-02-08  Bernd Schmidt  <bschmidt@redhat.com>
8168
8169         PR target/60410
8170         * tree.c (build_common_tree_nodes): Remove short_double argument.
8171         All callers changed.
8172         * tree.h (build_common_tree_nodes): Adjust declaration.
8173         * doc/invoke.texi (-fshort-double): Remove documentation.
8174         * config/mips/t-img-elf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
8175         MULTILIB_EXCEPTIONS): Remove -fshort-double variant.
8176         * lto-wrapper.c (merge_and_complain, append_compiler_options)
8177         (append_linker_options): Don't handle OPT_fshort_double.
8178
8179         PR rtl-optimization/68730
8180         * lra-remat.c (insn_to_cand_activation): New static variable.
8181         (lra_remat): Allocate and free it.
8182         (create_cand): New arg activation. Initialize a field in
8183         insn_to_cand_activation if it is nonnull.
8184         (create_cands): Pass the activation insn to create_cand when making
8185         a candidate involving an output reload.  Reorganize code a little.
8186         (do_remat): Keep track of active status of candidates in a separate
8187         bitmap.
8188
8189 2016-02-08  Richard Biener  <rguenther@suse.de>
8190
8191         PR tree-optimization/69719
8192         * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
8193         Properly use absolute of the difference of the two offsets to
8194         compare or adjust the segment length.
8195
8196 2016-02-08  Richard Biener  <rguenther@suse.de>
8197             Jeff Law  <law@redhat.com>
8198
8199         PR target/68273
8200         * tree-ssanames.c (make_ssa_name_fn): Always use unqualified
8201         types for anonymous SSA names.
8202
8203 2016-02-08   Richard Biener  <rguenther@suse.de>
8204
8205         PR rtl-optimization/69274
8206         * ira.c (ira_setup_alts): Do not change recog_data.operand order.
8207
8208 2016-02-08  Jeff Law  <law@redhat.com>
8209
8210         PR tree-optimization/65917
8211         * tree-ssa-dom.c (record_temporary_equivalences): Record both
8212         equivalences from if (x == y) style conditionals.
8213         (loop_depth_of_name): Remove.
8214         (record_equality): Remove loop depth check.
8215         * tree-ssa-scopedtables.h (const_and_copies): Refine comments.
8216         (const_and_copies::record_const_or_copy_raw): New member function.
8217         * tree-ssa-scopedtables.c
8218         (const_and_copies::record_const_or_copy_raw): New, factored out of
8219         (const_and_copies::record_const_or_copy): Call new member function.
8220
8221 2016-02-05  Jeff Law  <law@redhat.com>
8222
8223         PR tree-optimization/68541
8224         * gimple-ssa-split-paths.c: Include tree-cfg.h and params.h.
8225         (count_stmts_in_block): New function.
8226         (poor_ifcvt_candidate_code): Likewise.
8227         (is_feasible_trace): Add some heuristics to determine when path
8228         splitting is profitable.
8229         (find_block_to_duplicate_for_splitting_paths): Make sure the graph
8230         is a diamond with a single exit.
8231
8232 2016-02-05  Martin Sebor  <msebor@redhat.com>
8233
8234         PR c++/69662
8235         * doc/invoke.texi: Update -Wplacement-new to take an optional
8236         argument.
8237
8238 2016-02-06  Richard Henderson  <rth@redhat.com>
8239
8240         PR c/69643
8241         * tree.c (tree_nop_conversion_p): Do not strip casts into or
8242         out of non-standard address spaces.
8243
8244 2016-02-05  Jakub Jelinek  <jakub@redhat.com>
8245
8246         PR rtl-optimization/69691
8247         * lra-eliminations.c (move_plus_up): Don't add the addend twice.
8248
8249 2016-02-05  Pat Haugen  <pthaugen@us.ibm.com>
8250
8251         * config/rs6000/crypto.md (crypto_vpermxor_<mode>): Correct insn type.
8252         * config/rs6000/rs6000.md (mov<mode>_hardfloat): Likewise.
8253         (*ieee128_mfvsrd_64bit): Likewise.
8254         (*ieee128_mfvsrd_32bit): Likewise.
8255
8256 2016-02-05  Ilya Enkovich  <enkovich.gnu@gmail.com>
8257
8258         PR target/69369
8259         Revert r232560:
8260         2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
8261
8262         * cgraphunit.c (cgraph_node::reset): Clear thunk info and
8263         instrumented_version.
8264
8265 2016-01-05  Jeremy Bennett  <jeremy.bennett@embecosm.com>
8266
8267         * doc/invoke.texi (Optimize Options): In table of --param options
8268         rename second occurrence of tracer-min-branch-ratio to
8269         tracer-min-branch-probability, rename
8270         tracer-min-branch-ratio-feedback to
8271         tracer-min-branch-probability-feedback and clarify description,
8272         rename sched-spec-state-edge-prob-cutoff to
8273         sched-state-edge-prob-cutoff, rename selsched-max-insns-to-rename
8274         to selsched-insns-to-rename, rename lto-minpartition to
8275         lto-min-partition, delete reorder-blocks-duplicate and
8276         reorder-blocks-duplicate-feedback.
8277
8278 2016-02-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
8279
8280         * config/s390/s390.c (s390_register_info_set_ranges): Remove
8281         superfluous loops.
8282
8283 2016-02-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>
8284
8285         * doc/extend.texi: S/390: Correct some typos.
8286
8287 2016-02-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
8288
8289         * config/s390/s390.c (s390_emit_call): Add missing 64 bit check.
8290
8291 2016-02-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
8292
8293         PR target/69625
8294         * config/s390/s390.c (SAVE_SLOT_NONE, SAVE_SLOT_STACK): New defines.
8295         (s390_register_info_gprtofpr): Use new macros above.
8296         (s390_register_info_stdarg_fpr): Adjust max_fpr to better match
8297         its name.
8298         (s390_register_info_stdarg_gpr): Adjust max_gpr to better match
8299         its name.  Adjust restore and save gpr ranges.
8300         (s390_register_info_set_ranges): New function.
8301         (s390_register_info): Use new macros above.  Call
8302         s390_register_info_set_ranges.
8303         (s390_optimize_register_info): Likewise.
8304         (s390_hard_regno_rename_ok): Use new macros.
8305         (s390_hard_regno_scratch_ok): Likewise.
8306         (s390_emit_epilogue): Likewise.
8307         (s390_can_use_return_insn): Likewise.
8308         (s390_optimize_prologue): Likewise.
8309         * config/s390/s390.md (GPR2_REGNUM, GPR6_REGNUM): New constants.
8310
8311 2016-02-05  Jakub Jelinek  <jakub@redhat.com>
8312
8313         PR bootstrap/69677
8314         * config/i386/i386.c (convert_scalars_to_vector): Readd stack
8315         alignment fixes.
8316         (ix86_option_override_internal): Disable TARGET_STV even for
8317         -m{incoming,preferred}-stack-boundary=3.
8318
8319 2016-02-03  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
8320
8321         * config.gcc: Mark deprecated rtems targets as obsolete.
8322
8323 2016-02-04  Segher Boessenkool  <segher@kernel.crashing.org>
8324
8325         PR rtl-optimization/64682
8326         PR rtl-optimization/69567
8327         * combine.c (distribute_notes) <REG_DEAD>: Place the death note
8328         before I2 only if the register is both used and set in I2.
8329
8330 2016-02-04  DJ Delorie  <dj@redhat.com>
8331
8332         * config/msp430/msp430.c (msp430_start_function): Add function type.
8333
8334 2016-02-04  Jakub Jelinek  <jakub@redhat.com>
8335
8336         PR fortran/69368
8337         * tree-dfa.c (get_ref_base_and_extent): Remove unreachable code.
8338
8339 2016-02-04  Uros Bizjak  <ubizjak@gmail.com>
8340
8341         PR rtl-optimization/69577
8342         Revert:
8343         2015-10-29  Richard Henderson  <rth@redhat.com>
8344
8345         PR target/68124
8346         PR rtl-opt/67609
8347         * config/i386/i386.c (ix86_cannot_change_mode_class): Tighten
8348         sse check to the exact conditions of PR 67609.
8349
8350 2016-02-04  Michael Meissner  <meissner@linux.vnet.ibm.com>
8351
8352         PR target/69667
8353         * config/rs6000/rs6000.md (mov<mode>_64bit_dm): Use 'd' constraint
8354         instead of 'ws', and 'wh' instead of 'wm' since TFmode/IFmode are
8355         not allowed into the traditional Altivec registers.
8356         (movtd_64bit_nodm): Likewise.
8357         (mov<mode>_32bit, FMOVE128_FPR iterator): Likewise.
8358
8359 2016-02-04  David Malcolm  <dmalcolm@redhat.com>
8360
8361         * config/aarch64/cortex-a57-fma-steering.c
8362         (aarch64_register_fma_steering): Remove "static" from arguments
8363         to register_pass.
8364
8365 2016-02-04  Wilco Dijkstra  <wdijkstr@arm.com>
8366
8367         PR target/69619
8368         * ccmp.c (expand_ccmp_expr_1): Avoid evaluating gs0/gs1
8369         twice when complex.
8370
8371 2016-02-04  Mike Frysinger  <vapier@gentoo.org>
8372
8373         * doc/invoke.texi: Delete -mno-fma4.
8374
8375 2016-02-04  Richard Sandiford  <richard.sandiford@arm.com>
8376
8377         PR rtl-optimization/69577
8378         * reginfo.c (record_subregs_of_mode): Add a partial_def parameter.
8379         (find_subregs_of_mode): Update accordingly.  Iterate over partial
8380         definitions.
8381
8382 2016-02-04  Alan Lawrence  <alan.lawrence@arm.com>
8383
8384         * config/arm/arm-protos.h (neon_reinterpret): Remove.
8385         * config/arm/arm.c (neon_reinterpret): Remove.
8386         * config/arm/arm_neon_builtins.def (vreinterpretv8qi, vreinterpretv4hi,
8387         vreinterpretv2si, vreinterpretv2sf, vreinterpretdi, vreinterpretv16qi,
8388         vreinterpretv8hi, vreinterpretv4si, vreinterpretv4sf, vreinterpretv2di,
8389         vreinterpretti): Remove.
8390         * config/arm/neon.md (neon_vreinterpretv8qi<mode>,
8391         neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>,
8392         neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>,
8393         neon_vreinterpretti<mode>, neon_vreinterpretv16qi<mode>,
8394         neon_vreinterpretv8hi<mode>, neon_vreinterpretv4si<mode>,
8395         neon_vreinterpretv4sf<mode>, neon_vreinterpretv2di<mode>): Remove.
8396         * config/arm/arm_neon.h (vreinterpret_p8_p16, vreinterpret_p8_f32,
8397         vreinterpret_p8_p64, vreinterpret_p8_s64, vreinterpret_p8_u64,
8398         vreinterpret_p8_s8, vreinterpret_p8_s16, vreinterpret_p8_s32,
8399         vreinterpret_p8_u8, vreinterpret_p8_u16, vreinterpret_p8_u32,
8400         vreinterpret_p16_p8, vreinterpret_p16_f32, vreinterpret_p16_p64,
8401         vreinterpret_p16_s64, vreinterpret_p16_u64, vreinterpret_p16_s8,
8402         vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_u8,
8403         vreinterpret_p16_u16, vreinterpret_p16_u32, vreinterpret_f32_p8,
8404         vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpret_f32_s64,
8405         vreinterpret_f32_u64, vreinterpret_f32_s8, vreinterpret_f32_s16,
8406         vreinterpret_f32_s32, vreinterpret_f32_u8, vreinterpret_f32_u16,
8407         vreinterpret_f32_u32, vreinterpret_p64_p8, vreinterpret_p64_p16,
8408         vreinterpret_p64_f32, vreinterpret_p64_s64, vreinterpret_p64_u64,
8409         vreinterpret_p64_s8, vreinterpret_p64_s16, vreinterpret_p64_s32,
8410         vreinterpret_p64_u8, vreinterpret_p64_u16, vreinterpret_p64_u32,
8411         vreinterpret_s64_p8, vreinterpret_s64_p16, vreinterpret_s64_f32,
8412         vreinterpret_s64_p64, vreinterpret_s64_u64, vreinterpret_s64_s8,
8413         vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_u8,
8414         vreinterpret_s64_u16, vreinterpret_s64_u32, vreinterpret_u64_p8,
8415         vreinterpret_u64_p16, vreinterpret_u64_f32, vreinterpret_u64_p64,
8416         vreinterpret_u64_s64, vreinterpret_u64_s8, vreinterpret_u64_s16,
8417         vreinterpret_u64_s32, vreinterpret_u64_u8, vreinterpret_u64_u16,
8418         vreinterpret_u64_u32, vreinterpret_s8_p8, vreinterpret_s8_p16,
8419         vreinterpret_s8_f32, vreinterpret_s8_p64, vreinterpret_s8_s64,
8420         vreinterpret_s8_u64, vreinterpret_s8_s16, vreinterpret_s8_s32,
8421         vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32,
8422         vreinterpret_s16_p8, vreinterpret_s16_p16, vreinterpret_s16_f32,
8423         vreinterpret_s16_p64, vreinterpret_s16_s64, vreinterpret_s16_u64,
8424         vreinterpret_s16_s8, vreinterpret_s16_s32, vreinterpret_s16_u8,
8425         vreinterpret_s16_u16, vreinterpret_s16_u32, vreinterpret_s32_p8,
8426         vreinterpret_s32_p16, vreinterpret_s32_f32, vreinterpret_s32_p64,
8427         vreinterpret_s32_s64, vreinterpret_s32_u64, vreinterpret_s32_s8,
8428         vreinterpret_s32_s16, vreinterpret_s32_u8, vreinterpret_s32_u16,
8429         vreinterpret_s32_u32, vreinterpret_u8_p8, vreinterpret_u8_p16,
8430         vreinterpret_u8_f32, vreinterpret_u8_p64, vreinterpret_u8_s64,
8431         vreinterpret_u8_u64, vreinterpret_u8_s8, vreinterpret_u8_s16,
8432         vreinterpret_u8_s32, vreinterpret_u8_u16, vreinterpret_u8_u32,
8433         vreinterpret_u16_p8, vreinterpret_u16_p16, vreinterpret_u16_f32,
8434         vreinterpret_u16_p64, vreinterpret_u16_s64, vreinterpret_u16_u64,
8435         vreinterpret_u16_s8, vreinterpret_u16_s16, vreinterpret_u16_s32,
8436         vreinterpret_u16_u8, vreinterpret_u16_u32, vreinterpret_u32_p8,
8437         vreinterpret_u32_p16, vreinterpret_u32_f32, vreinterpret_u32_p64,
8438         vreinterpret_u32_s64, vreinterpret_u32_u64, vreinterpret_u32_s8,
8439         vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_u8,
8440         vreinterpret_u32_u16, vreinterpretq_p8_p16, vreinterpretq_p8_f32,
8441         vreinterpretq_p8_p64, vreinterpretq_p8_p128, vreinterpretq_p8_s64,
8442         vreinterpretq_p8_u64, vreinterpretq_p8_s8, vreinterpretq_p8_s16,
8443         vreinterpretq_p8_s32, vreinterpretq_p8_u8, vreinterpretq_p8_u16,
8444         vreinterpretq_p8_u32, vreinterpretq_p16_p8, vreinterpretq_p16_f32,
8445         vreinterpretq_p16_p64, vreinterpretq_p16_p128, vreinterpretq_p16_s64,
8446         vreinterpretq_p16_u64, vreinterpretq_p16_s8, vreinterpretq_p16_s16,
8447         vreinterpretq_p16_s32, vreinterpretq_p16_u8, vreinterpretq_p16_u16,
8448         vreinterpretq_p16_u32, vreinterpretq_f32_p8, vreinterpretq_f32_p16,
8449         vreinterpretq_f32_p64, vreinterpretq_f32_p128, vreinterpretq_f32_s64,
8450         vreinterpretq_f32_u64, vreinterpretq_f32_s8, vreinterpretq_f32_s16,
8451         vreinterpretq_f32_s32, vreinterpretq_f32_u8, vreinterpretq_f32_u16,
8452         vreinterpretq_f32_u32, vreinterpretq_p64_p8, vreinterpretq_p64_p16,
8453         vreinterpretq_p64_f32, vreinterpretq_p64_p128, vreinterpretq_p64_s64,
8454         vreinterpretq_p64_u64, vreinterpretq_p64_s8, vreinterpretq_p64_s16,
8455         vreinterpretq_p64_s32, vreinterpretq_p64_u8, vreinterpretq_p64_u16,
8456         vreinterpretq_p64_u32, vreinterpretq_p128_p8, vreinterpretq_p128_p16,
8457         vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64,
8458         vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16,
8459         vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16,
8460         vreinterpretq_p128_u32, vreinterpretq_s64_p8, vreinterpretq_s64_p16,
8461         vreinterpretq_s64_f32, vreinterpretq_s64_p64, vreinterpretq_s64_p128,
8462         vreinterpretq_s64_u64, vreinterpretq_s64_s8, vreinterpretq_s64_s16,
8463         vreinterpretq_s64_s32, vreinterpretq_s64_u8, vreinterpretq_s64_u16,
8464         vreinterpretq_s64_u32, vreinterpretq_u64_p8, vreinterpretq_u64_p16,
8465         vreinterpretq_u64_f32, vreinterpretq_u64_p64, vreinterpretq_u64_p128,
8466         vreinterpretq_u64_s64, vreinterpretq_u64_s8, vreinterpretq_u64_s16,
8467         vreinterpretq_u64_s32, vreinterpretq_u64_u8, vreinterpretq_u64_u16,
8468         vreinterpretq_u64_u32, vreinterpretq_s8_p8, vreinterpretq_s8_p16,
8469         vreinterpretq_s8_f32, vreinterpretq_s8_p64, vreinterpretq_s8_p128,
8470         vreinterpretq_s8_s64, vreinterpretq_s8_u64, vreinterpretq_s8_s16,
8471         vreinterpretq_s8_s32, vreinterpretq_s8_u8, vreinterpretq_s8_u16,
8472         vreinterpretq_s8_u32, vreinterpretq_s16_p8, vreinterpretq_s16_p16,
8473         vreinterpretq_s16_f32, vreinterpretq_s16_p64, vreinterpretq_s16_p128,
8474         vreinterpretq_s16_s64, vreinterpretq_s16_u64, vreinterpretq_s16_s8,
8475         vreinterpretq_s16_s32, vreinterpretq_s16_u8, vreinterpretq_s16_u16,
8476         vreinterpretq_s16_u32, vreinterpretq_s32_p8, vreinterpretq_s32_p16,
8477         vreinterpretq_s32_f16, vreinterpretq_s32_f32, vreinterpretq_s32_p64,
8478         vreinterpretq_s32_p128, vreinterpretq_s32_s64, vreinterpretq_s32_u64,
8479         vreinterpretq_s32_s8, vreinterpretq_s32_s16, vreinterpretq_s32_u8,
8480         vreinterpretq_s32_u16, vreinterpretq_s32_u32, vreinterpretq_u8_p8,
8481         vreinterpretq_u8_p16, vreinterpretq_u8_f32, vreinterpretq_u8_p64,
8482         vreinterpretq_u8_p128, vreinterpretq_u8_s64, vreinterpretq_u8_u64,
8483         vreinterpretq_u8_s8, vreinterpretq_u8_s16, vreinterpretq_u8_s32,
8484         vreinterpretq_u8_u16, vreinterpretq_u8_u32, vreinterpretq_u16_p8,
8485         vreinterpretq_u16_p16, vreinterpretq_u16_f32, vreinterpretq_u16_p64,
8486         vreinterpretq_u16_p128, vreinterpretq_u16_s64, vreinterpretq_u16_u64,
8487         vreinterpretq_u16_s8, vreinterpretq_u16_s16, vreinterpretq_u16_s32,
8488         vreinterpretq_u16_u8, vreinterpretq_u16_u32, vreinterpretq_u32_p8,
8489         vreinterpretq_u32_p16, vreinterpretq_u32_f32, vreinterpretq_u32_p64,
8490         vreinterpretq_u32_p128, vreinterpretq_u32_s64, vreinterpretq_u32_u64,
8491         vreinterpretq_u32_s8, vreinterpretq_u32_s16, vreinterpretq_u32_s32,
8492         vreinterpretq_u32_u8, vreinterpretq_u32_u16): Rewrite using casts.
8493
8494 2016-02-04  Martin Liska  <mliska@suse.cz>
8495
8496         PR sanitizer/69276
8497         * asan.c (has_stmt_been_instrumented_p): Instrument gimple calls
8498         that are gimple_store_p.
8499         (maybe_instrument_call): Likewise.
8500
8501 2016-02-04  Bin Cheng  <bin.cheng@arm.com>
8502
8503         * config/aarch64/aarch64.c (aarch64_legitimize_address): Force
8504         register scaling out of memory reference and comment why.
8505
8506 2016-02-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
8507
8508         PR target/65932
8509         PR target/67714
8510         * cse.c (cse_insn): Pass NULL to fold_rtx when initially
8511         folding the source of a SET.
8512
8513 2016-02-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
8514
8515         PR target/65932
8516         PR target/67714
8517         * config/arm/arm.c (arm_new_rtx_costs, MULT case): Properly extract
8518         the operands of the SIGN_EXTENDs from a SMUL[TB][TB] rtx.
8519
8520 2016-02-04  Jim Wilson  <jim.wilson@linaro.org>
8521
8522         PR target/65932
8523         PR target/67714
8524         * config/arm/arm.h (PROMOTE_MODE): Don't set UNSIGNEDP for QImode and
8525         HImode.
8526
8527 2016-02-04  Christian Bruel  <christian.bruel@st.com>
8528
8529         * config/arm/arm-c.c (arm_reset_previous_fndecl): Style fix and typo.
8530         * config/arm/arm.c (arm_set_current_function): Likewise.
8531
8532 2016-02-04  Jakub Jelinek  <jakub@redhat.com>
8533             Ilya Enkovich  <enkovich.gnu@gmail.com>
8534             H.J. Lu  <hongjiu.lu@intel.com>
8535
8536         PR target/69454
8537         * config/i386/i386.c (convert_scalars_to_vector): Remove
8538         stack alignment fixes.
8539         (ix86_option_override_internal): Disable TARGET_STV if stack
8540         might not be aligned enough.
8541         (ix86_minimum_alignment): Assert that TARGET_STV is false.
8542
8543 2016-02-04  Victoria Stepanyan  <victoria.stepanyan@amd.com>
8544
8545         * gcc/config/i386/x86-tune.def: Disable default prefetching
8546         for -march=znver1.
8547
8548 2016-02-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
8549             Vladimir Makarov  <vmakarov@redhat.com>
8550
8551         PR target/69461
8552         * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Fix thinko
8553         in validating fused toc addresses.
8554
8555 2016-02-03  Jakub Jelinek  <jakub@redhat.com>
8556
8557         PR c/69627
8558         * diagnostic-show-locus.c (layout::get_state_at_point): Don't read
8559         range->m_caret fields if range->m_show_caret_p is false.
8560
8561         PR target/69644
8562         * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
8563         Force oldval into register if it does not satisfy reg_or_short_operand
8564         predicate.  Fix up formatting.
8565
8566 2016-02-03  Vladimir Makarov  <vmakarov@redhat.com>
8567             Alexandre Oliva  <aoliva@redhat.com>
8568
8569         PR target/69461
8570         * lra-constraints.c (simplify_operand_subreg): Check additionally
8571         address validity after potential reloading.
8572         (process_address_1): Check insns validity.  In case of failure do
8573         nothing.
8574
8575 2016-02-03  Kirill Yukhin  <kirill.yukhin@intel.com>
8576
8577         PR target/69118
8578         * config/i386/sse.md (define_insn "avx512f_maskcmp<mode>3"):
8579         Fix target.
8580
8581 2016-02-02  Jakub Jelinek  <jakub@redhat.com>
8582
8583         * wide-int.cc (canonize_uhwi): New function.
8584         (wi::divmod_internal): Use it.
8585
8586 2016-02-02  James Norris  <jnorris@codesourcery.com
8587
8588         * gimplify.c (omp_notice_variable): Add usage check.
8589
8590 2016-02-02  Alexander Monakov  <amonakov@ispras.ru>
8591
8592         * config/nvptx/nvptx.c (nvptx_print_operand): Treat LEU, GEU, LTU, GTU
8593         like LE, GE, LT, GT when emitting relational operator.
8594
8595 2016-02-02  Wilco Dijkstra  <wdijkstr@arm.com>
8596
8597         * ira-costs.c (find_costs_and_classes): Add extra argument.
8598         * target.def (ira_change_pseudo_allocno_class): Add parameter.
8599         * targhooks.h (ira_change_pseudo_allocno_class): Likewise.
8600         * targhooks.c (ira_change_pseudo_allocno_class): Likewise.
8601         * config/aarch64/aarch64.c (aarch64_ira_change_pseudo_allocno_class)
8602         Add best_class parameter, and return it if not ALL_REGS.
8603         * config/mips/mips.c (mips_ira_change_pseudo_allocno_class):
8604         Add parameter.
8605         * doc/tm.texi (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS):
8606         Update target hook.
8607
8608 2016-02-02  Wilco Dijkstra  <wdijkstr@arm.com>
8609
8610         * config/aarch64/aarch64.c
8611         (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): New define.
8612         (aarch64_ira_change_pseudo_allocno_class): New function.
8613
8614 2016-02-02  Uros Bizjak  <ubizjak@gmail.com>
8615
8616         PR target/67032
8617         * config/i386/i386.c (geode_cost): Increase cost of MMX and SSE moves.
8618
8619 2016-02-02  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
8620
8621         * config/avr/avr.c (avr_option_override): Set
8622         PARAM_ALLOW_STORE_DATA_RACES to 1.
8623
8624 2016-02-02  Richard Biener  <rguenther@suse.de>
8625
8626         PR tree-optimization/69595
8627         * match.pd: Add range test simplifications to true/false.
8628
8629 2016-02-02  Thomas Schwinge  <thomas@codesourcery.com>
8630
8631         * omp-builtins.def (BUILT_IN_GOACC_HOST_DATA): Remove.
8632         * omp-low.c (expand_omp_target): Use BUILT_IN_GOACC_DATA_START
8633         instead.
8634
8635 2016-02-02  Richard Biener  <rguenther@suse.de>
8636
8637         PR tree-optimization/69606
8638         * tree-ssa-math-opts.c (bswap_replace): Clear flow sensitive
8639         info on the result before moving a stmt.
8640
8641 2016-02-02  Yuri Rumyantsev  <ysrumyan@gmail.com>
8642
8643         PR middle-end/68542
8644         * config/i386/i386.c (ix86_expand_branch): Add support for conditional
8645         branch with vector comparison.
8646         * config/i386/sse.md (VI48_AVX): New mode iterator.
8647         (define_expand "cbranch<mode>4): Add support for conditional branch
8648         with vector comparison.
8649         * tree-vect-loop.c (optimize_mask_stores): New function.
8650         * tree-vect-stmts.c (vectorizable_mask_load_store): Initialize
8651         has_mask_store field of vect_info.
8652         * tree-vectorizer.c (vectorize_loops): Invoke optimaze_mask_stores for
8653         vectorized loops having masked stores after vec_info destroy.
8654         * tree-vectorizer.h (loop_vec_info): Add new has_mask_store field and
8655         correspondent macros.
8656         (optimize_mask_stores): Add prototype.
8657
8658 2016-02-02  Alan Modra  <amodra@gmail.com>
8659
8660         PR target/69548
8661         * config/rs6000/predicates.md (quad_int_reg_operand): Don't
8662         allow subregs.
8663
8664 2016-02-02  Alan Modra  <amodra@gmail.com>
8665
8666         PR target/68662
8667         * config/rs6000/rs6000.c (need_toc_init): New var, set it
8668         whenever toc_label_name used.
8669         (rs6000_file_start): Don't set up toc section here,
8670         (rs6000_output_function_epilogue): do so here instead,
8671         (rs6000_xcoff_file_start): and here.
8672         * config/rs6000/rs6000.md (load_toc_aix_si): Set need_toc_init.
8673         (load_toc_aix_di): Likewise.
8674
8675 2016-02-01  Jakub Jelinek  <jakub@redhat.com>
8676
8677         PR rtl-optimization/69592
8678         * rtlanal.c (nonzero_bits_binary_arith_p): New inline function.
8679         (cached_nonzero_bits): Use it instead of ARITHMETIC_P.
8680         (num_sign_bit_copies_binary_arith_p): New inline function.
8681         (cached_num_sign_bit_copies): Use it instead of ARITHMETIC_P.
8682
8683 2016-02-01  Jeff Law  <law@redhat.com>
8684
8685         PR tree-optimization/69580
8686         * params.def (FSM_MAXIMUM_PHI_ARGUMENTS): New param.
8687         * tree-ssa-threadbackward.c
8688         (fsm_find_control_statement_thread_paths): Do not try to walk
8689         through large PHI nodes.
8690
8691 2016-02-01  Jakub Jelinek  <jakub@redhat.com>
8692
8693         * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return false
8694         when count is incremented above limit, don't analyze further
8695         insns afterwards.
8696
8697         * omp-low.c (oacc_parse_default_dims): Avoid
8698         -Wsign-compare warning, make sure value fits into int
8699         rather than just unsigned int.
8700
8701 2016-02-01  Bin Cheng  <bin.cheng@arm.com>
8702
8703         PR tree-optimization/67921
8704         * fold-const.c (split_tree): New parameters.  Convert pointer
8705         type variable part to proper type before negating.
8706         (fold_binary_loc): Pass new arguments to split_tree.
8707
8708 2016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
8709
8710         * config/nvptx/nvptx.c (PTX_GANG_DEFAULT): New.
8711         (nvptx_goacc_validate_dims): Extend to handle global defaults.
8712         * target.def (OACC_VALIDATE_DIMS): Extend documentation.
8713         * doc/tm.texti: Rebuilt.
8714         * doc/invoke.texi (fopenacc-dim): Document.
8715         * lto-wrapper.c (merge_and_complain): Add OPT_fopenacc_dim_ case.
8716         (append_compiler_options): Likewise.
8717         * omp-low.c (oacc_default_dims, oacc_min_dims): New.
8718         (oacc_parse_default_dims): New.
8719         (oacc_validate_dims): Add USED arg.  Select non-unity default when
8720         possible.
8721         (oacc_loop_fixed_partitions): Return mask of used partitions.
8722         (oacc_loop_auto_partitions): Emit dump info.
8723         (oacc_loop_partition): Return mask of used partitions.
8724         (execute_oacc_device_lower): Parse default dimension arg.  Adjust
8725         loop partitioning and validation calls.
8726
8727 2016-02-01  Richard Biener  <rguenther@suse.de>
8728
8729         PR middle-end/69556
8730         * match.pd: Guard (C1/X)*C2 -> (C1*C2)/X with single_use.
8731
8732 2016-02-01  Richard Biener  <rguenther@suse.de>
8733
8734         PR tree-optimization/69574
8735         * tree-chrec.c (hide_evolution_in_other_loops_than_loop): Instead
8736         of asserting return chrec_dont_know.
8737
8738 2016-02-01  Martin Liska  <mliska@suse.cz>
8739
8740         * mem-stats-traits.h: Add copyright header.
8741         * mem-stats.h: Likewise.
8742
8743 2016-02-01  Richard Biener  <rguenther@suse.de>
8744
8745         PR tree-optimization/69579
8746         * tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling):
8747         Do not propagate through abnormal PHI results.
8748
8749 2016-02-01  Eric Botcazou  <ebotcazou@adacore.com>
8750
8751         * postreload.c (reload_cse_simplify): Remove dead code.
8752
8753 2016-02-01  Jakub Jelinek  <jakub@redhat.com>
8754
8755         PR rtl-optimization/69570
8756         * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return true only
8757         if there is more than one set, not if there is a single set.
8758
8759 2016-02-01  Richard Henderson  <rth@redhat.com>
8760
8761         PR rtl-opt/69535
8762         * combine.c (make_compound_operation): When looking through a
8763         subreg, make sure to re-extend to the width of the outer mode.
8764
8765 2016-01-30  Jakub Jelinek  <jakub@redhat.com>
8766
8767         PR tree-optimization/69546
8768         * wide-int.cc (wi::divmod_internal): For unsigned division
8769         where both operands fit into uhwi, if o1 is 1 and o0 has
8770         msb set, if divident_prec is larger than bits per hwi,
8771         clear another quotient word and return 2 instead of 1.
8772         Similarly for remainder with msb in HWI set, if dividend_prec
8773         is larger than bits per hwi.
8774
8775 2016-01-29  Martin Jambor  <mjambor@suse.cz>
8776
8777         * hsa-gen.c (get_memory_order_name): Mask with MEMMODEL_BASE_MASK.
8778         Use short lowercase names.
8779         (get_memory_order): Mask with MEMMODEL_BASE_MASK.  Support
8780         MEMMODEL_CONSUME with acquire semantics and MEMMODEL_SEQ_CST with
8781         acq_rel one.  Protect warning agains segfaults if
8782         get_memory_order_name returns NULL.
8783         (gen_hsa_ternary_atomic_for_builtin): Support with MEMMODEL_SEQ_CST
8784         with release semantics.  Do not warn if get_memory_order already did.
8785         (gen_hsa_insns_for_call): Support with MEMMODEL_SEQ_CST with acquire
8786         semantics.  Fix check for relaxed or acquire semantics.  Do not warn
8787         if get_memory_order already did.
8788
8789 2016-01-29  Sebastian Pop  <s.pop@samsung.com>
8790
8791         * doc/install.texi: Document that isl-0.16 is supported.
8792
8793 2016-01-29  Vladimir Makarov  <vmakarov@redhat.com>
8794
8795         PR target/69299
8796         * config/i386/constraints.md (Bm): Describe as special memory
8797         constraint.
8798         * doc/md.texi (DEFINE_SPECIAL_MEMORY_CONSTRAINT): Describe it.
8799         * genoutput.c (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
8800         * genpreds.c (struct constraint_data): Add is_special_memory.
8801         (have_special_memory_constraints, special_memory_start): New
8802         static vars.
8803         (special_memory_end): Ditto.
8804         (add_constraint): Add new arg is_special_memory.  Add code to
8805         process its true value.  Update have_special_memory_constraints.
8806         (process_define_constraint): Pass the new arg.
8807         (process_define_register_constraint): Ditto.
8808         (choose_enum_order): Process special memory.
8809         (write_tm_preds_h): Generate enum const CT_SPECIAL_MEMORY and
8810         function insn_extra_special_memory_constraint.
8811         (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
8812         * gensupport.c (process_rtx): Process
8813         DEFINE_SPECIAL_MEMORY_CONSTRAINT.
8814         * ira-costs.c (record_reg_classes): Process CT_SPECIAL_MEMORY.
8815         * ira-lives.c (single_reg_class): Use
8816         insn_extra_special_memory_constraint.
8817         * ira.c (ira_setup_alts): Process CT_SPECIAL_MEMORY.
8818         * lra-constraints.c (process_alt_operands): Ditto.
8819         (curr_insn_transform): Use insn_extra_special_memory_constraint.
8820         * recog.c (asm_operand_ok, preprocess_constraints): Process
8821         CT_SPECIAL_MEMORY.
8822         * reload.c (find_reloads): Ditto.
8823         * rtl.def (DEFINE_SPECIFAL_MEMORY_CONSTRAINT): New.
8824         * stmt.c (parse_input_constraint): Use
8825         insn_extra_special_memory_constraint.
8826
8827 2016-01-29  H.J. Lu  <hongjiu.lu@intel.com>
8828
8829         PR target/69530
8830         * lra-splill.c (lra_final_code_change): Revert r229087 by
8831         removing all sub-registers.
8832
8833 2016-01-29  Steve Ellcey  <sellcey@imgtec.com>
8834
8835         PR target/65604
8836         * config/mips/mips.c (mips_output_division): Check flag_delayed_branch.
8837
8838 2016-01-29  Jakub Jelinek  <jakub@redhat.com>
8839
8840         PR target/69551
8841         * config/i386/i386.c (ix86_expand_vector_set) <case V4SImode>: For
8842         SSE1, copy target into the temporary reg first before recursing
8843         on it.
8844
8845 2016-01-29  H.J. Lu  <hongjiu.lu@intel.com>
8846
8847         * config/i386/sse.md (sse2_cvtps2pd<mask_name>): Replace vBm
8848         with vm.
8849
8850 2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
8851
8852         * ginclude/stdarg.h: Test __cplusplus instead of
8853         __GXX_EXPERIMENTAL_CXX0X__.
8854
8855 2016-01-29  Richard Biener  <rguenther@suse.de>
8856
8857         PR tree-optimization/69547
8858         * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1):
8859         Do not mark clobbers necessary.
8860         (mark_all_reaching_defs_necessary_1): Likewise.
8861
8862 2016-01-29  Dominik Vogt  <vogt@linux.vnet.ibm.com>
8863
8864         * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Format
8865         declaration name with %qs and print it in both error messages.
8866         Also fix indentation.
8867
8868 2016-01-29  Dominik Vogt  <vogt@linux.vnet.ibm.com>
8869
8870         PR other/69006
8871         * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Remove
8872         trailing blank line from error message.
8873
8874 2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
8875
8876         PR c++/69462
8877         * ginclude/float.h: Also provide FLT_EVAL_METHOD and DECIMAL_DIG
8878         for C++-11.
8879
8880 2016-01-29  Richard Biener  <rguenther@suse.de>
8881
8882         PR middle-end/69537
8883         * match.pd: Allow all integral types when simplifying a
8884         widening or sign-changing conversion.
8885
8886 2016-01-28  Sebastian Pop  <s.pop@samsung.com>
8887
8888         * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Revert assert
8889         back to setting codegen_error to fail codegen.
8890
8891 2016-01-28  Uros Bizjak  <ubizjak@gmail.com>
8892
8893         PR target/69459
8894         * config/i386/constraints.md (C): Only accept constant zero operand.
8895         (BC): New constraint.
8896         * config/i386/sse.md (*mov<mode>_internal): Use BC constraint
8897         instead of C constraint.
8898         * doc/md.texi (Machine Constraints): Update description
8899         of C constraint.
8900
8901 2016-01-28  Steve Ellcey  <sellcey@imgtec.com>
8902
8903         PR target/68400
8904         * config/mips/mips.c (and_operands_ok): Add MIPS16 check.
8905
8906 2016-01-28  Jakub Jelinek  <jakub@redhat.com>
8907
8908         PR middle-end/69542
8909         * lra-remat.c (calculate_local_reg_remat_bb_data): Only consider
8910         non-debug insns.
8911
8912 2016-01-28  Pat Haugen  <pthaugen@us.ibm.com>
8913
8914         * config/rs6000/rs6000.c (output_cbranch): Don't statically predict
8915         branches if using guessed profile.
8916
8917 2016-01-28  H.J. Lu  <hongjiu.lu@intel.com>
8918
8919         * graphite-optimize-isl.c (optimize_isl): Fix dump.
8920
8921 2016-01-28  Richard Henderson  <rth@redhat.com>
8922
8923         PR target/69305
8924         * config/aarch64/aarch64-modes.def (CC_Cmode): New
8925         * config/aarch64/aarch64-protos.h: Update.
8926         * config/aarch64/aarch64.c (aarch64_zero_extend_const_eq): New.
8927         (aarch64_select_cc_mode): Add check for use of CC_Cmode.
8928         (aarch64_get_condition_code_1): Handle CC_Cmode.
8929         * config/aarch64/aarch64.md (addti3): Use adddi3_compareC.
8930         (*add<mode>3_compareC_cconly_imm): New.
8931         (*add<mode>3_compareC_cconly): New.
8932         (*add<mode>3_compareC_imm): New.
8933         (add<mode>3_compareC): New.
8934         (add<mode>3_carryin, *addsi3_carryin_uxtw): Sort compare operand
8935         to be first.  Use aarch64_carry_operation.
8936         (*add<mode>3_carryin_alt1, *addsi3_carryin_alt1_uxtw): Remove.
8937         (*add<mode>3_carryin_alt2, *addsi3_carryin_alt2_uxtw): Remove.
8938         (*add<mode>3_carryin_alt3, *addsi3_carryin_alt3_uxtw): Remove.
8939         (subti3): Use subdi3_compare1.
8940         (*sub<mode>3_compare0): Rename from sub<mode>3_compare0.
8941         (sub<mode>3_compare1): New.
8942         (*sub<mode>3_carryin0, *subsi3_carryin_uxtw): New.
8943         (*sub<mode>3_carryin): Use aarch64_borrow_operation.
8944         (*subsi3_carryin_uxtw): Likewise.
8945         (*ngc<mode>, *ngcsi_uxtw): Likewise.
8946         (*sub<mode>3_carryin_alt, *subsi3_carryin_alt_uxtw): New.
8947         * config/aarch64/iterators.md (DWI): New.
8948         * config/aarch64/predicates.md (aarch64_carry_operation): New.
8949         (aarch64_borrow_operation): New.
8950
8951 2016-01-28  Abderrazek Zaafrani  <a.zaafrani@samsung.com>
8952
8953         * graphite-optimize-isl.c (optimize_isl): Print a different debug
8954         message when isl does not return a valid schedule.
8955
8956 2016-01-28  Sebastian Pop  <s.pop@samsung.com>
8957
8958         * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
8959         Remove comments from class declarations: they are already in the code
8960         close by the defs.
8961
8962 2016-01-28  Sebastian Pop  <s.pop@samsung.com>
8963
8964         * graphite-isl-ast-to-gimple.c (binary_op_to_tree): Call
8965         codegen_error_p.
8966         (ternary_op_to_tree): Same.
8967         (unary_op_to_tree): Same.
8968         (nary_op_to_tree): Same.
8969         (gcc_expression_from_isl_expr_op): Same.
8970         (gcc_expression_from_isl_expression): Same.
8971         (graphite_create_new_loop): Same.
8972         (graphite_create_new_loop_guard): Same.
8973         (build_iv_mapping): Same.
8974         (graphite_create_new_guard): Same.
8975         (translate_isl_ast_to_gimple::copy_loop_phi_nodes): Same.
8976         (translate_isl_ast_to_gimple::translate_pending_phi_nodes): Same.
8977
8978 2016-01-28  Sebastian Pop  <s.pop@samsung.com>
8979
8980         * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Assert
8981         instead of setting codegen_error to fail codegen.
8982
8983 2016-01-28  Jason Merrill  <jason@redhat.com>
8984
8985         * tree.h (BINFO_FLAG_0): Rename from BINFO_MARKED.
8986
8987 2016-01-28  Wilco Dijkstra  <wdijkstr@arm.com>
8988
8989         * config/aarch64/aarch64.c (aarch64_if_then_else_costs):
8990         Remove CONST_INT_P check in CCMP cost calculation.
8991
8992 2016-01-28  Wilco Dijkstra  <wdijkstr@arm.com>
8993
8994         * config/aarch64/aarch64.c (generic_vector_cost):
8995         Set vec_permute_cost.
8996         (cortexa57_vector_cost): Likewise.
8997         (exynosm1_vector_cost): Likewise.
8998         (xgene1_vector_cost): Likewise.
8999         (aarch64_builtin_vectorization_cost): Use vec_permute_cost.
9000         * config/aarch64/aarch64-protos.h (cpu_vector_cost):
9001         Add vec_permute_cost entry.
9002
9003 2016-01-28  Wilco Dijkstra  <wdijkstr@arm.com>
9004
9005         * config/aarch64/aarch64.md (ccmp<mode>): Disassemble
9006         immediate as %1.
9007         (add<mode>3_compare0): Likewise.
9008         (addsi3_compare0_uxtw): Likewise.
9009         (add<mode>3nr_compare0): Likewise.
9010         (compare_neg<mode>): Likewise.
9011         (<optab><mode>3): Likewise.
9012
9013 2016-01-28  Ilya Enkovich  <enkovich.gnu@gmail.com>
9014
9015         * tree-vect-stmts.c (vectorizable_comparison): Add
9016         NULL check for vectype.
9017
9018 2016-01-28  Richard Biener  <rguenther@suse.de>
9019
9020         PR tree-optimization/69466
9021         * tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges):
9022         Account for PHIs we couldn't duplicate.
9023
9024 2016-01-28  Martin Liska  <mliska@suse.cz>
9025
9026         PR pch/68758
9027         * ggc-common.c (gt_pch_save): Use ENABLE_VALGRIND_ANNOTATIONS macro
9028         instead of ENABLE_VALGRIND_CHECKING.
9029
9030 2016-01-27  Richard Henderson  <rth@redhat.com>
9031
9032         PR rtl-opt/69447
9033         * lra-remat.c (subreg_regs): New.
9034         (dump_candidates_and_remat_bb_data): Dump it.
9035         (operand_to_remat): Reject if operand in subreg_regs.
9036         (set_bb_regs): Collect subreg_regs.
9037         (lra_remat): Init and free subreg_regs.  Compute
9038         calculate_local_reg_remat_bb_data before create_cands.
9039
9040 2016-01-27  H.J. Lu  <hongjiu.lu@intel.com>
9041
9042         PR target/68986
9043         * config/i386/i386.c (ix86_update_stack_boundary): Don't
9044         change stack_alignment_needed for __tls_get_addr call.
9045
9046 2016-01-27  Segher Boessenkool  <segher@kernel.crashing.org>
9047
9048         * config/rs6000/rs6000.c (print_operand): Rollback 's' removal.
9049
9050 2016-01-27  Jeff Law  <law@redhat.com>
9051
9052         PR tree-optimization/68398
9053         PR tree-optimization/69196
9054         * params.def (PARAM_FSM_SCALE_PATH_STMTS): New parameter.
9055         (PARAM_FSM_SCALE_PATH_BLOCKS): Likewise.
9056         * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
9057         Only count PHIs in the last block in the path.  The others will
9058         const/copy propagate away.  Add heuristic to allow more irreducible
9059         subloops to be created when it is likely profitable to do so.
9060
9061         * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
9062         Fix typo in comment.  Use gsi_after_labels and remove the GIMPLE_LABEL
9063         check from within the loop.  Use gsi_next_nondebug rather than gsi_next.
9064
9065 2016-01-27  Jakub Jelinek  <jakub@redhat.com>
9066
9067         PR lto/69254
9068         * sanitizer.def: Add BEGIN_SANITIZER_BUILTINS and
9069         END_SANITIZER_BUILTINS markers using DEF_BUILTIN_STUB.
9070         * asan.c (DEF_BUILTIN_STUB): Temporarily define.
9071         * tree-streamer-in.c: Include asan.h.
9072         (streamer_get_builtin_tree): For builtins in sanitizer
9073         range call initialize_sanitizer_builtins and retry.
9074
9075 2016-01-27  Ian Lance Taylor  <iant@google.com>
9076
9077         * common.opt (fkeep-gc-roots-live): New undocumented option.
9078         * tree-ssa-loop-ivopts.c (add_candidate_1): If
9079         -fkeep-gc-roots-live, skip pointers.
9080         (add_iv_candidate_for_biv): Handle add_candidate_1 returning
9081         NULL.
9082
9083 2016-01-27  Uros Bizjak  <ubizjak@gmail.com>
9084
9085         PR target/69512
9086         * config/i386/i386.md (*zext<mode>_doubleword_and): New pattern.
9087         (*zext<mode>_doubleword): Disable for TARGET_ZERO_EXTEND_WITH_AND.
9088
9089 2016-01-27  Thomas Klausner  <wiz@NetBSD.org>
9090
9091         PR target/68380
9092         * configure.ac: NetBSD provides SSP in its C library.
9093         * configure: Updated.
9094
9095 2016-01-27  Richard Biener  <rguenther@suse.de>
9096
9097         PR tree-optimization/69166
9098         * tree-vect-loop.c (vect_is_simple_reduction): Always check
9099         reduction code for commutativity / associativity.
9100
9101 2016-01-27  Martin Jambor  <mjambor@suse.cz>
9102
9103         PR tree-optimization/69355
9104         * tree-sra.c (analyze_access_subtree): Correct hole detection when
9105         total_scalarization fails.
9106
9107 2016-01-27  David Edelsohn  <dje.gcc@gmail.com>
9108
9109         * config/rs6000/driver-rs6000.c (detect_processor_aix): Add
9110         power9.
9111
9112 2016-01-27  Christian Bruel  <christian.bruel@st.com>
9113
9114         PR target/69245
9115         * config/arm/arm-c.c (arm_pragma_target_parse): Add comments.
9116         Move arm_reset_previous_fndecl and set_target_option_current_node in
9117         the conditional part.  Call save_restore_target_globals.
9118         * config/arm/arm.c (arm_set_current_function):
9119         Refactor to better support #pragma target and attribute mix.
9120         Call save_restore_target_globals.
9121         * config/arm/arm-protos.h (save_restore_target_globals): New function.
9122
9123 2016-01-27  Martin Liska  <mliska@suse.cz>
9124
9125         * hsa.c (hsa_summary_t::link_functions): Create IPA_REF_ADDR
9126         reference for an HSA kernel and its host function.
9127
9128 2016-01-27  Jakub Jelinek  <jakub@redhat.com>
9129
9130         PR tree-optimization/69399
9131         * wide-int.h (wi::lrshift): For larger precisions, only
9132         use fast path if shift is known to be < HOST_BITS_PER_WIDE_INT.
9133
9134 2016-01-27  Claudiu Zissulescu  <claziss@synopsys.com>
9135
9136         * config/arc/predicates.md (proper_comparison_operator): Reject
9137         constant-constant comparison.
9138
9139 2016-01-26  Tom de Vries  <tom@codesourcery.com>
9140
9141         PR tree-optimization/69110
9142         * tree-data-ref.c (initialize_data_dependence_relation): Handle
9143         DR_NUM_DIMENSIONS == 0.
9144
9145 2016-01-26  Abderrazek Zaafrani  <a.zaafrani@samsung.com>
9146             Sebastian Pop  <s.pop@samsung.com>
9147
9148         * graphite-isl-ast-to-gimple.c (ternary_op_to_tree): Handle
9149         isl_ast_op_cond and isl_ast_op_select.
9150         (gcc_expression_from_isl_expr_op): Same.
9151
9152 2016-01-26  Jason Merrill  <jason@redhat.com>
9153
9154         PR c++/68782
9155         * tree.c (recompute_constructor_flags): Split out from
9156         build_constructor.
9157         (verify_constructor_flags): New.
9158         * tree.h: Declare them.
9159
9160 2016-01-26  Iain Buclaw  <ibuclaw@gdcproject.org>
9161
9162         PR rtl-optimization/69217
9163         * var-tracking.c (tracked_record_parameter_p): Don't segfault if there
9164         are no TYPE_FIELDS set for the record type.
9165
9166 2016-01-26  Jakub Jelinek  <jakub@redhat.com>
9167
9168         PR target/68662
9169         * config/rs6000/rs6000.c (rs6000_option_override_internal): Initialize
9170         toc_label_name unconditionally.
9171         (rs6000_emit_load_toc_table): Call ggc_strdup on toc_label_name for
9172         SYMBOL_REF string.  Use toc_label_name instead of constructing
9173         LCTOC1.
9174         (rs6000_elf_declare_function_name): Use toc_label_name instead of
9175         constructing LCTOC1.
9176
9177 2016-01-26  Martin Sebor  <msebor@redhat.com>
9178
9179         PR other/69477
9180         * doc/extend.texi (Common Type Attributes): Move text that talks about
9181         attribute packed from attribute aligned to the section discussing
9182         the former attribute for clarity.
9183
9184 2016-01-26  Richard Henderson  <rth@redhat.com>
9185
9186         PR middle-end/60908
9187         * trans-mem.c (tm_region_init): Mark entry block as visited.
9188
9189 2016-01-26  David Malcolm  <dmalcolm@redhat.com>
9190
9191         PR other/69006
9192         * diagnostic-show-locus.c (layout::print_source_line): Replace
9193         call to pp_newline with call to layout::print_newline.
9194         (layout::print_annotation_line): Likewise.
9195         (layout::move_to_column): Likewise.
9196         (layout::print_any_fixits): After printing any fixits, print a
9197         trailing newline, if necessary.
9198         (layout::print_newline): New method, resetting any colorization
9199         before a newline.
9200         (diagnostic_show_locus): Move the pp_newline to before the
9201         early bailout.  Remove dummy block enclosing the layout instance.
9202         * diagnostic.c (default_diagnostic_finalizer): Replace invocation
9203         of pp_newline_and_flush with pp_flush.
9204         (diagnostic_append_note): Delete use of pp_newline.
9205         (diagnostic_append_note_at_rich_loc): Delete.
9206         * diagnostic.h (diagnostic_append_note_at_rich_loc): Delete.
9207         * pretty-print.h (output_buffer_append_r): Reset buff->line_length
9208         when newline characters are added to the buffer.
9209
9210 2016-01-26  Michael Matz  <matz@suse.de>
9211
9212         * configure.ac (ac_cv_std_swap_in_utility): New test.
9213         * system.h (<algorithm>): Check HAVE_SWAP_IN_UTILITY as well.
9214         * configure: Regenerate.
9215         * config.in: Regenerate.
9216
9217 2016-01-26  Claudiu Zissulescu  <claziss@synopsys.com>
9218
9219         * config/arc/arc.md (cstoresi4): Force operand into register.
9220         (arcset<code>): Fix predicate.
9221         (arcsetltu): Likewise.
9222         (arcsetgeu): Likewise.
9223         (arcsethi): Likewise.
9224         (arcsetls): Likewise.
9225
9226 2016-01-26  Jakub Jelinek  <jakub@redhat.com>
9227
9228         PR tree-optimization/69483
9229         * gimple-fold.c (canonicalize_constructor_val): Return NULL
9230         if base has error_mark_node type.
9231
9232 2016-01-26  Christophe Lyon  <christophe.lyon@linaro.org>
9233
9234         PR target/68620
9235         * config/arm/arm.c (neon_valid_immediate): Handle FP16 vectors.
9236         * config/arm/arm_neon.h (__ARM_NUM_LANES, __arm_lane, arm_lanq):
9237         New helper macros.
9238         (vget_lane_f16): Handle big-endian.
9239         (vgetq_lane_f16): Likewise.
9240         (vset_lane_f16): Likewise.
9241         (vsetq_lane_f16): Likewise.
9242         * config/arm/iterators.md (VQXMOV): Add V8HF.
9243         (VDQ): Add V4HF and V8HF.
9244         (V_reg): Handle V4HF and V8HF.
9245         (Is_float_mode): Likewise.
9246         * config/arm/neon.md (movv4hf, movv8hf, neon_vdup_nv4hf,
9247         neon_vdup_nv8hf): New patterns.
9248         (vec_set<mode>_internal, vec_extract<mode>, neon_vld1_dup<mode>):
9249         Use VD_LANE iterator.
9250         (neon_vld1_dup<mode>): Use VQ2 iterator.
9251
9252 2016-01-26  Nathan Sidwell  <nathan@acm.org>
9253
9254         * omp-low.h (oacc_fn_attrib_kernels_p): Declare.
9255         (set_oacc_fn_attrib): Add IS_KERNEL arg.
9256         * omp-low.c (set_oacc_fn_attrib): Add IS_KERNEL arg.
9257         (oacc_fn_attrib_kernels_p, oacc_fn_attrib_level): New.
9258         (expand_omp_target): Pass is_kernel to set_oacc_fn_attrib.
9259         (oacc_validate_dims): Add LEVEL arg, don't return level.
9260         (new_oacc_loop_routine): Use oacc_fn_attrib_level, not
9261         oacc_validate_dims.
9262         (execute_oacc_device_lower): Adjust, add more dump output.
9263         * tree-ssa-loop.c (gate_oacc_kernels): Use
9264         oacc_fn_attrib_kernels_p.
9265         * tree-parloops.c (create_parallel_loop): Adjust
9266         set_oacc_fn_attrib call.
9267
9268 2016-01-26  Jakub Jelinek  <jakub@redhat.com>
9269
9270         PR lto/69254
9271         * lto-wrapper.c (merge_and_complain): Handle -fcilkplus.
9272         (append_compiler_options): Handle -fcilkplus.
9273         (append_linker_options): Ignore -fno-{openmp,openacc,cilkplus}.
9274
9275 2016-01-26  Nick Clifton  <nickc@redhat.com>
9276
9277         PR target/66655
9278         * config/i386/winnt.c (i386_pe_binds_local_p): If a function has
9279         been marked as DECL_ONE_ONLY but we do not the means to make it
9280         so, then do not allow it to bind locally.
9281
9282 2016-01-26  Jakub Jelinek  <jakub@redhat.com>
9283
9284         PR lto/69254
9285         * opts.h (parse_sanitizer_options): New prototype.
9286         * opts.c (sanitizer_opts): New array.
9287         (parse_sanitizer_options): New function.
9288         (common_handle_option): Use parse_sanitizer_options.
9289
9290 2016-01-26  H.J. Lu  <hongjiu.lu@intel.com>
9291
9292         PR target/68986
9293         * config/i386/i386.c (ix86_compute_frame_layout): Move stack
9294         alignment adjustment to ...
9295         (ix86_update_stack_boundary): Here.  Don't over-align stack for
9296         __tls_get_addr.
9297         (ix86_finalize_stack_realign_flags): Use stack_alignment_needed
9298         if __tls_get_addr is called.
9299
9300 2016-01-26  Christian Bruel  <christian.bruel@st.com>
9301
9302         * doc/sourcebuild.texi (arm_crypto_pragma_ok): Remove.
9303
9304 2016-01-26  Eric Botcazou  <ebotcazou@adacore.com>
9305
9306         * config/ia64/ia64.c (ia64_expand_vecint_compare): Use gen_int_mode.
9307
9308 2016-01-26  Richard Biener  <rguenther@suse.de>
9309
9310         PR middle-end/69467
9311         * match.pd: Guard X * CST CMP 0 pattern with single_use.
9312
9313 2016-01-26  Richard Biener  <rguenther@suse.de>
9314
9315         PR tree-optimization/69452
9316         * tree-ssa-loop-im.c (move_computations_dom_walker): Remove.
9317         (move_computations_dom_walker::before_dom_children): Rename
9318         to ...
9319         (move_computations_worker): This.
9320         (move_computations): Perform an RPO rather than a DOM walk.
9321
9322 2016-01-26  Jakub Jelinek  <jakub@redhat.com>
9323
9324         PR target/69442
9325         * combine.c (combine_instructions): For REG_EQUAL note with
9326         SET_DEST being ZERO_EXTRACT, also temporarily set SET_DEST
9327         to the underlying register.
9328         * doc/rtl.texi (REG_EQUAL): Document the behavior of
9329         REG_EQUAL/REG_EQUIV notes if SET_DEST is ZERO_EXTRACT.
9330
9331 2016-01-26  Roger Ferrer Ibáñez  <rofirrim@gmail.com>
9332
9333         PR target/67896
9334         * config/aarch64/aarch64-builtins.c
9335         (aarch64_init_simd_builtin_types): Do not set structural
9336         equality to __Poly{8,16,64,128}_t types.
9337
9338 2016-01-26  Richard Sandiford  <richard.sandiford@arm.com>
9339
9340         PR tree-optimization/69400
9341         * wide-int.cc (wi_pack): Take the precision as argument and
9342         perform canonicalization here rather than in the callers.
9343         Use the main loop to handle all full-width HWIs.  Add a
9344         zero HWI if in_len isn't a full result.
9345         (wi::divmod_internal): Update accordingly.
9346         (wi::mul_internal): Likewise.  Simplify.
9347
9348 2016-01-25  Aditya Kumar  <aditya.k7@samsung.com>
9349             Sebastian Pop  <s.pop@samsung.com>
9350
9351         * graphite-poly.c (apply_poly_transforms): Simplify.
9352         (print_isl_set): Use more readable format: ISL_YAML_STYLE_BLOCK.
9353         (print_isl_map): Same.
9354         (print_isl_union_map): Same.
9355         (print_isl_schedule): New.
9356         (debug_isl_schedule): New.
9357         * graphite-dependences.c (scop_get_reads): Do not call
9358         isl_union_map_add_map that is undocumented isl functionality.
9359         (scop_get_must_writes): Same.
9360         (scop_get_may_writes): Same.
9361         (scop_get_original_schedule): Remove.
9362         (scop_get_dependences): Do not call isl_union_map_compute_flow that
9363         is deprecated in isl 0.15.  Instead, use isl_union_access_* interface.
9364         (compute_deps): Remove.
9365         * graphite-isl-ast-to-gimple.c (print_schedule_ast): New.
9366         (debug_schedule_ast): New.
9367         (translate_isl_ast_to_gimple::scop_to_isl_ast): Call
9368         set_separate_option.
9369         (graphite_regenerate_ast_isl): Add dump.
9370         (translate_isl_ast_to_gimple::scop_to_isl_ast): Generate code
9371         from scop->transformed_schedule.
9372         (graphite_regenerate_ast_isl): Add more dump.
9373         * graphite-optimize-isl.c (optimize_isl): Set
9374         scop->transformed_schedule.  Check whether schedules are equal.
9375         (apply_poly_transforms): Move here.
9376         * graphite-poly.c (apply_poly_transforms): ... from here.
9377         (free_poly_bb): Static.
9378         (free_scop): Static.
9379         (pbb_number_of_iterations_at_time): Remove.
9380         (print_isl_ast): New.
9381         (debug_isl_ast): New.
9382         (debug_scop_pbb): New.
9383         * graphite-scop-detection.c (print_edge): Move.
9384         (print_sese): Move.
9385         * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove.
9386         (build_scop_scattering): Remove.
9387         (create_pw_aff_from_tree): Assert instead of bailing out.
9388         (add_condition_to_pbb): Remove unused code, do not fail.
9389         (add_conditions_to_domain): Same.
9390         (add_conditions_to_constraints): Remove.
9391         (build_scop_context): New.
9392         (add_iter_domain_dimension): New.
9393         (build_iteration_domains): Initialize pbb->iterators.
9394         Call add_conditions_to_domain.
9395         (nested_in): New.
9396         (loop_at): New.
9397         (index_outermost_in_loop): New.
9398         (index_pbb_in_loop): New.
9399         (outermost_pbb_in): New.
9400         (add_in_sequence): New.
9401         (add_outer_projection): New.
9402         (outer_projection_mupa): New.
9403         (add_loop_schedule): New.
9404         (build_schedule_pbb): New.
9405         (build_schedule_loop): New.
9406         (embed_in_surrounding_loops): New.
9407         (build_schedule_loop_nest): New.
9408         (build_original_schedule): New.
9409         (build_poly_scop): Call build_original_schedule.
9410         * graphite.h: Declare print_isl_schedule and debug_isl_schedule.
9411         (free_poly_dr): Remove.
9412         (struct poly_bb): Add iterators.  Remove schedule, transformed, saved.
9413         (free_poly_bb): Remove.
9414         (debug_loop_vec): Remove.
9415         (print_isl_ast): Declare.
9416         (debug_isl_ast): Declare.
9417         (scop_do_interchange): Remove.
9418         (scop_do_strip_mine): Remove.
9419         (scop_do_block): Remove.
9420         (flatten_all_loops): Remove.
9421         (optimize_isl): Remove.
9422         (pbb_number_of_iterations_at_time): Remove.
9423         (debug_scop_pbb): Declare.
9424         (print_schedule_ast): Declare.
9425         (debug_schedule_ast): Declare.
9426         (struct scop): Remove schedule.  Add original_schedule,
9427         transformed_schedule.
9428         (free_gimple_poly_bb): Remove.
9429         (print_generated_program): Remove.
9430         (debug_generated_program): Remove.
9431         (unify_scattering_dimensions): Remove.
9432         * sese.c (print_edge): ... here.
9433         (print_sese): ... here.
9434         (debug_edge): ... here.
9435         (debug_sese): ... here.
9436         * sese.h (print_edge): Declare.
9437         (print_sese): Declare.
9438         (dump_edge): Declare.
9439         (dump_sese): Declare.
9440
9441 2016-01-25  Aditya Kumar  <aditya.k7@samsung.com>
9442             Sebastian Pop  <s.pop@samsung.com>
9443
9444         * Makefile.in: Set ISLVER in site.exp.
9445
9446 2016-01-25  Jakub Jelinek  <jakub@redhat.com>
9447
9448         * omp-low.c (lower_omp_target) <case USE_DEVICE_PTR>: Set
9449         DECL_VALUE_EXPR of new_var even for the non-array case.  Look
9450         through DECL_VALUE_EXPR for expansion.
9451
9452 2016-01-25  Bernd Edlinger  <bernd.edlinger@hotmail.de>
9453
9454         * config/mips/mips.c (mips_compute_frame_info): Skip re-computing
9455         the frame info after reload completed.
9456
9457 2016-01-25  Jeff Law  <law@redhat.com>
9458
9459         PR tree-optimization/69196
9460         PR tree-optimization/68398
9461         * tree-ssa-threadupdate.h (enum bb_dom_status): Moved here from
9462         tree-ssa-threadupdate.c.
9463         (determine_bb_domination_status): Prototype
9464         * tree-ssa-threadupdate.c (enum bb_dom_status): Remove
9465         (determine_bb_domination_status): No longer static.
9466         (valid_jump_thread_path): Remove code to detect characteristics
9467         of the jump thread path not associated with correctness.
9468         * tree-ssa-threadbackward.c (fsm_find_control_statment_thread_paths):
9469         Correct test for thread path length.  Count PHIs for real operands as
9470         statements that need to be copied.  Do not count ASSERT_EXPRs.
9471         Look at all the blocks in the thread path.  Compute and selectively
9472         filter thread paths based on threading through the latch, threading
9473         a multiway branch or crossing a multiway branch.
9474
9475 2016-01-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
9476
9477         * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled):  Add
9478         decl with __attribute__ ((unused)) annotation.
9479
9480 2016-01-25  Ilya Enkovich  <enkovich.gnu@gmail.com>
9481
9482         PR target/69421
9483         * tree-vect-stmts.c (vectorizable_condition): Check vectype
9484         of operands is compatible with a statement vectype.
9485
9486 2016-01-25  Eric Botcazou  <ebotcazou@adacore.com>
9487
9488         * doc/extend.texi (scalar_storage_order type attribute): Fix typo and
9489         improve wording for mixed storage order support.
9490
9491 2016-01-25  Bilyan Borisov  <bilyan.borisov@arm.com>
9492
9493         * config/aarch64/arm_neon.h (vcvt_s64_f64): New intrinsic.
9494         (vcvt_u64_f64): Likewise.
9495         (vcvta_s64_f64): Likewise.
9496         (vcvta_u64_f64): Likewise.
9497         (vcvtm_s64_f64): Likewise.
9498         (vcvtm_u64_f64): Likewise.
9499         (vcvtn_s64_f64): Likewise.
9500         (vcvtn_u64_f64): Likewise.
9501         (vcvtp_s64_f64): Likewise.
9502         (vcvtp_u64_f64): Likewise.
9503
9504 2016-01-25  Claudiu Zissulescu  <claziss@synopsys.com>
9505
9506         * config/arc/arc.c (TARGET_DWARF_REGISTER_SPAN): Define.
9507         (arc_init): Check validity mll64 option.
9508         (arc_save_restore): Use double load/store instruction.
9509         (arc_expand_movmem): Likewise.
9510         (arc_split_move): Don't split if we have double load/store
9511         instructions. Returns a boolean.
9512         (arc_process_double_reg_moves): Change function to return boolean
9513         instead of a sequence of instructions.
9514         (arc_dwarf_register_span): New function.
9515         * config/arc/arc-protos.h (arc_split_move): Change prototype.
9516         * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __ARC_LL64__.
9517         * config/arc/arc.md (*movdi_insn): Emit ldd/std instructions.
9518         (*movdf_insn): Likewise.
9519         * config/arc/arc.opt (mll64): New option.
9520         * config/arc/predicates.md (even_register_operand): New predicate.
9521         * doc/invoke.texi (ARC Options): Add mll64 documentation.
9522
9523 2016-01-25  Richard Biener  <rguenther@suse.de>
9524
9525         PR lto/69393
9526         * dwarf2out.c (is_naming_typedef_decl): Not when DECL_NAMELESS.
9527         * tree-streamer-out.c (pack_ts_base_value_fields): Stream
9528         DECL_NAMELESS.
9529         * tree-streamer-in.c (unpack_ts_base_value_fields): Likewise.
9530
9531 2016-01-25  Richard Biener  <rguenther@suse.de>
9532
9533         PR tree-optimization/69376
9534         * tree-ssa-sccvn.h (struct vn_ssa_aux): Add range_info_anti_range_p
9535         flag.
9536         (VN_INFO_ANTI_RANGE_P): New inline.
9537         (VN_INFO_RANGE_TYPE): Likewise.
9538         * tree-ssa-sccvn.c (set_ssa_val_to): Also record and copy
9539         SSA_NAME_ANTI_RANGE_P.
9540         (free_scc_vn): Restore SSA_NAME_ANTI_RANGE_P.
9541         * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
9542         Properly query VN_INFO_RANGE_TYPE.
9543
9544 2016-01-25  Nick Clifton  <nickc@redhat.com>
9545
9546         PR target/66655
9547         * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Remove definition.
9548
9549 2016-01-23  Tom de Vries  <tom@codesourcery.com>
9550
9551         PR tree-optimization/69426
9552         * tree-parloops.c (eliminate_local_variables_stmt): Handle vdef of
9553         removed clobber.
9554
9555 2016-01-23  Jakub Jelinek  <jakub@redhat.com>
9556
9557         * tree-ssanames.c (release_free_names_and_compact_live_names): Replace
9558         "the the" with "the" in the comments.
9559         * ipa-devirt.c (build_type_inheritance_graph,
9560         update_type_inheritance_graph): Likewise.
9561         * tree.c (build_function_type_list_1): Likewise.
9562         * cfgloopmanip.c (scale_loop_profile): Likewise.
9563         * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Likewise.
9564         * gimple-ssa-split-paths.c
9565         (find_block_to_duplicate_for_splitting_paths): Likewise.
9566         * tree-sra.c (init_subtree_with_zero, clobber_subtree): Likewise.
9567         * expr.c (convert_move): Likewise.
9568         * var-tracking.c (vt_stack_adjustments): Likewise.
9569         * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
9570         * tree-vrp.c (test_for_singularity): Likewise.
9571
9572         * tree-vect-stmts.c (vectorizable_condition): Build a VEC_COND_EXPR
9573         directly instead of building a temporary tree.
9574
9575         PR bootstrap/69434
9576         * genrecog.c: Define INCLUDE_ALGORITHM before including system.h,
9577         remove <algorithm> include.
9578
9579 2016-01-22  Jakub Jelinek  <jakub@redhat.com>
9580
9581         PR target/69432
9582         * config/i386/i386.c: Include dojump.h.
9583         (expand_small_movmem_or_setmem,
9584         expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Spelling
9585         fixes.
9586         (ix86_expand_set_or_movmem): Call do_pending_stack_adjust () early
9587         if dynamic_check != -1.
9588
9589 2016-01-21  Jeff Law  <law@redhat.com>
9590
9591         PR middle-end/69347
9592         * tree-ssa-dom.c (back_propagate_equivalences): Factored out of
9593         record_temporary_equivalences.  Rewritten to avoid unnecessary calls
9594         into dominated_by_p.
9595         (cprop_into_successor_phis): Avoid unnecessary tests.
9596
9597 2016-01-22  Richard Henderson  <rth@redhat.com>
9598
9599         PR target/69416
9600         * config/aarch64/aarch64.md (UNSPEC_NZCV): New.
9601         (ccmp<mode>, fccmp<mode>, fccmpe<mode>): Use it.
9602
9603 2016-01-22  Michael Matz  <matz@suse.de>
9604
9605         * system.h (string, algorithm): Include only conditionally.
9606         (new): Include always under C++.
9607         * bb-reorder.c (toplevel): Define INCLUDE_ALGORITHM.
9608         * final.c (toplevel): Ditto.
9609         * ipa-chkp.c (toplevel): Define INCLUDE_STRING.
9610         * genconditions.c (write_header): Make gencondmd.c define
9611         INCLUDE_STRING.
9612         * mem-stats.h (mem_usage::print_dash_line): Don't use std::string.
9613
9614         * config/aarch64/aarch64.c (toplevel): Define INCLUDE_STRING.
9615         * common/config/aarch64/aarch64-common.c (toplevel): Ditto.
9616
9617 2016-01-22  Christian Bruel  <christian.bruel@st.com>
9618
9619         PR target/68674
9620         * expr.c (expand_expr_real_1): Reset DECL_MODE if VECTOR_TYPE_P changed.
9621
9622 2016-01-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
9623
9624         PR target/69403
9625         * config/arm/thumb2.md (*thumb2_ior_scc_strict_it): Convert to
9626         define_insn_and_split.  Ensure operands[1] and operands[0] do not
9627         get assigned the same register.
9628
9629 2016-01-22  Kugan Vivekanandarajah  <kuganv@linaro.org>
9630
9631         * ipa-prop.c (ipa_set_jf_constant): Remove redundant unshare_expr.
9632
9633 2016-01-22  Christian Bruel  <christian.bruel@st.com>
9634
9635         * config/arm/arm-c.c (arm_pragma_target_parse):
9636         Remove warn_builtin_macro_redefined overwrite.
9637
9638 2016-01-22  Eric Botcazou  <ebotcazou@adacore.com>
9639
9640         * ipa-inline.c (can_inline_edge_p): Back out overzealous check on
9641         flag_non_call_exceptions compatibility.
9642
9643 2016-01-22  Jakub Jelinek  <jakub@redhat.com>
9644
9645         PR debug/66668
9646         * dwarf2out.c (add_child_die_after): New function.
9647         (dwarf_qual_info_t): New type.
9648         (dwarf_qual_info): New variable.
9649         (qualified_die_p): New function.
9650         (modified_type_die): For -fdebug-types-section, ensure
9651         canonical order of qualifiers.  Put qualified DIEs adjacent
9652         to the corresponding non-qualified type DIE and search there
9653         for existing qualified DIEs.
9654
9655 2016-01-22  Eric Botcazou  <ebotcazou@adacore.com>
9656
9657         * doc/extend.texi (scalar_storage_order type attribute): Document
9658         restriction on type punning and aliasing, and remove future tense.
9659
9660 2016-01-21  Roman Zhuykov  <zhroma@ispras.ru>
9661
9662         PR target/69252
9663         * modulo-sched.c (optimize_sc): Allow branch-scheduling to add a new
9664         first stage.
9665
9666 2016-01-21  Jeff Law  <law@redhat.com>
9667
9668         PR middle-end/69347
9669         * tree-ssa-dom.c (dom_opt_dom_walker::thread_across_edge): Avoid
9670         useless call to record_temporary_equivalences.
9671         * tree-ssa-threadbackward.c (find_jump_threads_backwards): Just
9672         allocate 10 slots in the bb_path vector and let it grow as needed.
9673         (fsm_find_control_statement_thread_paths): Similarly for the next_path
9674         vector.
9675
9676 2016-01-21  David Edelsohn  <dje.gcc@gmail.com>
9677
9678         * configure.ac (gcc_cv_as_powerpc_mfcrf, gcc_cv_as_machine_directive):
9679         Detangle.
9680         * configure: Regenerate.
9681
9682 2016-01-21  Pat Haugen  <pthaugen@us.ibm.com>
9683
9684         * config/rs6000/aix71.h (ASM_CPU_SPEC): Add entry for Power9.
9685         * config/rs6000/driver-rs6000.c (struct asm_names): Likewise.
9686
9687 2016-01-21  Bernd Schmidt  <bschmidt@redhat.com>
9688
9689         PR middle-end/66178
9690         * expr.c (expand_expr_real_2) [PLUS_EXPR, MINUS_EXPR]: Don't
9691         drop EXPAND_INITIALIZER.
9692         * rtl.h (contains_symbolic_reference_p): Declare.
9693         * rtlanal.c (contains_symbolic_reference_p): New function.
9694         * simplify-rtx.c (simplify_binary_operation_1): Don't turn
9695         a subtraction into a NOT if symbolic constants are involved.
9696
9697 2016-01-21  Anton Blanchard  <anton@samba.org>
9698             Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
9699
9700         PR target/63354
9701         * config/rs6000/linux64.h (TARGET_KEEP_LEAF_WHEN_PROFILED): New
9702         #define.
9703         * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): New
9704         function.
9705
9706 2016-01-21  Ajit Agarwal  <ajitkum@xilinx.com>
9707
9708         * config/microblaze/microblaze.c
9709         (get_branch_target): New.
9710         (insert_wic_for_ilb_runout): New.
9711         (insert_wic): New.
9712         (microblaze_machine_dependent_reorg): New.
9713         (TARGET_MACHINE_DEPENDENT_REORG): Define macro.
9714         * config/microblaze/microblaze.md
9715         (UNSPEC_IPREFETCH): Define.
9716         (iprefetch): New pattern
9717         * config/microblaze/microblaze.opt
9718         (mxl-prefetch): New flag.
9719
9720 2016-01-21  Ajit Agarwal  <ajitkum@xilinx.com>
9721
9722         * config/microblaze/microblaze.h
9723         (FIXED_REGISTERS): Update in macro.
9724         (CALL_USED_REGISTERS): Update in macro.
9725
9726 2016-01-21  Yuri Rumyantsev  <ysrumyan@gmail.com>
9727
9728         PR rtl-optimization/68920
9729         * ifcvt.c (cond_move_process_if_block): Limit number of conditional
9730         moves.
9731
9732 2016-01-21  Vladimir Makarov  <vmakarov@redhat.com>
9733
9734         PR rtl-optimization/68990
9735         * lra-coalesce.c (lra_coalesce): Invalidate value for the result
9736         pseudo instead of inheritance ones.
9737
9738 2016-01-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
9739             Nick Clifton  <nickc@redhat.com>
9740
9741         PR target/69129
9742         PR target/69012
9743         * config/mips/mips.c (mips_compute_frame_info): Initialise
9744         args_size and hard_frame_pointer_offset fields of the frame
9745         structure before calling mips_global_pointer.
9746
9747 2016-01-21  David Edelsohn  <dje.gcc@gmail.com>
9748
9749         * configure.ac (gcc_cv_as_dwloc): Test support for debug frame section
9750         label reference.
9751         * configure: Regenerate.
9752
9753 2016-01-21  Richard Biener  <rguenther@suse.de>
9754
9755         * graphite-optimize-isl.c (get_schedule_map): Fix typo.
9756
9757 2016-01-21  Marcin Kościelnicki  <koriakin@0x04.net>
9758
9759         * config/s390/s390.c (s390_asm_declare_function_size): Add code
9760         to actually emit the .size directive.
9761
9762 2016-01-21   Stefan Sørensen  <stefan.sorensen@spectralink.com>
9763              Jakub Jelinek  <jakub@redhat.com>
9764
9765         PR target/69187
9766         PR target/65624
9767         * config/arm/arm-builtins.c (arm_expand_neon_builtin): Increase
9768         args array size by one to avoid buffer overflow.
9769
9770 2016-01-21  Marcin Kościelnicki  <koriakin@0x04.net>
9771
9772         * config/s390/s390.md (pool_section_start): Use switch_to_section
9773         to select proper read-only data section instead of hardcoding
9774         .rodata.
9775         (pool_section_end): Use switch_to_section to match the above.
9776
9777 2016-01-21  Richard Biener  <rguenther@suse.de>
9778
9779         PR tree-optimization/69378
9780         * tree-ssa-sccvn.c (dominated_by_p_w_unex): New function.
9781         (set_ssa_val_to): Use it for dominance checks taking into
9782         account not executable edges.
9783
9784 2016-01-21  Jakub Jelinek  <jakub@redhat.com>
9785
9786         PR c++/69355
9787         * tree-dfa.c (get_ref_base_and_extent): Use GET_MODE_BITSIZE (mode)
9788         for bitsize instead of GET_MODE_PRECISION (mode).
9789
9790 2016-01-20  Martin Sebor  <msebor@redhat.com>
9791
9792         PR c/52291
9793         * extend.texi (__sync Builtins): Clarify the semantics of
9794         __sync_fetch_and_OP built-ins on pointers.
9795         (__atomic Builtins): Same.
9796
9797 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
9798             Sebastian Pop  <s.pop@samsung.com>
9799
9800         * graphite-isl-ast-to-gimple.c (enum phi_node_kind): New.
9801         (class translate_isl_ast_to_gimple): Use phi_node_kind instead of bool.
9802         (is_valid_rename): Same.
9803         (translate_isl_ast_to_gimple::get_rename): Same.
9804         (translate_isl_ast_to_gimple::rename_all_uses): Same.
9805         (translate_isl_ast_to_gimple::rename_uses): Same.
9806         (get_new_name): Check for close_phi nodes.
9807         (copy_loop_phi_args): Use phi_node_kind.
9808         (translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same.
9809         (translate_isl_ast_to_gimple::copy_cond_phi_args): Same.
9810
9811 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
9812             Sebastian Pop  <s.pop@samsung.com>
9813
9814         Revert commit r229783.
9815         * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
9816         Remove use of parameter_rename_map.
9817         (copy_def): Remove.
9818         (copy_internal_parameters): Remove.
9819         (graphite_regenerate_ast_isl): Remove call to copy_internal_parameters.
9820         * sese.c (new_sese_info): Do not initialize parameter_rename_map.
9821         (free_sese_info): Do not free parameter_rename_map.
9822         (set_rename): Do not use parameter_rename_map.
9823         (rename_uses): Update call to set_rename.
9824         (graphite_copy_stmts_from_block): Do not use parameter_rename_map.
9825         * sese.h (parameter_rename_map_t): Remove.
9826         (struct sese_info_t): Remove field parameter_rename_map.
9827
9828 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
9829             Sebastian Pop  <s.pop@samsung.com>
9830
9831         * graphite-isl-ast-to-gimple.c: Fix comment.
9832         * graphite-scop-detection.c (defined_in_loop_p): New.
9833         (canonicalize_loop_closed_ssa): Do not add close phi nodes for SSA
9834         names defined in loop.
9835
9836 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
9837             Sebastian Pop  <s.pop@samsung.com>
9838
9839         * graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
9840         Discard unstructured if-then-else regions.
9841
9842 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
9843             Sebastian Pop  <s.pop@samsung.com>
9844
9845         * graphite-sese-to-poly.c (set_scop_parameter_dim): Remove.
9846         (cleanup_loop_iter_dom): Remove.
9847         (build_loop_iteration_domains): Remove.
9848         (build_scop_context): Remove.
9849         (build_scop_iteration_domain): Remove.
9850         (add_loop_constraints): New.
9851         (build_iteration_domains): New.
9852         (build_poly_scop): Call build_iteration_domains.
9853
9854 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
9855             Sebastian Pop  <s.pop@samsung.com>
9856
9857         * graphite-scop-detection.c
9858         (scop_detection::harmful_loop_in_region): Free dom and loops.
9859         (scop_detection::loop_body_is_valid_scop): Free bbs.
9860
9861 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
9862             Sebastian Pop  <s.pop@samsung.com>
9863
9864         * graphite-scop-detection.c (record_loop_in_sese): New.
9865         (gather_bbs::before_dom_children): Call record_loop_in_sese.
9866         (build_scops): Remove call to build_sese_loop_nests.
9867         * sese.c (sese_record_loop): Remove.
9868         (build_sese_loop_nests): Remove.
9869         (new_sese_info): Remove region->loops.
9870         (free_sese_info): Same.
9871         * sese.h (sese_contains_loop): Same.
9872         (build_sese_loop_nests): Remove.
9873         (sese_contains_loop): Remove.
9874
9875 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
9876             Sebastian Pop  <s.pop@samsung.com>
9877
9878         * graphite-scop-detection.c (loop_is_valid_scop): Renamed
9879         loop_is_valid_in_scop.
9880         (scop_detection::harmful_stmt_in_region): Renamed
9881         harmful_loop_in_region.
9882         Call loop_is_valid_in_scop.
9883
9884 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
9885             Sebastian Pop  <s.pop@samsung.com>
9886
9887         * graphite-isl-ast-to-gimple.c (translate_isl_ast): Also handle
9888         isl_ast_node_mark.
9889
9890 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
9891             Sebastian Pop  <s.pop@samsung.com>
9892
9893         * graphite-poly.c (new_poly_bb): Remove use of PBB_IS_REDUCTION.
9894         * graphite.h (struct poly_bb): Remove field is_reduction.
9895         (PBB_IS_REDUCTION): Remove.
9896
9897 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
9898             Sebastian Pop  <s.pop@samsung.com>
9899
9900         * graphite-dependences.c (constrain_domain): Add call to isl_*_coalesce.
9901         (add_pdr_constraints): Same.
9902         (scop_get_reads): Same.
9903         (scop_get_must_writes): Same.
9904         (scop_get_may_writes): Same.
9905         (scop_get_original_schedule): Same.
9906         (extend_schedule): Same.
9907         (apply_schedule_on_deps): Same.
9908         (carries_deps): Same.
9909         (compute_deps): Same.
9910         (scop_get_dependences): Same.
9911         * graphite-isl-ast-to-gimple.c
9912         (translate_isl_ast_to_gimple::generate_isl_schedule): Same.
9913         * graphite-optimize-isl.c (get_schedule_for_band): Same.
9914         (get_schedule_for_band_list): Same.
9915         (get_schedule_map): Same.
9916         (apply_schedule_map_to_scop): Same.
9917         * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
9918         (build_loop_iteration_domains): Same.
9919         (add_condition_to_pbb): Same.
9920         (add_param_constraints): Same.
9921         (pdr_add_memory_accesses): Same.
9922         (pdr_add_data_dimensions): Same.
9923
9924 2016-01-20  Sandra Loosemore  <sandra@codesourcery.com>
9925
9926         * doc/invoke.texi (Instrumentation Options): Clarify -mmpx linking
9927         requirements.
9928
9929 2016-01-20  Sandra Loosemore  <sandra@codesourcery.com>
9930
9931         * common.opt (feliminate-dwarf2-dups): Replace references to
9932         "DWARF 2" with just "DWARF".
9933         * config/ia64/ia64.opt (mdwarf2-asm): Likewise.
9934         * doc/extend.texi: Likewise.
9935         * doc/cpp.texi: Likewise.
9936         * doc/invoke.texi: Likewise.
9937         (Option Summary): Add -gdwarf to list of Debugging Options.
9938         (Debugging Options): Document -gdwarf.
9939         * doc/contrib.texi: Spell "DWARF" like that.
9940
9941 2016-01-21  Jakub Jelinek  <jakub@redhat.com>
9942
9943         * omp-low.c (expand_omp_target): Avoid -Wmaybe-uninitialized
9944         warning.  Fix up formatting.
9945
9946         PR middle-end/67653
9947         * gimplify.c (gimplify_asm_expr): Warn if it is too late to
9948         attempt to mark memory input operand addressable and
9949         call prepare_gimple_addressable in that case.  Don't adjust
9950         input_location for diagnostics, use error_at instead.
9951
9952 2016-01-20  Peter Bergner  <bergner@vnet.ibm.com>
9953
9954         * config/rs6000/ppc-auxv.h: New file.
9955         * config/rs6000/rs6000-builtin.def (cpu_init): Add new builtin.
9956         (cpu_is): Likewise.
9957         (cpu_supports): Likewise.
9958         * config/rs6000/rs6000.c: include "ppc-auxv.h".
9959         (cpu_is_info): New variable.
9960         (cpu_supports_info): Likewise.
9961         (tcb_verification_symbol): Likewise.
9962         (cpu_builtin_p): Likewise.
9963         (cpu_expand_builtin): New function.
9964         (rs6000_expand_ternop_builtin): Add support for CPU builtin functions.
9965         (rs6000_init_builtins): Likewise.
9966         (rs6000_elf_file_end): Emit HWCAP in TCB verification symbol.
9967         * config/rs6000/rs6000.h (TLS_REGNUM): New define.
9968         * configure.ac (gcc_cv_libc_provides_hwcap_in_tcb): New test.
9969         * configure: Regenerate.
9970         * config.in: Likewise.
9971         * doc/extend.texi (PowerPC Built-in Functions): Document
9972         __builtin_cpu_init, __builtin_cpu_is and __builtin_cpu_supports.
9973
9974 2016-01-20  David Edelsohn  <dje.gcc@gmail.com>
9975
9976         PR target/68609
9977         * config/rs6000/rs6000.c (rs6000_emit_swsqrt): Add vector sqrt
9978         domain check.
9979         * config/rs6000/vector.md (sqrt<mode>2): Call rs6000_emit_swsqrt
9980         for V4SFmode.
9981
9982 2016-01-20  Richard Henderson  <rth@redhat.com>
9983
9984         PR bootstrap/69343
9985         PR bootstrap/69339
9986         PR tree-opt/68964
9987         Revert:
9988         * tree.c (tm_define_builtin): New.
9989         (find_tm_vector_type): New.
9990         (build_tm_vector_builtins): New.
9991         (build_common_builtin_nodes): Call it.
9992
9993 2016-01-20  Christophe Lyon  <christophe.lyon@linaro.org>
9994
9995         * doc/sourcebuild.texi (arm_crypto_pragma_ok): Document new entry.
9996         (arm_fp_ok): Likewise.
9997         (arm_fp): Likewise.
9998         (arm_crypto): Likewise.
9999
10000 2016-01-20  Ilya Enkovich  <enkovich.gnu@gmail.com>
10001             Richard Biener  <rguenther@suse.de>
10002
10003         PR tree-optimization/69328
10004         * tree-vect-stmts.c (vect_is_simple_cond): Check compared
10005         vectors have same number of elements.
10006         (vectorizable_condition): Fix masked version recognition.
10007
10008 2016-01-20  Richard Biener  <rguenther@suse.de>
10009
10010         PR tree-optimization/69345
10011         * tree-ssa-sccvn.h (VN_INFO_RANGE_INFO): New inline function.
10012         (VN_INFO_PTR_INFO): Likewise.
10013         * tree-ssa-sccvn.c (set_ssa_val_to): Avoid clearing points-to
10014         info when it is equal between non-dominating SSA names.
10015         * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
10016         Make sure to look at original SSA infos.
10017
10018 2016-01-20  Jeff Law  <law@redhat.com>
10019
10020         PR target/25114
10021         * config/m68k/predicates.md (pow2_m1_operand): New predicate
10022         extracted from ...
10023         (reg_or_pow2_m1_operand): Call pow2_m1_operand.
10024         (pc_or_label_operand): New predicate.
10025         * config/m68k/m68k.md: Add new peephole2 patterns for GTU/LEU
10026         tests for small integers that are 2^n - 1.
10027
10028 2016-01-20  Jonathan Wakely  <jwakely@redhat.com>
10029
10030         * doc/invoke.texi (Options Summary): Add '.' after @xref.
10031
10032 2016-01-19  Jeff Law  <law@redhat.com>
10033
10034         PR middle-end/69347
10035         * tree-ssa-threadbackwards.c
10036         (fsm_find_control_statement_thread_paths): Do not try to lookup
10037         FSM paths for SSA_NAMEs appearing in abnormal PHIs.
10038
10039 2016-01-20  Kugan Vivekanandarajah  <kuganv@linaro.org>
10040
10041         * doc/lto.texi: Remove text that says only Gold has linker plugin
10042         support.
10043
10044 2016-01-19  Eric Botcazou  <ebotcazou@adacore.com>
10045
10046         * dwarf2out.c (need_endianity_attribute_p): New inline predicate.
10047         (base_type_die): Add REVERSE parameter and attach DW_AT_endianity to
10048         the DIE accordingly.
10049         (modified_type_die): Add REVERSE parameter and pass it recursively,
10050         as well as to base_type_die.  Adjust presence check accordingly.
10051         (base_type_for_mode): Adjust call to modified_type_die.
10052         (add_type_attribute): Add REVERSE parameter and pass it to
10053         modified_type_die.
10054         (generic_parameter_die): Adjust call to add_type_attribute.
10055         (add_scalar_info): Likewise.
10056         (add_subscript_info): Likewise.
10057         (gen_array_type_die): Likewise.
10058         (gen_descr_array_type_die): Likewise.
10059         (gen_entry_point_die): Likewise.
10060         (gen_enumeration_type_die): Likewise.
10061         (gen_formal_parameter_die): Likewise.
10062         (gen_subprogram_die): Likewise.
10063         (gen_variable_die ): Likewise.
10064         (gen_const_die): Likewise.
10065         (gen_field_die): Likewise.
10066         (gen_pointer_type_die): Likewise.
10067         (gen_reference_type_die): Likewise.
10068         (gen_ptr_to_mbr_type_die): Likewise.
10069         (gen_inheritance_die): Likewise.
10070         (gen_subroutine_type_die): Likewise.
10071         (gen_typedef_die): Likewise.
10072         (force_type_die): Adjust call to modified_type_die.
10073
10074 2016-01-19  Sandra Loosemore  <sandra@codesourcery.com>
10075
10076         * doc/standards.texi: Copy-editing for grammar, markup, and sentence
10077         flow throughout the file.  Fix broken link to Objective-C 2.0
10078         documentation.
10079         * doc/invoke.texi: More copy-editing; fix numerous typos and spelling
10080         errors.
10081
10082 2016-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
10083
10084         * ccmp.c (expand_ccmp_expr_1): Avoid spurious unused warnings.
10085
10086 2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
10087
10088         PR ipa/66223
10089         * ipa-devirt.c (is_cxa_pure_virtual_p): New function.
10090         (maybe_record_node): Record cxa_pure_virtual as the only possible
10091         target if there are not ohter candidates.
10092         (possible_polymorphic_call_target_p): Accept cxa_pure_virtual.
10093
10094 2016-01-19  Richard Biener  <rguenther@suse.de>
10095
10096         * hsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants.
10097         (get_memory_order): Likewise.
10098
10099 2016-01-19  Kirill Yukhin  <kirill.yukhin@intel.com>
10100
10101         * tree-vect-stmts.c (vectorizable_store): Check
10102         rhs vectype.
10103
10104 2016-01-19  David Malcolm  <dmalcolm@redhat.com>
10105
10106         PR jit/68446
10107         * gcc.c (driver::decode_argv): Add call to
10108         init_opts_obstack before init_options_struct.
10109         * opts.c (init_opts_obstack): Remove idempotency.
10110         (init_options_struct): Replace call to init_opts_obstack
10111         with a gcc_assert to verify that it has already been called.
10112         * toplev.c (toplev::main): Add call to init_opts_obstack before
10113         calls to init_options_struct.
10114         (toplev::finalize): Move cleanup of opts_obstack next to
10115         cleanup of save_decoded_options, clearing the latter, and
10116         save_decoded_options_count.
10117
10118 2016-01-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
10119
10120         PR target/69135
10121         * config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Set "conds"
10122         attribute to unconditional.  Remove %? from output template.
10123
10124 2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
10125             Jiong Wang  <jiong.wang@arm.com>
10126
10127         * ccmp.c (expand_ccmp_expr_1): Cost the instruction sequences
10128         generated from different expand order.
10129
10130 2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
10131
10132         * /config/aarch64/aarch64.c (aarch64_if_then_else_costs):
10133         Add support for CCMP costing.
10134
10135 2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
10136
10137         * ccmp.c (ccmp_candidate_p): Remove integer-only restriction.
10138         * config/aarch64/aarch64.md (fccmp<mode>): New pattern.
10139         (fccmpe<mode>): Likewise.
10140         (fcmp): Rename to fcmp and globalize pattern.
10141         (fcmpe): Likewise.
10142         * config/aarch64/aarch64.c (aarch64_gen_ccmp_first): Add FP support.
10143         (aarch64_gen_ccmp_next): Add FP support.
10144
10145 2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
10146
10147         * target.def (gen_ccmp_first): Update documentation.
10148         (gen_ccmp_next): Likewise.
10149         * doc/tm.texi (gen_ccmp_first): Update documentation.
10150         (gen_ccmp_next): Likewise.
10151         * ccmp.c (expand_ccmp_expr): Extract cmp_code from return value of
10152         expand_ccmp_expr_1.  Improve comments.
10153         * config/aarch64/aarch64.md (ccmp_and): Use if_then_else for ccmp.
10154         (ccmp_ior<mode>): Remove pattern.
10155         (cmp<mode>): Remove expand.
10156         (cmp): Globalize pattern.
10157         (cstorecc4): Use cc_register.
10158         (mov<mode>cc): Remove ccmp_cc_register check.
10159         * config/aarch64/aarch64.c (aarch64_get_condition_code_1):
10160         Simplify after removal of CC_DNE/* modes.
10161         (aarch64_ccmp_mode_to_code): Remove.
10162         (aarch64_print_operand): Remove 'K' case.  Merge 'm' and 'M' cases.
10163         In 'k' case use integer as condition.
10164         (aarch64_nzcv_codes): Remove inverted cases.
10165         (aarch64_code_to_ccmode): Remove.
10166         (aarch64_gen_ccmp_first): Use cmp pattern directly.  Return the correct
10167         comparison with CC register to be used in folowing CCMP/branch/CSEL.
10168         (aarch64_gen_ccmp_next): Use previous comparison and mode in CCMP
10169         pattern.  Return the comparison with CC register.  Invert conditions
10170         when bitcode is OR.
10171         * config/aarch64/aarch64-modes.def: Remove CC_DNE/* modes.
10172         * config/aarch64/predicates.md (ccmp_cc_register): Remove.
10173
10174 2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
10175
10176         * cgraphunit.c (cgraph_node::reset): Clear thunk info and
10177         instrumented_version.
10178
10179 2016-01-19  Richard Biener  <rguenther@suse.de>
10180
10181         PR tree-optimization/69336
10182         * tree-ssa-scopedtables.c (avail_expr_hash): Handle all
10183         handled components with get_ref_base_and_extent.
10184         (equal_mem_array_ref_p): Adjust.
10185
10186 2016-01-19  Jakub Jelinek  <jakub@redhat.com>
10187
10188         PR debug/65779
10189         * shrink-wrap.c: Include valtrack.h.
10190         (move_insn_for_shrink_wrap): Add DEBUG argument.  If
10191         MAY_HAVE_DEBUG_INSNS, call dead_debug_add on DEBUG_INSNs
10192         in between insn and where it will be moved to.  Call
10193         dead_debug_insert_temp.
10194         (prepare_shrink_wrap): Adjust caller.  Call dead_debug_local_init
10195         first and dead_debug_local_finish at the end.
10196         For uses and defs bitmap, handle all regs in between REGNO and
10197         END_REGNO, not just the first one.
10198
10199 2016-01-19  Richard Biener  <rguenther@suse.de>
10200
10201         PR tree-optimization/69352
10202         * tree-ssa-scopedtables.c (avail_expr_hash): Check for size == -1.
10203         (equal_mem_array_ref_p): Constrain size and max size properly.
10204         Compare the reverse flag.
10205
10206 2016-01-19  Bernd Schmidt  <bschmidt@redhat.com>
10207
10208         * ira.c (ira): Update regstat data if we deleted insns.
10209
10210 2016-01-19  Jakub Jelinek  <jakub@redhat.com>
10211
10212         PR rtl-optimization/68955
10213         PR rtl-optimization/64557
10214         * dse.c (record_store, check_mem_read_rtx): Don't call get_addr
10215         here.  Fix up formatting.
10216         * alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P.
10217
10218 2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
10219
10220         PR lto/69133
10221         * cgraphunit.c (cgraph_node::expand_thunk): When forcing gimple
10222         assume that the node has body.
10223         * cgraph.c (cgraph_node::get_untransformed_body): Use gimple_body_p
10224         check.
10225
10226 2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
10227
10228         * lto-streamer-out.c (lto_output): Do not stream instrumentation
10229         thunks.
10230
10231 2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
10232
10233         * symtab.c (symtab_node::asm_name): Do not call printable name directly.
10234         (symtab_node::name): Report name as unnamed if DECL_NAME is not set.
10235
10236 2016-01-19  Martin Jambor  <mjambor@suse.cz>
10237             Martin Liska  <mliska@suse.cz>
10238             Michael Matz  <matz@suse.de>
10239
10240         * Makefile.in (OBJS): Add new source files.
10241         (GTFILES): Add hsa.c.
10242         * common.opt (disable_hsa): New variable.
10243         (-Whsa): New warning.
10244         * config.in (ENABLE_HSA): New.
10245         * configure.ac: Treat hsa differently from other accelerators.
10246         (OFFLOAD_TARGETS): Define ENABLE_OFFLOADING according to
10247         $enable_offloading.
10248         (ENABLE_HSA): Define ENABLE_HSA according to $enable_hsa.
10249         * doc/install.texi (Configuration): Document --with-hsa-runtime,
10250         --with-hsa-runtime-include, --with-hsa-runtime-lib and
10251         --with-hsa-kmt-lib.
10252         * doc/invoke.texi (-Whsa): Document.
10253         (hsa-gen-debug-stores): Likewise.
10254         * lto-wrapper.c (compile_images_for_offload_targets): Do not attempt
10255         to invoke offload compiler for hsa acclerator.
10256         * opts.c (common_handle_option): Determine whether HSA offloading
10257         should be performed.
10258         * params.def (PARAM_HSA_GEN_DEBUG_STORES): New parameter.
10259         * builtin-types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
10260         (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
10261         (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
10262         * gimple-low.c (lower_stmt): Also handle GIMPLE_OMP_GRID_BODY.
10263         * gimple-pretty-print.c (dump_gimple_omp_for): Also handle
10264         GF_OMP_FOR_KIND_GRID_LOOP.
10265         (dump_gimple_omp_block): Also handle GIMPLE_OMP_GRID_BODY.
10266         (pp_gimple_stmt_1): Likewise.
10267         * gimple-walk.c (walk_gimple_stmt): Likewise.
10268         * gimple.c (gimple_build_omp_grid_body): New function.
10269         (gimple_copy): Also handle GIMPLE_OMP_GRID_BODY.
10270         * gimple.def (GIMPLE_OMP_GRID_BODY): New.
10271         * gimple.h (enum gf_mask): Added GF_OMP_PARALLEL_GRID_PHONY,
10272         GF_OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY and
10273         GF_OMP_TEAMS_GRID_PHONY.
10274         (gimple_statement_omp_single_layout): Updated comments.
10275         (gimple_build_omp_grid_body): New function.
10276         (gimple_has_substatements): Also handle GIMPLE_OMP_GRID_BODY.
10277         (gimple_omp_for_grid_phony): New function.
10278         (gimple_omp_for_set_grid_phony): Likewise.
10279         (gimple_omp_parallel_grid_phony): Likewise.
10280         (gimple_omp_parallel_set_grid_phony): Likewise.
10281         (gimple_omp_teams_grid_phony): Likewise.
10282         (gimple_omp_teams_set_grid_phony): Likewise.
10283         (gimple_return_set_retbnd): Also handle GIMPLE_OMP_GRID_BODY.
10284         * omp-builtins.def (BUILT_IN_GOMP_OFFLOAD_REGISTER): New.
10285         (BUILT_IN_GOMP_OFFLOAD_UNREGISTER): Likewise.
10286         (BUILT_IN_GOMP_TARGET): Updated type.
10287         * omp-low.c: Include symbol-summary.h, hsa.h and params.h.
10288         (adjust_for_condition): New function.
10289         (get_omp_for_step_from_incr): Likewise.
10290         (extract_omp_for_data): Moved parts to adjust_for_condition and
10291         get_omp_for_step_from_incr.
10292         (build_outer_var_ref): Handle GIMPLE_OMP_GRID_BODY.
10293         (fixup_child_record_type): Bail out if receiver_decl is NULL.
10294         (scan_sharing_clauses): Handle OMP_CLAUSE__GRIDDIM_.
10295         (scan_omp_parallel): Do not create child functions for phony
10296         constructs.
10297         (check_omp_nesting_restrictions): Handle GIMPLE_OMP_GRID_BODY.
10298         (scan_omp_1_op): Checking assert we are not remapping to
10299         ERROR_MARK.  Also also handle GIMPLE_OMP_GRID_BODY.
10300         (parallel_needs_hsa_kernel_p): New function.
10301         (expand_parallel_call): Register apprpriate parallel child
10302         functions as HSA kernels.
10303         (grid_launch_attributes_trees): New type.
10304         (grid_attr_trees): New variable.
10305         (grid_create_kernel_launch_attr_types): New function.
10306         (grid_insert_store_range_dim): Likewise.
10307         (grid_get_kernel_launch_attributes): Likewise.
10308         (get_target_argument_identifier_1): Likewise.
10309         (get_target_argument_identifier): Likewise.
10310         (get_target_argument_value): Likewise.
10311         (push_target_argument_according_to_value): Likewise.
10312         (get_target_arguments): Likewise.
10313         (expand_omp_target): Call get_target_arguments instead of looking
10314         up for teams and thread limit.
10315         (grid_expand_omp_for_loop): New function.
10316         (grid_arg_decl_map): New type.
10317         (grid_remap_kernel_arg_accesses): New function.
10318         (grid_expand_target_kernel_body): New function.
10319         (expand_omp): Call it.
10320         (lower_omp_for): Do not emit phony constructs.
10321         (lower_omp_taskreg): Do not emit phony constructs but create for them
10322         a temporary variable receiver_decl.
10323         (lower_omp_taskreg): Do not emit phony constructs.
10324         (lower_omp_teams): Likewise.
10325         (lower_omp_grid_body): New function.
10326         (lower_omp_1): Call it.
10327         (grid_reg_assignment_to_local_var_p): New function.
10328         (grid_seq_only_contains_local_assignments): Likewise.
10329         (grid_find_single_omp_among_assignments_1): Likewise.
10330         (grid_find_single_omp_among_assignments): Likewise.
10331         (grid_find_ungridifiable_statement): Likewise.
10332         (grid_target_follows_gridifiable_pattern): Likewise.
10333         (grid_remap_prebody_decls): Likewise.
10334         (grid_copy_leading_local_assignments): Likewise.
10335         (grid_process_kernel_body_copy): Likewise.
10336         (grid_attempt_target_gridification): Likewise.
10337         (grid_gridify_all_targets_stmt): Likewise.
10338         (grid_gridify_all_targets): Likewise.
10339         (execute_lower_omp): Call grid_gridify_all_targets.
10340         (make_gimple_omp_edges): Handle GIMPLE_OMP_GRID_BODY.
10341         * tree-core.h (omp_clause_code): Added OMP_CLAUSE__GRIDDIM_.
10342         (tree_omp_clause): Added union field dimension.
10343         * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__GRIDDIM_.
10344         * tree.c (omp_clause_num_ops): Added number of arguments of
10345         OMP_CLAUSE__GRIDDIM_.
10346         (omp_clause_code_name): Added name of OMP_CLAUSE__GRIDDIM_.
10347         (walk_tree_1): Handle OMP_CLAUSE__GRIDDIM_.
10348         * tree.h (OMP_CLAUSE_GRIDDIM_DIMENSION): New.
10349         (OMP_CLAUSE_SET_GRIDDIM_DIMENSION): Likewise.
10350         (OMP_CLAUSE_GRIDDIM_SIZE): Likewise.
10351         (OMP_CLAUSE_GRIDDIM_GROUP): Likewise.
10352         * passes.def: Schedule pass_ipa_hsa and pass_gen_hsail.
10353         * tree-pass.h (make_pass_gen_hsail): Declare.
10354         (make_pass_ipa_hsa): Likewise.
10355         * ipa-hsa.c: New file.
10356         * lto-section-in.c (lto_section_name): Add hsa section name.
10357         * lto-streamer.h (lto_section_type): Add hsa section.
10358         * timevar.def (TV_IPA_HSA): New.
10359         * hsa-brig-format.h: New file.
10360         * hsa-brig.c: New file.
10361         * hsa-dump.c: Likewise.
10362         * hsa-gen.c: Likewise.
10363         * hsa.c: Likewise.
10364         * hsa.h: Likewise.
10365         * toplev.c (compile_file): Call hsa_output_brig.
10366         * hsa-regalloc.c: New file.
10367
10368 2016-01-18  Jeff Law  <law@redhat.com>
10369
10370         PR tree-optimization/69320
10371         * tree-ssa-dom.c (record_edge_info): For comparisons against a boolean
10372         ranged object, do nothing if the RHS constant is not [0..1].
10373         (optimize_stmt): Comparing a boolean ranged object against a
10374         constant outside [0..1] results in a compile-time constant.
10375
10376         * tree-ssanames.c (ssa_name_has_boolean_range): Remove unnecessary
10377         test.
10378
10379 2016-01-18  Sandra Loosemore  <sandra@codesourcery.com>
10380
10381         * doc/invoke.texi (Invoking GCC): Add new section to menu.
10382         (Option Summary): Update to reflect new section and moved options.
10383         (C++ Dialect Options): Move -fstats to new section.
10384         (Debugging Options): Move all dump, statistics, and other GCC
10385         developer options to new section.  Rewrite section introduction
10386         and re-order remaining options to put the more basic ones first.
10387         (Optimization Options): Move -fira-verbose and -flto-report* to
10388         new section.
10389         (Developer Options): New section incorporating moved options.
10390         * doc/cppopts.texi (-dM): Update cross-reference.
10391
10392 2016-01-18  Richard Henderson  <rth@redhat.com>
10393
10394         PR target/69176
10395         * config/aarch64/aarch64.md (add<GPI>3): Move long immediate
10396         operands to pseudo only if CSE is expected.  Split long immediate
10397         operands only after reload, and for the stack pointer.
10398         (*add<GPI>3_pluslong): Remove.
10399         (*addsi3_aarch64, *adddi3_aarch64): Merge into...
10400         (*add<GPI>3_aarch64): ... here.  Add r/rk/Upl alternative.
10401         (*addsi3_aarch64_uxtw): Add r/rk/Upl alternative.
10402         (*add<GPI>3 peepholes): New.
10403         (*add<GPI>3 splitters): New.
10404         * config/aarch64/constraints.md (Upl): New.
10405         * config/aarch64/predicates.md (aarch64_pluslong_strict_immedate): New.
10406
10407 2016-01-18  Richard Biener  <rguenther@suse.de>
10408
10409         PR tree-optimization/69297
10410         * tree-vect-slp.c (vect_bb_slp_scalar_cost): Count each scalar
10411         stmt at most once.
10412         (vect_bb_vectorization_profitable_p): Clear visited flag again.
10413
10414 2016-01-18  Yuri Rumyantsev  <ysrumyan@gmail.com>
10415
10416         PR middle-end/68542
10417         * fold-const.c (fold_binary_op_with_conditional_arg): Bail out for case
10418         of mixind vector and scalar types.
10419         (fold_relational_const): Add handling of vector
10420         comparison with boolean result.
10421         * tree-cfg.c (verify_gimple_comparison): Add argument CODE, allow
10422         comparison of vector operands with boolean result for EQ/NE only.
10423         (verify_gimple_assign_binary): Adjust call for verify_gimple_comparison.
10424         (verify_gimple_cond): Likewise.
10425         * tree-vrp.c (extract_code_and_val_from_cond_with_ops): Modify check on
10426         valid type of VAL.
10427
10428 2016-01-18  Joseph Myers  <joseph@codesourcery.com>
10429
10430         * config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): Require
10431         !TARGET_OCTEON.
10432
10433 2016-01-18  Richard Biener  <rguenther@suse.de>
10434
10435         PR middle-end/69308
10436         * gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND.
10437
10438 2016-01-18  Tom de Vries  <tom@codesourcery.com>
10439
10440         * passes.def: Add pass_parallelize_loops to pass_oacc_kernels.
10441
10442 2016-01-18  Tom de Vries  <tom@codesourcery.com>
10443
10444         * omp-low.c (set_oacc_fn_attrib): Make extern.
10445         * omp-low.h (set_oacc_fn_attrib): Declare.
10446         * tree-parloops.c (struct reduction_info): Add reduc_addr field.
10447         (create_call_for_reduction_1): Handle case that reduc_addr is non-NULL.
10448         (create_parallel_loop, gen_parallel_loop, try_create_reduction_list):
10449         Add and handle function parameter oacc_kernels_p.
10450         (find_reduc_addr, get_omp_data_i_param): New function.
10451         (ref_conflicts_with_region, oacc_entry_exit_ok_1)
10452         (oacc_entry_exit_single_gang, oacc_entry_exit_ok): New function.
10453         (parallelize_loops): Add and handle function parameter oacc_kernels_p.
10454         Calculate dominance info.  Skip loops that are not in a kernels region
10455         in oacc_kernels_p mode.  Skip inner loops of parallelized loops.
10456         (pass_parallelize_loops::execute): Call parallelize_loops with
10457         oacc_kernels_p argument.
10458         (pass_parallelize_loops::clone, pass_parallelize_loops::set_pass_param):
10459         New member function.
10460         (pass_parallelize_loops::bool oacc_kernels_p): New member var.
10461         * passes.def: Add argument to pass_parallelize_loops instantation.
10462
10463 2016-01-18  Tom de Vries  <tom@codesourcery.com>
10464
10465         * tree-parloops.c (pass_parallelize_loops::execute): Allow
10466         pass_parallelize_loops to be run outside the loop pipeline.
10467
10468 2016-01-18  Alan Lawrence  <alan.lawrence@arm.com>
10469
10470         * tree-scalar-evolution.c (follow_copies_to_constant): New.
10471         (analyze_initial_condition, analyze_scalar_evolution_1): Call previous.
10472
10473 2016-01-18  Alan Lawrence  <alan.lawrence@arm.com>
10474
10475         PR target/63679
10476         * tree-ssa-scopedtables.c (avail_expr_hash): Hash MEM_REF and ARRAY_REF
10477         using get_ref_base_and_extent.
10478         (equal_mem_array_ref_p): New.
10479         (hashable_expr_equal_p): Add call to previous.
10480
10481 2016-01-18  Alan Lawrence  <alan.lawrence@arm.com>
10482
10483         PR target/63679
10484         * tree-sra.c (disqualified_constants, constant_decl_p): New.
10485         (sra_initialize): Allocate disqualified_constants.
10486         (sra_deinitialize): Free disqualified_constants.
10487         (disqualify_candidate): Update disqualified_constants when appropriate.
10488         (create_access): Scan for constant-pool entries as we go along.
10489         (scalarizable_type_p): Add check against type_contains_placeholder_p.
10490         (maybe_add_sra_candidate): Allow constant-pool entries.
10491         (load_assign_lhs_subreplacements): Bind debug for constant pool vars.
10492         (initialize_constant_pool_replacements): New.
10493         (sra_modify_assign): Avoid mangling assignments created by previous,
10494         and don't generate writes into constant pool.
10495         (sra_modify_function_body): Call initialize_constant_pool_replacements.
10496
10497 2016-01-18  Ilya Enkovich  <enkovich.gnu@gmail.com>
10498
10499         * config/i386/i386.c (scalar_to_vector_candidate_p): Support
10500         andnot instruction.
10501         (scalar_chain::convert_op): Likewise.
10502         * config/i386/i386.md (*andndi3_doubleword): New.
10503
10504 2016-01-18  Richard Biener  <rguenther@suse.de>
10505
10506         PR tree-optimization/69170
10507         * tree-vect-slp.c (vect_build_slp_tree): Verify we are not
10508         building a vector from scalar results of a pattern stmt.
10509
10510 2016-01-18  Jakub Jelinek  <jakub@redhat.com>
10511
10512         * haifa-sched.c (autopref_multipass_init): Work around
10513         -Wmaybe-uninitialized warning.
10514
10515 2016-01-18  Thomas Preud'homme  <thomas.preudhomme@arm.com>
10516
10517         * config/arm/arm.c (thumb1_reorg): Check that the comparison is
10518         against the constant 0.
10519
10520 2016-01-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
10521
10522         PR tree-optimization/68799
10523         * gimple-ssa-strength-reduction.c (create_phi_basis): Directly
10524         look up phi candidates in the statement-candidate map.
10525         (phi_add_costs): Likewise.
10526         (record_phi_increments): Likewise.
10527         (phi_incr_cost): Likewise.
10528         (ncd_with_phi): Likewise.
10529         (all_phi_incrs_profitable): Likewise.
10530
10531 2016-01-17  Jakub Jelinek  <jakub@redhat.com>
10532
10533         * omp-low.c (mark_loops_in_oacc_kernels_region): Work around
10534         -Wmaybe-uninitialized warning.
10535
10536 2016-01-16  Sandra Loosemore  <sandra@codesourcery.com>
10537
10538         * doc/invoke.texi (Invoking GCC): Add new section to menu.
10539         (Option Summary): Update to reflect new section and moved options.
10540         (C++ Dialect Options): Move -fvtable-verify and related options.
10541         (Debugging Options): Move Sanitizer, Pointer Bounds Checker,
10542         and profiling-related options.
10543         (Optimization Options): Move profile generation options and
10544         -fstack-protector and related options.
10545         (Instrumentation Options): New section incorporating moved options.
10546         (Code Generation Options): Move -finstrument-functions and
10547         related options, -fstack-check, -fstack-limit*, and -fbounds-check.
10548
10549 2016-01-16  Tom de Vries  <tom@codesourcery.com>
10550
10551         * passes.def: Move pass_expand_omp_ssa out of pass_parallelize_loops.
10552
10553 2016-01-16  Tom de Vries  <tom@codesourcery.com>
10554
10555         * omp-low.c (expand_omp_atomic_fetch_op):  Release defs of update stmt.
10556
10557 2016-01-16  Richard Sandiford  <richard.sandiford@arm.com>
10558
10559         * hash-table.h (hash_table::empty): Turn into an inline wrapper
10560         that checks whether the table is already empty.  Rename the
10561         original implementation to...
10562         (hash_table::empty_slot): ...this new private function.
10563
10564 2016-01-15  David Malcolm  <dmalcolm@redhat.com>
10565
10566         PR diagnostic/68899
10567         * diagnostic-show-locus.c (layout::print_source_line): Move x
10568         offset of line until after call to
10569         get_line_width_without_trailing_whitespace.
10570
10571 2016-01-15  Jeff Law  <law@redhat.com>
10572
10573         PR tree-optimization/69270
10574         * tree-ssanames.c (ssa_name_has_boolean_range): Moved here from
10575         tree-ssa-dom.c.  Improve test for [0..1] ranve from VRP.
10576         * tree-ssa-dom.c (ssa_name_has_boolean_range): Remove.
10577         * tree-ssanames.h (ssa_name_has_boolean_range): Prototype.
10578         * tree-ssa-uncprop.c (associate_equivalences_with_edges): Use
10579         ssa_name_has_boolean_range and constant_boolean_node.
10580
10581 2016-01-15  Vladimir Makarov  <vmakarov@redhat.com>
10582
10583         PR rtl-optimization/69030
10584         * lra-spills.c (remove_pseudos): Check nrefs and make the function
10585         returning bool.
10586         (spill_pseudos): Delete debug insn for dead pseudo.
10587         (lra_spill): Initiate spill_hard_reg and slots memory separately.
10588
10589 2016-01-15  Jiong Wang  <jiong.wang@arm.com>
10590
10591         * config/aarch64/aarch64-builtins.c (aarch64_types_unopus_qualifiers):
10592         New.
10593         (TYPES_UNOPUS): Likewise.
10594         * config/aarch64/aarch64-simd-builtins.def (lbtruncuv2sf): Correct
10595         builtin type, from UNOP to UNOPUS.
10596         (lbtruncuv4sf): Likewise.
10597         (lbtruncuv2df): Likewise.
10598         (lrounduv2sf): Likewise.
10599         (lrounduv4sf): Likewise.
10600         (lrounduv2df): Likewise.
10601         (lroundusf): Likewise.
10602         (lroundusf): Likewise.
10603         (lceiluv2sf): Likewise.
10604         (lceiluv4sf): Likewise.
10605         (lceiluv2df): Likewise.
10606         (lceilusf): Likewise.
10607         (lceiludf): Likewise.
10608         (lflooruv2sf): Likewise.
10609         (lflooruv4sf): Likewise.
10610         (lflooruv2df): Likewise.
10611         (lfloorusf): Likewise.
10612         (lfloorudf): Likewise.
10613         (lfrintnuv2sf): Likewise.
10614         (lfrintnuv4sf): Likewise.
10615         (lfrintnuv2df): Likewise.
10616         (lfrintnusf): Likewise.
10617         (lfrintnudf): Likewise.
10618         * config/aarch64/arm_neon.h (vcvt_u32_f32): Remove unncessary type
10619         conversion.
10620         (vcvtq_u32_f32): Likewise.
10621         (vcvtq_u64_f64): Likewise.
10622         (vcvta_u32_f32): Likewise.
10623         (vcvtaq_u32_f32): Likewise.
10624         (vcvtaq_u64_f64): Likewise.
10625         (vcvtm_u32_f32): Likewise.
10626         (vcvtmq_u32_f32): Likewise.
10627         (vcvtmq_u64_f64): Likewise.
10628         (vcvtn_u32_f32): Likwise.
10629         (vcvtnq_u32_f32): Likewise.
10630         (vcvtnq_u64_f64): Likewise.
10631         (vcvtp_u32_f32): Likewise.
10632         (vcvtpq_u32_f32): Likewise.
10633         (vcvtpq_u64_f64): Likewise.
10634         (vcvtmd_u64_f64): Likewise.
10635         (vcvtms_u32_f32): Likewise.
10636         (vcvtad_u64_f64): Likewise.
10637         (vcvtas_u32_f32): Likewise.
10638         (vcvtnd_u64_f64): Likewise.
10639         (vcvtns_u32_f32): Likewise.
10640         (vcvtpd_u64_f64): Likewise.
10641         (vcvtps_u32_f32): Likewise.
10642
10643 2016-01-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
10644
10645         * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Handle
10646         CSEL of zero_extended registers.
10647
10648 2016-01-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
10649
10650         * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
10651         Handle COMPARE of ZERO_EXTRACT against zero form of TST-immediate.
10652
10653 2016-01-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
10654
10655         * config/aarch64/aarch64.c (aarch64_process_one_target_attr): Return
10656         false when argument string is not found in the attributes table
10657         at all.
10658
10659 2016-01-15  David Edelsohn  <dje.gcc@gmail.com>
10660
10661         PR target/68609
10662         * config/rs6000/rs6000.c (rs6000_emit_msub): Delete.
10663         (rs6000_emit_swsqrt): Convert to Goldschmidt's Algorithm
10664         * config/rs6000/rs6000.md (sqrt<mode>2): Limit swsqrt to high
10665         precision estimate.
10666
10667 2016-01-15  Richard Biener  <rguenther@suse.de>
10668
10669         PR tree-optimization/66856
10670         * tree-vect-loop.c (vect_transform_loop): Free SLP instances here.
10671         * tree-vect-slp.c (vect_free_slp_tree): Decrement stmt reference count.
10672         (vect_create_new_slp_node): Increment stmt reference count.
10673         (vect_get_and_check_slp_defs): Make sure stmts are nor already in
10674         an SLP tree before swapping operands.
10675         (vect_build_slp_tree): Likewise.
10676         (destroy_bb_vec_info): Free stmt info after SLP instances.
10677         * tree-vect-stmts.c (new_stmt_vec_info): Initialize reference count.
10678         * tree-vectorizer.h (struct _stmt_vec_info): Add num_slp_uses field.
10679         (STMT_VINFO_NUM_SLP_USES): New macro.
10680
10681 2016-01-15  Richard Biener  <rguenther@suse.de>
10682
10683         PR debug/69137
10684         * dwarf2out.c (add_linkage_name_raw): New function split out from ...
10685         (add_linkage_name): ... here.
10686         (gen_typedef_die): Use add_linkage_name_raw instead of
10687         add_linkage_attr to delay DECL_ASSEMBLER_NAME computation
10688         if necessary.
10689
10690 2016-01-15  Cesar Philippidis  <cesar@codesourcery.com>
10691
10692         * gimplify.c (oacc_default_clause): Decode reference and pointer
10693         types for both kernels and parallel regions.
10694
10695 2016-01-15  Richard Sandiford  <richard.sandiford@arm.com>
10696
10697         PR middle-end/69246
10698         * calls.c (emit_call_1): Force n_popped to zero for sibcalls.
10699
10700 2016-01-15  Ilya Enkovich  <enkovich.gnu@gmail.com>
10701
10702         * config/i386/i386.c (scalar_chain::compute_convert_gain): Fix typo.
10703         (convert_scalars_to_vector): Likewise.
10704
10705 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
10706
10707         * doc/extend.texi (Type Traits): Fix grammar.
10708
10709 2016-01-15  Martin Jambor  <mjambor@suse.cz>
10710
10711         * tree-inline.c (remap_decl): Use existing dclarations if
10712         remapping a type and prevent_decl_creation_for_types.
10713         (replace_locals_stmt): Do an initial remapping of non-VLA typed
10714         decls first.  Do real remapping with
10715         prevent_decl_creation_for_types set.
10716         * tree-inline.h (copy_body_data): New field
10717         prevent_decl_creation_for_types, moved remap_var_for_cilk to avoid
10718         padding.
10719
10720 2016-01-15  Dominik Vogt  <vogt@linux.vnet.ibm.com>
10721
10722         * config/s390/s390.opt (mmvcle): More verbose help text.
10723
10724 2016-01-15  Dominik Vogt  <vogt@linux.vnet.ibm.com>
10725
10726         * config/s390/s390.opt: Add period to -mzvector option text.
10727
10728 2016-01-15  Richard Biener  <rguenther@suse.de>
10729
10730         PR tree-optimization/68961
10731         * tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost
10732         of invariants in stores again.
10733
10734 2016-01-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
10735
10736         * config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib.
10737
10738 2016-01-15  Ilya Enkovich  <enkovich.gnu@gmail.com>
10739
10740         * config/i386/i386.c (ix86_expand_branch): Don't split
10741         DI mode xor instruction to SI mode.
10742
10743 2016-01-15  Jan Hubicka  <hubicka@ucw.cz>
10744
10745         PR ipa/68148
10746         * ipa-icf.c (sem_function::merge): Virtual functions may become
10747         reachable even if they address is not taken and there are no
10748         idrect calls.
10749
10750 2016-01-15  Jan Hubicka  <hubicka@ucw.cz>
10751
10752         * lto-streamer-out.c (subtract_estimated_size): New function.
10753         (get_symbol_initial_value): Use it.
10754
10755 2016-01-15  Christian Bruel  <christian.bruel@st.com>
10756
10757         PR target/65837
10758         * config/arm/arm-builtins.c (ARM_BUILTIN_CRYPTO_BASE): New enum tag.
10759         (arm_init_neon_builtins_internal): Rename arm_init_neon_builtins,
10760         (arm_init_crypto_builtins_internal): Rename arm_init_crypto_builtins.
10761         use add_builtin_function_ext_scope instead of add_builtin_function.
10762         (neon_set_p, neon_crypto_set_p): Remove.
10763         (arm_init_builtins): Always call arm_init_neon_builtins and
10764         arm_init_crypto_builtins.
10765         (arm_expand_builtin): Check that builtins are allowed for the arch.
10766         * config/arm/arm-protos.h (arm_init_neon_builtins): Remove prototype.
10767         * config/arm/arm.c (arm_valid_target_attribute_tree): Remove
10768         arm_init_neon_builtins call.
10769
10770 2016-01-15  Richard Biener  <rguenther@suse.de>
10771
10772         PR tree-optimization/69117
10773         * tree-ssa-sccvn.h (struct vn_ssa_aux): Add info member.
10774         * tree-ssa-sccvn.c (set_ssa_val_to): Save and adjust SSA name info
10775         of the leader conservatively.
10776         (free_scc_vn): Restore original SSA name infos.
10777
10778 2016-01-14  Jeff Law  <law@redhat.com>
10779
10780         PR tree-optimization/69270
10781         * tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a
10782         single bit of precision, verify it's also unsigned.
10783         (record_edge_info): Use constant_boolean_node rather than fold_convert
10784         to convert boolean_true/boolean_false to the right type.
10785
10786 2016-01-14  Richard Henderson  <rth@redhat.com>
10787
10788         PR rtl-opt/69014
10789         * loop-doloop.c (record_reg_sets): New.
10790         (doloop_optimize): Reject the transform if the sequence
10791         clobbers registers live at the end of the loop block.
10792         (doloop_optimize_loops): Enable df_live if needed.
10793
10794 2016-01-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
10795
10796         * config/rs6000/rs6000-builtin.def: Revert 2016-01-13 change.
10797         * gcc/config/rs6000/rs6000.c: Likewise.
10798         * gcc/config/rs6000/rs6000.h: Likewise.
10799         * gcc/config/rs6000/rs6000.md: Likewise.
10800         * gcc/doc/extend.texi: Likewsie.
10801
10802 2016-01-14  Jeff Law  <law@redhat.com>
10803
10804         * tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment
10805         typo.
10806
10807 2016-01-14  Richard Henderson  <rth@redhat.com>
10808
10809         PR c/69272
10810         PR tree-opt/68964
10811         * trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size.
10812         * tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p
10813         instead of builtin_decl_declared_p to test for declaration.
10814
10815 2016-01-14  Nicklas Bo Jensen  <nbjensen@gmail.com>
10816
10817         * doc/loop.texi (Loop Analysis and Representation): Document
10818         loop_depth function.
10819
10820 2016-01-14  Tom de Vries  <tom@codesourcery.com>
10821
10822         PR tree-optimization/68773
10823         * omp-low.c (expand_omp_target): Don't set force_output.
10824         * varpool.c (varpool_node::get_create): Same.
10825         * lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and
10826         offload_funcs with force_output.
10827
10828 2016-01-14  Jakub Jelinek  <jakub@redhat.com>
10829
10830         PR debug/69244
10831         * lra-eliminations.c (move_plus_up): Don't change anything if either
10832         the outer or inner subreg mode is not MODE_INT.
10833         * dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is
10834         integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards.
10835
10836 2016-01-14  Alan Lawrence  <alan.lawrence@arm.com>
10837
10838         * doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m},
10839         reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m},
10840         reduc_uplus_@var{m}): Remove.
10841         * expr.c (expand_expr_real_2): Remove expansion path for
10842         reduc_[us](min|max|plus) optabs.
10843         * optabs-tree.c (scalar_reduc_to_vector): Remove.
10844         * optabs-tree.h (scalar_reduc_to_vector): Remove.
10845         * optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab,
10846         reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove.
10847         * tree-vect-loop.c (vectorizable_reduction): Remove test for
10848         reduc_[us](min|max|plus) optabs.
10849
10850 2016-01-14  Alan Lawrence  <alan.lawrence@arm.com>
10851
10852         * config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove.
10853         (reduc_plus_scal_v2sf): New.
10854         (reduc_smax_v2sf): Rename to...
10855         (reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract.
10856         (reduc_smin_v2sf): Rename to...
10857         (reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract.
10858
10859 2016-01-14  Jan Hubicka  <hubicka@ucw.cz>
10860
10861         * alias.c (compare_base_symbol_refs): New function.
10862         (rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use
10863         it.
10864
10865 2016-01-14  Jakub Jelinek  <jakub@redhat.com>
10866
10867         PR middle-end/68146
10868         PR tree-optimization/69155
10869         * tree-complex.c: Include cfganal.h.
10870         (phis_to_revisit): New variable.
10871         (extract_component): Add phiarg_p argument.  Assert that returned
10872         SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true.
10873         (update_phi_components): Partly rewrite to use loop over real/imag
10874         components instead of code duplication.  If extract_component returns
10875         SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or
10876         create_tmp_reg into the PHI node instead, and mention the phi triplet
10877         in phis_to_revisit.
10878         (tree_lower_complex): Walk bbs in rpo order.  Adjust phis recorded
10879         in phis_to_revisit at the end.
10880
10881 2016-01-14  Richard Biener  <rguenther@suse.de>
10882
10883         PR tree-optimization/68060
10884         * tree-vect-loop.c (vect_is_simple_reduction): Check the
10885         outer loop reduction is only used in the inner loop before
10886         detecting a double reduction.
10887
10888 2016-01-14  Jakub Jelinek  <jakub@redhat.com>
10889
10890         PR target/68269
10891         * combine.c (expand_field_assignment): Punt if compute_mode is
10892         unsupported scalar mode.
10893
10894 2016-01-14  Richard Biener  <rguenther@suse.de>
10895
10896         PR tree-optimization/66856
10897         * tree-vect-slp.c (vect_build_slp_tree): Refactor to build
10898         SLP node only if it built successfully.
10899         (vect_analyze_slp_instance): Adjust.
10900
10901 2016-01-14  Jeff Law  <law@redhat.com>
10902
10903         PR tree-optimization/69270
10904         * tree-ssa-dom.c (ssa_name_has_boolean_range): New function.
10905         (record_edge_info): Use it.  Convert boolean_{true,false}_node
10906         to the type of op0.
10907
10908 2016-01-13  Jan Hubicka  <hubicka@ucw.cz>
10909
10910         PR ipa/66487
10911         * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p):
10912         use block_ultimate_origin
10913         (noncall-stmt_may_be_vtbl_ptr_store): Likewise.
10914
10915 2016-01-13  Sandra Loosemore  <sandra@codesourcery.com>
10916
10917         * doc/invoke.texi (Submodel Options): Rename section to
10918         "Machine-Dependent Options" to better reflect its content.
10919         Rewrite introductory text to remove archaic CPU names.
10920         Update references.
10921
10922 2016-01-13  Sandra Loosemore  <sandra@codesourcery.com>
10923
10924         * doc/invoke.texi (Code Gen Options): Move section up in file,
10925         before target-specific options.  Update menu and option summary
10926         to reflect the new section ordering.
10927
10928 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
10929
10930         * doc/invoke.texi (C Dialect Options): Adjust -std default for C++.
10931         (C++ Dialect Options): Add cross-reference to -std option.
10932         * doc/standards.texi (C++ Language): Document C++14 support.
10933
10934 2016-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
10935
10936         * config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support
10937         for pack/unpack functions for __ibm128.
10938         (PACK_IF): Likewise.
10939         (UNPACK_IF): Likewise.
10940
10941         * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
10942         support for __ibm128 pack/unpack functions.
10943         (rs6000_invalid_builtin): Likewise.
10944         (rs6000_init_builtins): Likewise.
10945         (rs6000_opt_masks): Likewise.
10946
10947         * config/rs6000/rs6000.h (MASK_FLOAT128): Add short name.
10948         (RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack
10949         functions
10950         (RS6000_BTM_COMMON): Likewise.
10951
10952         * config/rs6000/rs6000.md (f128_vsx): New mode attribute.
10953         (unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to
10954         disallow __builtin_{pack,unpack}_longdouble if long double is IEEE
10955         128-bit floating point.  Add support for the double values to be
10956         in Altivec registers for TF/IF packing and unpacking, but restrict
10957         TD packing sub-fields to be FPR registers.  Don't allow overlapped
10958         register support for packing.  Allow pack inputs to be memory
10959         locations.  Don't build generator functions for unpack<mode>_dm
10960         and unpack<mode>_nodm.
10961         (unpack<mode>_dm): Likewise.
10962         (unpack<mode>_nodm): Likewise.
10963         (pack<mode>): Likewise.
10964
10965         * config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add
10966         built-in functions to pack/unpack explicit __ibm128 values.
10967         (__builtin_unpack_ibm128): Likewise.
10968
10969         * doc/extend.texi (PowerPC Built-in Functions): Document
10970         __builtin_pack_ibm128 and __builtin_unpack_ibm128.
10971
10972 2016-01-13  Bernd Schmidt  <bschmidt@redhat.com>
10973
10974         PR c/66208
10975         * c-common.c (check_function_nonnull): Remove unnecessary declaration.
10976         Add new arg loc and pass it down as context.
10977         (check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer
10978         to the location to use for the warning.
10979         (check_function_arguments): New arg loc.  All callers changed.  Pass
10980         it to check_function_nonnull.
10981         * c-common.h (check_function_arguments): Adjust declaration.
10982
10983 2016-01-13  Jakub Jelinek  <jakub@redhat.com>
10984
10985         PR tree-optimization/69156
10986         * gimple.c (validate_type): Removed.
10987         (gimple_builtin_call_types_compatible_p): Use
10988         useless_type_conversion_p instead of validate_type.
10989         * value-prof.c (gimple_stringop_fixed_value): Fold
10990         icall_size to correct type.
10991
10992 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
10993
10994         * doc/extend.texi (__atomic Builtins): Clarify compare_exchange
10995         effects.
10996
10997 2016-01-13  Richard Henderson  <rth@redhat.com>
10998
10999         PR tree-opt/68964
11000         * target.def (builtin_tm_load, builtin_tm_store): Remove.
11001         * config/i386/i386.c (ix86_builtin_tm_load): Remove.
11002         (ix86_builtin_tm_store): Remove.
11003         (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
11004         (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
11005         * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
11006         (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
11007         * doc/tm.texi: Rebuild.
11008
11009         * gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New.
11010         (BUILT_IN_TM_MEMCPY_RTWN): New.
11011         * trans-mem.c (tm_log_emit_stmt): Rearrange code for better
11012         fallback from vector to integer helpers.
11013         (build_tm_load): Handle vector types directly, instead of
11014         via target hook.
11015         (build_tm_store): Likewise.
11016         (expand_assign_tm): Prepare for register types not handled by
11017         the above.  Copy them to memory and use memcpy.
11018         * tree.c (tm_define_builtin): New.
11019         (find_tm_vector_type): New.
11020         (build_tm_vector_builtins): New.
11021         (build_common_builtin_nodes): Call it.
11022
11023 2016-01-13  Uros Bizjak  <ubizjak@gmail.com>
11024
11025         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for
11026         TARGET_SSE_MATH without TARGET_SSE2.  Rewrite.
11027
11028 2016-01-13  Tom de Vries  <tom@codesourcery.com>
11029
11030         PR tree-optimization/69169
11031         * tree-ssa-structalias.c (create_variable_info_for_1): Add and handle
11032         handled_struct_type param.
11033         (create_variable_info_for, intra_create_variable_infos): Call
11034         create_variable_info_for_1 with extra arg.
11035
11036 2016-01-13  Yvan Roux  <yvan.roux@linaro.org>
11037
11038         * config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a"
11039         and "armv8.1-a+crc" entries.
11040
11041 2016-01-13  Alexander Fomin  <alexander.fomin@intel.com>
11042
11043         PR target/69228
11044         * config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"):
11045         Change first operand predicate from register_or_constm1_operand
11046         to register_operand.
11047         (define_expand "avx512pf_gatherpf<mode>df"): Likewise.
11048         (define_expand "avx512pf_scatterpf<mode>sf"): Likewise.
11049         (define_expand "avx512pf_scatterpf<mode>df"): Likewise.
11050         (define_insn "*avx512pf_gatherpf<mode>sf"): Remove.
11051         (define_insn "*avx512pf_gatherpf<mode>df"): Likewise.
11052         (define_insn "*avx512pf_scatterpf<mode>sf"): Likewise.
11053         (define_insn "*avx512pf_scatterpf<mode>df"): Likewise.
11054         * config/i386/i386.c (ix86_expand_builtin): Remove first operand
11055         comparison with constm1_rtx from vec_prefetch_gen part.
11056
11057 2016-01-13  Richard Biener  <rguenther@suse.de>
11058
11059         PR tree-optimization/69013
11060         * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths):
11061         Exchange assert for a test.
11062
11063 2016-01-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
11064
11065         PR target/69247
11066         * config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg.
11067
11068 2016-01-13  Richard Biener  <rguenther@suse.de>
11069
11070         PR tree-optimization/69242
11071         * tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus
11072         assert with a check.
11073
11074 2016-01-13  Richard Biener  <rguenther@suse.de>
11075
11076         PR tree-optimization/69186
11077         * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
11078         Properly guard vect_update_misalignment_for_peel call.
11079
11080 2016-01-12  Jeff Law  <law@redhat.com>
11081
11082         PR tree-optimization/pr67755
11083         * tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field
11084         "need_profile_correction".
11085         (thread_block_1): Initialize new field to false by default.  If we
11086         have multiple thread paths through a common joiner to different
11087         final targets, then set new field to true.
11088         (compute_path_counts): Only do count adjustment when it's really
11089         needed.
11090
11091 2016-01-12  Sandra Loosemore  <sandra@codesourcery.com>
11092
11093         * doc/invoke.texi (Spec Files): Move section down in file, past
11094         all command-line option descriptions.
11095
11096 2016-01-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
11097
11098         PR middle-end/54809
11099         * doc/gty.texi: Remove documentation of mark_hook.
11100         * gengtype.c (struct write_types_data): Remove code to support
11101         mark_hook attribute.
11102         (walk_type): Likewise.
11103         (write_func_for_structure): Likewise.
11104
11105 2016-01-12  Sandra Loosemore  <sandra@codesourcery.com>
11106
11107         * doc/invoke.texi (Option Summary) Move -no-canonical-prefixes to
11108         Directory Options, and -specs= to Overall Options.
11109         (Overall Options): Adjust similarly.  Reorder to group related
11110         options together.  Make -specs= cross-reference the spec file details.
11111         (Directory Options): Adjust similarly.
11112
11113 2016-01-12  Jeff Law  <law@redhat.com>
11114
11115         * tree-ssa-threadupdate.c: Various whitespace and typo fixes.
11116
11117 2016-01-12  Olivier Hainque  <hainque@adacore.com>
11118
11119         * gcc.c (spec_undefvar_allowed): New global.
11120         (process_command): Set to true when running for --version or --help,
11121         alone or together.
11122         (getenv_spec_function): When the variable is not defined, use the
11123         variable name as the variable value if we're allowed not to issue
11124         a fatal error.
11125
11126 2016-01-12  Bin Cheng  <bin.cheng@arm.com>
11127
11128         PR tree-optimization/68911
11129         * tree-vrp.c (adjust_range_with_scev): Check overflow in range
11130         information computed for expression "init + nit * step".
11131
11132 2016-01-12  Sandra Loosemore  <sandra@codesourcery.com>
11133
11134         * doc/invoke.texi (Invoking GCC): Copy-edit.  Incorporate information
11135         about name of GCC executable.  Remove deleted node from menu.
11136         (Directory Options) <-B>: Remove cross-reference to deleted node.
11137         (Target Options): Delete section.
11138
11139 2016-01-12  Christian Bruel  <christian.bruel@st.com>
11140
11141         PR target/69180
11142         * config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL
11143         for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX.
11144
11145 2016-01-12  Jakub Jelinek  <jakub@redhat.com>
11146
11147         PR target/69198
11148         * config/i386/i386.c (ix86_expand_special_args_builtin): Ensure
11149         aligned_mem is properly set for AVX512-VL floating point masked
11150         stores.
11151
11152         PR target/69175
11153         * ifcvt.c (cond_exec_process_if_block): When removing the last
11154         insn from then_bb, remove also any possible barriers that follow it.
11155
11156 2016-01-12  H.J. Lu  <hongjiu.lu@intel.com>
11157
11158         PR target/68456
11159         PR target/69226
11160         * config/i386/iamcu.h (SIZE_TYPE): New macro.
11161         (PTRDIFF_TYPE): Likewise.
11162         (WCHAR_TYPE): Likewise.
11163         (WCHAR_TYPE_SIZE): Likewise.
11164         (STDINT_LONG32): Likewise.
11165
11166 2016-01-12  Richard Biener  <rguenther@suse.de>
11167
11168         PR tree-optimization/69053
11169         * tree-vect-loop.c (get_initial_def_for_reduction): Properly
11170         convert initial value for cond reductions.
11171
11172 2016-01-12  Richard Biener  <rguenther@suse.de>
11173
11174         PR tree-optimization/69007
11175         * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move
11176         widen_sum after dot_prod and sad.
11177
11178 2016-01-12  Richard Biener  <rguenther@suse.de>
11179
11180         PR tree-optimization/69168
11181         * tree-vect-loop.c (vect_analyze_loop_2): Reset both main and
11182         pattern stmt SLP type.
11183         * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may
11184         end up unused so cope with that case.
11185
11186 2016-01-12  Richard Biener  <rguenther@suse.de>
11187
11188         PR tree-optimization/69157
11189         * tree-vect-stmts.c (vectorizable_mask_load_store): Check
11190         stmts def type only during analyze phase.
11191         (vectorizable_call): Likewise.
11192         (vectorizable_simd_clone_call): Likewise.
11193         (vectorizable_conversion): Likewise.
11194         (vectorizable_assignment): Likewise.
11195         (vectorizable_shift): Likewise.
11196         (vectorizable_operation): Likewise.
11197         (vectorizable_store): Likewise.
11198         (vectorizable_load): Likewise.
11199
11200 2016-01-12  Richard Biener  <rguenther@suse.de>
11201
11202         PR tree-optimization/69174
11203         * tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical
11204         space.
11205         (vectorizable_load): Properly compute the number of loads needed
11206         for permuted strided SLP loads and do not spuriously assign
11207         to SLP_TREE_VEC_STMTS.
11208
11209 2016-01-12  Andris Pavenis  <andris.pavenis@iki.fi>
11210
11211         * config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2
11212         (TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive
11213         (MD_EXEC_PREFIX): Remove.
11214         (MD_STARTFILE_PREFIX) Removee.
11215         (FILE_NAME_ABSOLUTE_P): Remove.
11216         (CPP_SPEC): Do not read macros from sys/version.h.
11217         (LINK_COMMAND_SPEC): Remove.
11218         (LOCAL_INCLUDE_DIR): Remove.
11219         (TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section
11220         (TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix.
11221         (POST_LINK_SPEC): Define to invoke stubify after linker
11222         (LIBSTDCXX): Remove define
11223         (DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map.
11224         (DEFAULT_PCC_STRUCT_RETURN): Define to 1.
11225         (SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210.
11226         (SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message.
11227         (SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info.
11228         (IX86_MAYBE_NO_LIBGCC_TFMODE): Remove.
11229         (i386_djgpp_asm_named_section): Add propotype of new procedure
11230
11231         * config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define.
11232         (MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h).
11233         (STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX
11234         in config/i386/djgpp.h).
11235         (STANDARD_STARTFILE_PREFIX_2): Define identical to
11236         STANDARD_STARTFILE_PREFIX_1.
11237         (LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h).
11238         (GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal
11239         installation errors.
11240         (MAX_OFILE_ALIGNMENT): Define to 128.
11241         (HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h.
11242
11243         * config/i386/djgpp.c: New file. Add implementation of
11244         i386_djgpp_asm_named_section.
11245
11246         * config/i386/djgpp.opt: Remove obsolete option -mbnu210.
11247
11248         * config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS.
11249         Add rule for building djgpp.o.
11250
11251 2016-01-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
11252
11253         * config/rs6000/rs6000.c (v2df_reduction_p): New function.
11254         (rtx_is_swappable_p): Reductions are swappable.
11255         (insn_is_swappable_p): V2DF reductions are swappable.
11256
11257 2016-01-11  John David Anglin  <danglin@gcc.gnu.org>
11258
11259         * config/pa/pa.c (pa_emit_move_sequence): Handle floating point
11260         reloads for other unsupported memory operands.
11261
11262 2016-01-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
11263             Jim Wilson  <jim.wilson@linaro.org>
11264
11265         PR target/69194
11266         * config/arm/arm-builtins.c (arm_expand_neon_args): Call
11267         copy_to_mode_reg instead of force_reg.
11268
11269 2016-01-11  H.J. Lu  <hongjiu.lu@intel.com>
11270
11271         PR target/69225
11272         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if
11273         TARGET_80387 is true.
11274
11275 2016-01-11  Jakub Jelinek  <jakub@redhat.com>
11276
11277         PR target/69071
11278         * lra-eliminations.c (move_plus_up): Only move plus up
11279         if subreg of the constant can be simplified into constant
11280         and use the simplified subreg of the constant instead of
11281         the original constant.
11282
11283         * fold-const.c (fold_convertible_p): Don't return true
11284         for conversion of VECTOR_TYPE to same sized integral type.
11285         (fold_convert_loc): Fix up formatting.  Fold conversion of
11286         VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR
11287         instead of NOP_EXPR.
11288
11289         PR tree-optimization/69214
11290         * tree-vrp.c (simplify_cond_using_ranges): Don't propagate
11291         innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
11292         Formatting fix.
11293
11294         PR tree-optimization/69207
11295         * tree-vect-slp.c (vect_get_constant_vectors): For
11296         VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of
11297         fold_convertible_p to vector_type's element type, and always
11298         use VCE for non-VECTOR_BOOLEAN_TYPE_P.
11299
11300 2016-01-11  Richard Biener  <rguenther@suse.de>
11301
11302         PR tree-optimization/69173
11303         * tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Only
11304         fixup the cycle if all stmts are in a pattern.
11305
11306 2016-01-11  Uros Bizjak  <ubizjak@gmail.com>
11307
11308         PR middle-end/68999
11309         * alias.c (base_alias_check): Move check for addresses with
11310         alignment ANDs before the call for compare_base_decls.
11311         (memrefs_conflict_p): Return -1 for different decls
11312         that went through alignment adjustments.
11313
11314 2016-01-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
11315
11316         PR rtl-optimization/68796
11317         * config/aarch64/aarch64.md (*and<mode>_compare0): New pattern.
11318         * config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode
11319         and QImode comparisons against zero with CC_NZmode.
11320         * config/aarch64/iterators.md (short_mask): New mode_attr.
11321
11322 2016-01-11  H.J. Lu  <hongjiu.lu@intel.com>
11323
11324         * config/i386/sse.md (<avx512>_load<mode>_mask): Remove snprintf.
11325         (<avx512>_store<mode>_mask): Likewise.
11326
11327 2016-01-11  Bernd Schmidt  <bschmidt@redhat.com>
11328             Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
11329
11330         PR rtl-optimization/68841
11331         * ifcvt.c (struct noce_if_info): Add orig_x field.
11332         (bbs_ok_for_cmove_arith): Add to_rename parameter.
11333         Don't record conflicts on to_rename if it's present.
11334         Allow memory destinations in sets.
11335         (noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple
11336         blocks, passing orig_x to the checks.
11337         (noce_process_if_block): Set if_info->orig_x appropriately.
11338
11339 2016-01-11  Tom de Vries  <tom@codesourcery.com>
11340
11341         PR tree-optimization/69069
11342         * tree-parloops.c (create_parallel_loop): Add missing phi args.
11343
11344 2016-01-11  Yuri Rumyantsev  <ysrumyan@gmail.com>
11345
11346         PR rtl-optimization/68920
11347         * config/i386/i386.c (ix86_option_override_internal): Restrict number
11348         of conditional moves for  RTL if-conversion to 1 for
11349         TARGET_ONE_IF_CONV_INSN.
11350         * config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros.
11351         * config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros.
11352         * params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new
11353         parameter to restirct number of conditional moves for
11354         RTL if-conversion.
11355         * doc/invoke.texi (max-rtl-if-conversion-insns): Document it.
11356         * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of
11357         conditionl moves.
11358
11359 2016-01-11  Alexandre Oliva  <aoliva@redhat.com>
11360
11361         PR bootstrap/69123
11362         * var-tracking.c (drop_overlapping_mem_locs): Operate on all
11363         onepart vars.  Fix typo in comment.  Fix reversed condition in
11364         unshare test.
11365         (dataflow_set_remove_mem_locs): Operate on all onepart vars.
11366
11367         PR bootstrap/69123
11368         * var-tracking.c (dump_onepart_variable_differences): New.
11369         (dataflow_set_different): If a detailed dump is requested,
11370         delay early returns and dump differences between onepart
11371         variables present before and after, and added variables.
11372
11373 2016-01-11  Ilya Enkovich  <enkovich.gnu@gmail.com>
11374
11375         PR target/69010
11376         * expr.c (expand_expr_real_1): For boolean vector constants
11377         with a scalar mode use const_scalar_mask_from_tree.
11378         (const_scalar_mask_from_tree): New.
11379         * optabs.c (expand_vec_cond_mask_expr): Use mask mode
11380         assigned to a mask type to handle constants.
11381
11382 2016-01-11  Martin Jambor  <mjambor@suse.cz>
11383
11384         PR ipa/69044
11385         * ipa-cp.c (estimate_local_effects): Do not clone for removal of
11386         useless parameters if we cannot change function signature.
11387
11388 2016-01-11  Martin Jambor  <mjambor@suse.cz>
11389
11390         PR ipa/66616
11391         * cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
11392         flag.
11393
11394 2016-01-11  Tom de Vries  <tom@codesourcery.com>
11395
11396         PR tree-optimization/69109
11397         * tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow
11398         latch with phi.
11399
11400 2016-01-11  Tom de Vries  <tom@codesourcery.com>
11401
11402         PR tree-optimization/69108
11403         * tree-parloops.c (gather_scalar_reductions): Handle case that outer phi
11404         res is not used in a phi.
11405
11406 2016-01-11  Yury Gribov  <y.gribov@samsung.com>
11407
11408         PR 67425
11409         * common.opt (frandom-seed): Fix parameter name.
11410         * doc/invoke.texi (frandom-seed): Ditto and describe parameter.
11411
11412 2016-01-11  Tom de Vries  <tom@codesourcery.com>
11413
11414         PR tree-optimization/69058
11415         * tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp
11416         not supported.
11417
11418 2016-01-11  Andrew Burgess  <andrew.burgess@embecosm.com>
11419
11420         * config/arc/arc.opt (mdiv-rem): Add period to the end.
11421         (mcode-density): Likewise.
11422
11423 2016-01-10  Tom de Vries  <tom@codesourcery.com>
11424
11425         PR tree-optimization/69062
11426         * tree-parloops.c (loop_has_phi_with_address_arg): New function.
11427         (parallelize_loops): Don't paralelize loop that has phi with address
11428         arg.
11429
11430 2016-01-10  Tom de Vries  <tom@codesourcery.com>
11431
11432         PR tree-optimization/69039
11433         * tree-parloops.c (try_create_reduction_list): Only allow single exit
11434         phi for reduction.
11435
11436 2016-01-09  John David Anglin  <danglin@gcc.gnu.org>
11437
11438         PR middle-end/68743
11439         * match.pd: Require target has function_c99_misc before doing
11440         truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.
11441
11442 2016-01-09  Gerald Pfeifer  <gerald@pfeifer.com>
11443
11444         * configure.ac (isl_options_set_schedule_serialize_sccs): Also
11445         use GMPINC.
11446         * configure: Regenerate.
11447
11448 2016-01-09  Jakub Jelinek  <jakub@redhat.com>
11449
11450         PR middle-end/50865
11451         PR tree-optimization/69097
11452         * fold-const.h (expr_not_equal_to): New prototype.
11453         * fold-const.c: Include stringpool.h and tree-ssanames.h.
11454         (expr_not_equal_to): New function.
11455         * match.pd (X % -Y is the same as X % Y): Don't optimize
11456         unless X is known not to be equal to minimum or Y is known
11457         not to be equal to -1.
11458         * tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument.
11459         fold TRUNC_MOD_EXPR if the second argument is not a power of two.
11460         (simplify_stmt_using_ranges): Adjust caller.
11461         (vrp_finalize): Call set_value_range on SSA_NAMEs before calling
11462         substitute_and_fold.
11463
11464 2016-01-09  Jan Hubicka  <hubicka@ucw.cz>
11465
11466         * ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
11467         w/o DECL_NAME.
11468
11469 2016-01-08  Jakub Jelinek  <jakub@redhat.com>
11470
11471         PR tree-optimization/69167
11472         * gimple-fold.c (replace_stmt_with_simplification): Also punt if
11473         new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of
11474         ops[0] comparison.
11475         * gimple-match-head.c (maybe_push_res_to_seq): Likewise.
11476
11477 2016-01-08  Alan Lawrence  <alan.lawrence@arm.com>
11478             Richard Biener  <rguenther@suse.de>
11479
11480         PR tree-optimization/68707
11481         * tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP
11482         instances that can be handled via vect_load_lanes.
11483
11484 2016-01-08  Uros Bizjak  <ubizjak@gmail.com>
11485
11486         * symtab.c (symtab_node::equal_address_to): Return -1 instead of 2
11487         if we can't determine address equivalence.
11488         * alias.c (compare_base_decl): Update for changed return value of
11489         symtab_node::equal_address_to.
11490
11491 2016-01-08  Jason Merrill  <jason@redhat.com>
11492
11493         PR c++/68983
11494         PR c++/67557
11495         * function.c (assign_temp): Guard against TREE_ADDRESSABLE types here.
11496         * expr.c (store_field): Not here.
11497         * tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a
11498         call with TREE_ADDRESSABLE type.
11499         * tree-cfg.c (verify_gimple_call): Adjust.
11500
11501 2016-01-08  Olivier Hainque  <hainque@adacore.com>
11502
11503         * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
11504         libc_internal.
11505
11506 2016-01-08  Alan Lawrence  <alan.lawrence@arm.com>
11507
11508         * gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to...
11509         (reduc_smax_scal_v2sf): ...here, make result SFmode, extract element.
11510         (reduc_smin_v2sf): Rename to...
11511         (reduc_smin_scal_v2sf): ...here, make result SFmode, extract element.
11512         (reduc_splus_v2sf): Rename to...
11513         (reduc_plus_scal_v2sf): ...here, make result SFmode, extract element.
11514
11515 2016-01-08  Jakub Jelinek  <jakub@redhat.com>
11516
11517         PR tree-optimization/69162
11518         * gimplify.c (gimplify_va_arg_expr): Encode original type of
11519         valist argument in another argument.
11520         (gimplify_modify_expr): Adjust for the above change.  Cleanup.
11521         * tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument
11522         to determine the va_list type, build a MEM_REF instead of
11523         build_fold_indirect_ref.
11524
11525         PR tree-optimization/69172
11526         * gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to
11527         gimple_build.
11528
11529 2016-01-08  Thomas Preud'homme  <thomas.preudhomme@arm.com>
11530
11531         PR tree-optimization/67781
11532         * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
11533         and cmpnop in two steps: first the ones not accessed in original
11534         gimple expression in a endian independent way and then the ones not
11535         accessed in the final result in an endian-specific way.
11536
11537 2016-01-08  Jakub Jelinek  <jakub@redhat.com>
11538
11539         PR tree-optimization/69083
11540         * tree-vect-slp.c (vect_get_constant_vectors): For
11541         VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's
11542         element type.  If op is fold_convertible_p to vector_type's element
11543         type, use NOP_EXPR instead of VCE.
11544
11545 2016-01-08  Segher Boessenkool  <segher@kernel.crashing.org>
11546
11547         PR rtl-optimization/67778
11548         PR rtl-optimization/68634
11549         PR rtl-optimization/68909
11550         * shrink-wrap.c (try_shrink_wrapping): Add comment.  Don't pop
11551         block from the stack until done with it.  Remove a superfluous
11552         bitmap set.  Remove a superfluous bitmap test.
11553
11554 2016-01-07  Martin Sebor  <msebor@redhat.com>
11555
11556         PR c/68966
11557         * doc/extend.texi (__atomic Builtins, __sync Builtins): Document
11558         constraint on the type of arguments.
11559
11560 2016-01-07  Andreas Tobler  <andreast@gcc.gnu.org>
11561
11562         * config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to
11563         SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check
11564         unaligned_access on the gcc_options set.
11565         * config/arm/arm.c (arm_option_override_internal): Use
11566         SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.
11567
11568 2016-01-07  Uros Bizjak  <ubizjak@gmail.com>
11569
11570         PR target/69140
11571         * config/i386/i386.c (ix86_frame_pointer_required): Enable
11572         frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned.
11573
11574 2016-01-07  Uros Bizjak  <ubizjak@gmail.com>
11575
11576         Revert
11577         2016-01-06  Uros Bizjak  <ubizjak@gmail.com>
11578
11579         PR target/69140
11580         * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
11581         depending on frame_pointer_needed before remaining integer and SSE
11582         registers are saved.
11583
11584 2016-01-07  Sandra Loosemore  <sandra@codesourcery.com>
11585
11586         PR 1078
11587         * doc/extend.texi (Nvidia PDX Function Attributes): New section.
11588
11589 2016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
11590
11591         PR target/69171
11592         * config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
11593         Use the "xBm" constraint.
11594         (float<sseintvecmodelower><mode>2<mask_name><round_name):
11595         Likewise.
11596         (sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
11597         (sse_cvtsi2ssq<round_name>): Likewise.
11598         (sse_cvtss2si<round_name>): Likewise.
11599         (sse_cvtss2siq<round_name>): Likewise.
11600         (sse2_cvtsi2sdq<round_name>): Likewise.
11601         (sse2_cvtsd2si<round_name>): Likewise.
11602         (sse2_cvtsd2siq<round_name>): Likewise.
11603         * config/i386/subst.md (round_nimm_scalar_predicate): New
11604         predicate.
11605
11606 2015-12-15  Bernd Schmidt  <bschmidt@redhat.com>
11607
11608         PR middle-end/67639
11609         * varasm.c (make_decl_rtl): Mark invalid register vars as
11610         DECL_EXTERNAL.
11611
11612         PR rtl-optimization/66206
11613         * bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx.
11614         All callers changed.
11615
11616 2016-01-07  Jakub Jelinek  <jakub@redhat.com>
11617
11618         PR tree-optimization/69141
11619         * tree-ssa-pre.c: Include langhooks.h.
11620         (eliminate_dom_walker::before_dom_children): Use
11621         lang_hooks.decl_printable_name instead of
11622         cgraph_node::get ()->name ().
11623
11624         PR middle-end/68960
11625         * gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy
11626         it and DECL_ALIGN too.
11627
11628 2016-01-06  Robert Suchanek  <robert.suchanek@imgtec.com>
11629
11630         * config/mips/mips-ftypes.def: Sort to lexicographical order.
11631
11632 2016-01-06  Uros Bizjak  <ubizjak@gmail.com>
11633
11634         PR target/69140
11635         * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
11636         depending on frame_pointer_needed before remaining integer and SSE
11637         registers are saved.
11638
11639 2015-01-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
11640
11641         * config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M
11642         mode iterator with VSX_M2.
11643         (*p9_vecstore_<mode>): Likewise.
11644         (*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR.
11645         (*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise.
11646         (*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise.
11647         (define_split for VSX_LE128 stores): Likewise.
11648         (define_peephole2 for TImode LE swaps): Likewise.
11649         (define_split for VSX_LE128 post-reload stores): Likewise.
11650
11651 2016-01-06  Marek Polacek  <polacek@redhat.com>
11652
11653         PR sanitizer/69099
11654         * convert.c (convert_to_integer_1): Adjust call to
11655         ubsan_instrument_float_cast.  Use NULL_TREE instead of NULL.
11656         * ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter.  Use
11657         EXPR instead of ARG.
11658         * ubsan.h (ubsan_instrument_float_cast): Adjust declaration.
11659
11660 2016-01-05  Sandra Loosemore  <sandra@codesourcery.com>
11661
11662         PR 1078
11663         * doc/extend.texi (RL78 Variable Attributes): New section.
11664
11665 2016-01-05  Marek Polacek  <polacek@redhat.com>
11666
11667         PR c/69104
11668         * builtins.c (get_memmodel): Use expansion point location rather than
11669         the input location.  Call warning_at rather than warning.
11670         (expand_builtin_atomic_compare_exchange): Likewise.
11671         (expand_builtin_atomic_load): Likewise.
11672         (expand_builtin_atomic_store): Likewise.
11673         (expand_builtin_atomic_clear): Likewise.
11674
11675 2016-01-05  H.J. Lu  <hongjiu.lu@intel.com>
11676
11677         PR target/68991
11678         * config/i386/i386.c (ix86_expand_vector_logical_operator):
11679         Replace nonimmediate_operand with vector_operand.
11680         * config/i386/predicates.md (vector_operand): New predicate.
11681         (general_vector_operand): Replace nonimmediate_operand with
11682         vector_operand.
11683         * config/i386/sse.md: Replace nonimmediate_operand with
11684         vector_operand and m constraint with Bm constraint on SSE
11685         patterns with 16-byte memory operand.
11686         * config/i386/subst.md (round_nimm_predicate): Replace
11687         nonimmediate_operand with vector_operand.
11688         (round_saeonly_nimm_predicate): Likewise.
11689         (round_saeonly_nimm_scalar_predicate): New.
11690
11691 2016-01-05  H.J. Lu  <hongjiu.lu@intel.com>
11692
11693         PR target/68991
11694         * config/i386/constraints.md (Bm): New constraint.
11695         * config/i386/predicates.md (vector_memory_operand): New
11696         predicate.
11697         * config/i386/sse.md: Replace xm with xBm in plusminus and
11698         any_logic patterns.
11699
11700 2016-01-05  Sandra Loosemore  <sandra@codesourcery.com>
11701
11702         PR 1078
11703         * doc/extend.texi (V850 Function Attributes): New section.
11704         (V850 Variable Attributes): New section.
11705
11706 2016-01-05  Sandra Loosemore  <sandra@codesourcery.com>
11707
11708         PR 1078
11709         * doc/extend.texi (MicroBlaze Function Attributes): Document
11710         interrupt_handler and fast_interrupt attributes.
11711
11712 2016-01-05  Sergei Trofimovich  <siarheit@google.com>
11713
11714         PR other/60465
11715         * config/ia64/ia64.c (ia64_expand_load_address): Use gprel64
11716         for local symbolic operands.
11717         * config/ia64/predicates.md (local_symbolic_operand64): New
11718         predicate.
11719
11720 2016-01-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
11721
11722         PR rtl-optimization/68651
11723         * combine.c (combine_simplify_rtx): Canonicalize x + x into
11724         x << 1.
11725
11726 2016-01-05  Nathan Sidwell  <nathan@acm.org>
11727
11728         * alias.c (compare_base_decls): Use symtab_node::get.
11729
11730 2016-01-05  Nick Clifton  <nickc@redhat.com>
11731
11732         PR target/68770
11733         * ira-costs.c (copy_cost): Initialise the t_icode field of the
11734         secondary_reload_info structure.
11735
11736         PR target/66655
11737         * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak
11738         decls if weak support is available.
11739
11740 2016-01-04  Martin Sebor  <msebor@redhat.com>
11741
11742         * doc/invoke.texi (Warning Options): Document -Winvalid-memory-model.
11743
11744 2016-01-04  Michael Meissner  <meissner@linux.vnet.ibm.com>
11745
11746         * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
11747         OPTION_MASK_P9_DFORM.
11748
11749         * config/rs6000/constraints.md (wo constraint): New constraint for
11750         ISA 3.0 (power9).
11751
11752         * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
11753         for wo constraint.
11754         (rs6000_init_hard_regno_mode_ok): Likewise.
11755
11756         * config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
11757         wo constraint.
11758
11759         * config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm
11760         expanders not to have constraints.  Add support for ISA 3.0 xxperm
11761         instruction.  Add support for fusing xxlor with xxperm.
11762         (altivec_vperm_<mode>_internal): Likewise.
11763         (altivec_vperm_v8hiv16qi): Likewise.
11764         (altivec_vperm_<mode>v16q): Likewise.
11765         (altivec_vperm_<mode>_uns): Likewise.
11766         (vperm_v8hiv4si): Likewise.
11767         (vperm_v16qiv8hi): Likewise.
11768
11769         * doc/md.texi (RS/6000 constraints): Document wo constraint.
11770
11771 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
11772
11773         Update copyright years.
11774
11775         * gcc.c (process_command): Update copyright notice dates.
11776         * gcov-dump.c (print_version): Ditto.
11777         * gcov.c (print_version): Ditto.
11778         * gcov-tool.c (print_version): Ditto.
11779         * gengtype.c (create_file): Ditto.
11780         * doc/cpp.texi: Bump @copying's copyright year.
11781         * doc/cppinternals.texi: Ditto.
11782         * doc/gcc.texi: Ditto.
11783         * doc/gccint.texi: Ditto.
11784         * doc/gcov.texi: Ditto.
11785         * doc/install.texi: Ditto.
11786         * doc/invoke.texi: Ditto.
11787
11788 2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
11789
11790         * config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
11791         modes larger than TImode as TImode if NEON is not enabled.
11792
11793 2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
11794
11795         PR target/69100
11796         * config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
11797         mode for %f0-%f31 only if TARGET_FPU.
11798
11799 2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
11800
11801         PR target/69072
11802         * config/sparc/sparc.c (scan_record_type): Take into account subfields
11803         to compute the PACKED_P predicate.
11804         (function_arg_record_value): Minor tweaks.
11805
11806 2016-01-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
11807
11808         * doc/install.texi (--with-multilib-list): Describe the meaning of the
11809         option for arm*-*-* targets.
11810
11811 2016-01-03  Sandra Loosemore  <sandra@codesourcery.com>
11812
11813         * doc/extend.texi (Common Function Attributes): Move docs for
11814         MSP430-specific attributes to....
11815         (MSP430 Function Attributes): ...here.  Delete the redundant
11816         entries and copy-edit the remaining text.
11817         (MSP430 Variable Attributes): Use uniform format for index
11818         entries and add a cross-reference to the corresponding function
11819         attribute docs.
11820
11821 2016-01-03  Vladimír Čunát  <vcunat@gmail.com>
11822
11823         * doc/invoke.texi (RS/6000 and PowerPC Options): Fix
11824         -finite-math typo.
11825         (x86 Options): Likewise.
11826
11827 2016-01-01  Sandra Loosemore  <sandra@codesourcery.com>
11828
11829         PR 1078
11830
11831         * extend.texi (Common Function Attributes) <no_stack_limit>: New.
11832         * invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer
11833         to corresponding attribute.
11834
11835 2016-01-01  Sandra Loosemore  <sandra@codesourcery.com>
11836
11837         * doc/extend.texi (Common Function Attributes) <noplt>: Move
11838         to correct alphabetization of table.  Copy-edit and correct
11839         markup.
11840         <stack_protect>: Likewise.
11841         <target_clones>: Likewise.
11842         <simd>: Likewise.
11843         * doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>:
11844         Correct punctuation.
11845         (Code Gen Options) <-fno-plt>: Copy-edit.
11846
11847 2016-01-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
11848
11849         PR target/68917
11850         * config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of
11851         SI values.  Explicitly convert SI to DI and vice-versa.
11852
11853 2016-01-01  Jakub Jelinek  <jakub@redhat.com>
11854
11855         PR tree-optimization/69070
11856         * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test
11857         REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST.
11858
11859         PR sanitizer/69055
11860         * ubsan.c (ubsan_instrument_float_cast): Call
11861         initialize_sanitizer_builtins.
11862
11863         PR target/69015
11864         * ifcvt.c (find_cond_trap): Give up if returnjump_p (jump).
11865 \f
11866 Copyright (C) 2016 Free Software Foundation, Inc.
11867
11868 Copying and distribution of this file, with or without modification,
11869 are permitted in any medium without royalty provided the copyright
11870 notice and this notice are preserved.