[Hurd] Specs maintenance
[official-gcc.git] / gcc / ChangeLog
blob37e250412e673e44a49042e9e1d6f6657ae59279
1 2016-03-29  Thomas Schwinge  <thomas@codesourcery.com>
3         * config/gnu.h (CPP_SPEC, LIB_SPEC): Don't override.
4         * config/i386/gnu.h (STARTFILE_SPEC): Use gcrt1.o instead of
5         gcrt0.o if linking dynamically.
7 2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
9         PR ipa/70283
10         * ipa-devirt.c (methods_equal_p): New function.
11         (compare_virtual_tables): Use it.
12         * cgraph.h (symbol_table::symbol_suffix_separator): Declare.
13         * cgraphclones.c (clone_function_name_1): Use
14         symbol_table::symbol_suffix_separator.
15         * coverage.c (build_var): Likewise.
16         * symtab.c (symbol_table::symbol_suffix_separator): New.
18 2016-03-29  Jakub Jelinek  <jakub@redhat.com>
20         PR rtl-optimization/70429
21         * combine.c (simplify_shift_const_1): For ASHIFTRT don't optimize
22         (cst1 >> count) >> cst2 into (cst1 >> cst2) >> count if
23         mode != result_mode.
25         PR c++/70353
26         * tree-inline.c (remap_decls): Don't add_local_decl if
27         cfun is null.
29         PR tree-optimization/70405
30         * ssa-iterators.h (num_imm_uses): Add missing braces.
32 2016-03-29  Vladimir Makarov  <vmakarov@redhat.com>
34         PR rtl-optimization/68695
35         * ira-color.c (allocno_copy_cost_saving): New.
36         (improve_allocation): Use it.
38 2016-03-29  Richard Henderson  <rth@redhat.com>
40         PR middle-end/70355
41         * lower-subreg.c (simplify_subreg_concatn): Reject paradoxical
42         subregs.
44 2016-03-29  Richard Biener  <rguenther@suse.de>
46         PR middle-end/70424
47         * ipa-prop.c (ipa_compute_jump_functions_for_edge): Always
48         use alignment returned by get_pointer_alignment_1 if it is
49         bigger than BITS_PER_UNIT.
50         * builtins.c (get_pointer_alignment_1): Do not return true
51         for alignment extracted from SSA info.
53 2016-03-28  James Bowman  <james.bowman@ftdichip.com>
55         * config/ft32/ft32.opt (mnodiv): New.
56         * config/ft32/ft32.md (*divsi3, *modsi3): Qualify with
57         TARGET_NODIV.
58         * doc/invoke.texi (FT32 Options -mnodiv): New.
60 2016-03-28  Kirill Yukhin  <kirill.yukhin@intel.com>
62          PR target/70406
63          * config/i386/i386.md (define_split, andn): Fix modes.
65 2016-03-26  Richard Biener  <rguenther@suse.de>
66             Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
68         PR ipa/70366
69         * ipa-inline-transform.c (inline_call): Pass opts_for_fn (to->decl)
70         instead of
71         TREE_OPTIMIZATION (DECL_FUNCTION_SPECIFIC_OPTIMIZATION (to->decl))
72         as 2nd argument to cl_optimization_restore().
74 2016-03-25  Richard Henderson  <rth@redhat.com>
76         PR target/70120
77         * config/aarch64/aarch64.c (aarch64_asm_output_pool_epilogue): New.
78         * config/aarch64/aarch64-protos.h: Declare it.
79         * config/aarch64/aarch64.h (ASM_OUTPUT_POOL_EPILOGUE): New.
81 2016-03-25  Alan Modra  <amodra@gmail.com>
83         PR target/70052
84         * config/rs6000/constraints.md (j): Simplify.
85         * config/rs6000/predicates.md (easy_fp_constant): Exclude
86         decimal float 0.D.
87         * config/rs6000/rs6000.md (zero_fp): New mode_attr.
88         (mov<mode>_hardfloat, mov<mode>_hardfloat32, mov<mode>_hardfloat64,
89          mov<mode>_64bit_dm, mov<mode>_32bit): Use zero_fp in place of j
90         in all constraint alternatives.
91         (movtd_64bit_nodm): Delete "j" constraint alternative.
93 2016-03-24  Aldy Hernandez  <aldyh@redhat.com>
95         * tree-ssa-propagate.c: Enhance docs for
96         SSA_PROP_NOT_INTERESTING.
98 2016-03-24  Aldy Hernandez  <aldyh@redhat.com>
100         * doc/extend.texi: Fix typo in documentation to pure attribute.
102 2016-03-24  John David Anglin  <danglin@gcc.gnu.org>
104         PR target/70319
105         * config/pa/pa.md (bswapdi2): Use a scratch register.
107 2016-03-24  Richard Henderson  <rth@redhat.com>
109         PR middle-end/69845
110         * fold-const.c (extract_muldiv_1): Correct test for multiplication
111         overflow.
113 2016-03-24  Uros Bizjak  <ubizjak@gmail.com>
115         * config/i386/i386.md (*anddi3_doubleword): Generate AND insn
116         using ix86_expand_binary_operator instead of gen_andsi3.
118 2016-03-24  Richard Biener  <rguenther@suse.de>
120         PR tree-optimization/70396
121         * tree-vect-stmts.c (vectorizable_comparison): Use
122         get_vectype_for_scalar_type.
124 2016-03-24  Richard Biener  <rguenther@suse.de>
126         PR middle-end/70370
127         * gimplify.c (gimplify_asm_expr): Handle !allows_mem outputs
128         with register bases.
130 2016-03-24  Richard Biener  <rguenther@suse.de>
132         PR tree-optimization/70372
133         * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Use
134         build_all_ones_cst to also handle vector types correctly.
136 2016-03-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
138         PR target/70381
139         * config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Do not set
140         -mfloat128 here.
142 2016-03-23  Marek Polacek  <polacek@redhat.com>
144         PR c++/69884
145         * doc/invoke.texi: Document -Wignored-attributes.
147 2016-03-23  Bin Cheng  <bin.cheng@arm.com>
149         PR tree-optimization/69042
150         * params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND): Increase the
151         parameter from 30 to 40.
153 2016-03-23  Bin Cheng  <bin.cheng@arm.com>
155         PR tree-optimization/69042
156         * tree-ssa-loop-ivopts.c (add_iv_candidate_for_use): Add IV cand
157         for use with constant offset stripped in base.
159 2016-03-23  Richard Biener  <rguenther@suse.de>
161         PR middle-end/70251
162         * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Adjust
163         mode compatibility check.
164         (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
166 2016-03-23  Jeff Law  <law@redhat.com>
168         PR tree-optimization/64058
169         * tree-ssa-coalesce.c (struct coalesce_pair): Add new field
170         CONFLICT_COUNT.
171         (struct ssa_conflicts): Move up earlier in the file.
172         (conflicts_, var_map_): New static variables.
173         (initialize_conflict_count): New function to initialize the
174         CONFLICT_COUNT field for each conflict pair.
175         (compare_pairs): Lazily initialize the conflict count and use it
176         as the first tie-breaker.
177         (sort_coalesce_list): Add new arguments conflicts, map.  Initialize
178         and wipe conflicts_ and map_ around the call to qsort.  Remove
179         special case for 2 coalesce pairs.
180         * bitmap.c (bitmap_count_unique_bits): New function.
181         (bitmap_count_bits_in_word): New function, extracted from
182         bitmap_count_bits.
183         (bitmap_count_bits): Use bitmap_count_bits_in_word.
184         * bitmap.h (bitmap_count_unique_bits): Declare it.
186 2016-03-23  Ilya Enkovich  <enkovich.gnu@gmail.com>
188         PR target/69917
189         * config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Follow
190         transparent alias chain for decl assembler name.
191         * config/sol2.c (solaris_assemble_visibility): Likewise.
193 2016-03-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
195         * config/arm/arm1020e.md (1020call_op): Reduce reservation
196         duration.
197         (v10_fdivs): Likewise.
198         (v10_fdivd): Likewise.
200 2016-03-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
202         PR driver/70132
203         * config/arm/driver-arm.c (host_detect_local_cpu): Reorder exit logic
204         to not call fclose twice on file.
206 2016-03-23  Jakub Jelinek  <jakub@redhat.com>
208         PR tree-optimization/70354
209         * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
210         oprnd0 is wider than oprnd1 and there is a cast from the wider
211         type to oprnd1, mask it with the mask of the narrower type.
213         PR target/70321
214         * config/i386/i386.md (*anddi3_doubleword, *<code>di3_doubleword):
215         Optimize TARGET_STV splitters, if high or low word of last argument
216         is 0 or -1.
218 2016-03-22  Jeff Law  <law@redhat.com>
220         PR target/70232
221         tree-ssa-threadbackward.c
222         (fsm_find_control_statement_thread_paths): Correctly distinguish
223         between old style jump threads vs FSM jump threads.
225 2016-03-22  Ilya Enkovich  <enkovich.gnu@gmail.com>
227         PR target/70302
228         * config/i386/i386.c (scalar_chain::convert_op): Support
229         uninitialized register usage case.
231 2016-03-22  Richard Biener  <rguenther@suse.de>
233         PR middle-end/70251
234         * genmatch.c (gen_transform): Adjust last parameter to a three-state
235         int...
236         (capture::gen_transform): ... to change behavior when substituting
237         a condition into cond or not-cond expr context.
238         (dt_simplify::gen_1): Adjust.
239         * gimple-match-head.c: Include gimplify.h for unshare_expr.
240         * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Revert
241         last change and instead change to
242         A + (B vcmp C ? 1 : 0) -> A - (B vcmp C ? -1 : 0).
243         (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
245 2016-03-22  Anthony Green  <green@moxielogic.com>
247         * config/moxie/moxiebox.h (CC1_SPEC): Define.  Fix endianness
248         issue for moxiebox targets.
249         (CC1PLUS_SPEC): Ditto.
251 2016-03-22  Richard Biener  <rguenther@suse.de>
253         PR middle-end/70333
254         * fold-const.c (extract_muldiv_1): Properly perform multiplication
255         in the wide type.
257 2016-03-22  Kirill Yukhin  <kirill.yukhin@intel.com>
259         * config/i386/i386.c (def_builtin): Remove duplicated functionality.
261 2016-03-22  Kirill Yukhin  <kirill.yukhin@intel.com>
263         PR target/70325
264         * config/i386/i386.c (def_builtin): Handle
265         OPTION_MASK_ISA_AVX512VL to be and-ed with other
266         bits.
267         (const struct builtin_description bdesc_special_args[]):
268         Remove duplicate ISA bits.
270 2016-03-22  Jakub Jelinek  <jakub@redhat.com>
272         PR target/70329
273         * config/i386/i386.c (ix86_expand_vecop_qihi): Don't bother computing
274         d.perm[i] for i >= d.nelt.  If not full_interleave, compute d.perm[i]
275         in a way that works also for AVX512BW.
277         PR target/70300
278         * config/i386/i386.md (cvtsd2ss splitter): Unpack in destination
279         instead of source if operands[1] is xmm16 and above and
280         !TARGET_AVX512VL.  Use avx512f_vec_dupv16sf_1 instead of
281         vec_interleave_lowv4sf if we need to unpack xmm16 and above.
283         PR c++/70295
284         * gimplify.c (gimplify_modify_expr): Call gimple_set_no_warning
285         on assign if (*from_p) is a comparison, set it to
286         TREE_NO_WARNING (*from_p).
288 2016-03-21  Jakub Jelinek  <jakub@redhat.com>
290         PR middle-end/70326
291         * lra.c (restore_scratches): Ignore deleted insns.
293 2016-03-21  Marc Glisse  <marc.glisse@inria.fr>
294             Jakub Jelinek  <jakub@redhat.com>
296         PR tree-optimization/70317
297         * match.pd (cmp @0 @0): Pass @0 instead of TYPE_MODE (TREE_TYPE (@0))
298         to HONOR_NANS.
300 2016-03-21  Uros Bizjak  <ubizjak@gmail.com>
302         PR target/70327
303         * config/i386/i386.md (movxi): Use ix86_expand_vector_move instead
304         of ix86_expand_move.
305         (movoi): Ditto.
306         (movti): Use general_operand for operand 1 predicate.
308 2016-03-21  Martin Liska  <mliska@suse.cz>
310         * hsa-dump.c (dump_hsa_insn_1): dump default branch of SBR
311         insns.
312         (dump_hsa_symbol): Dump BRIG offset of hsa_symbols.
314 2016-03-21  Martin Liska  <mliska@suse.cz>
316         PR ipa/70306
317         * ipa-icf.c (sem_function::parse): Skip static
318         constructors and destructors.
320 2016-03-21  Jakub Jelinek  <jakub@redhat.com>
322         PR target/70296
323         * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If IDENT is
324         function-like macro, peek following token(s) if it is followed
325         by CPP_OPEN_PAREN token with optional padding in between, and
326         if not, don't treat it like a macro.
328 2016-03-21  Thomas Schwinge  <thomas@codesourcery.com>
329             Alexander Monakov  <amonakov@ispras.ru>
331         * config/nvptx/nvptx.c (nvptx_option_override): Don't emit sorry
332         for the stabs debug format.
334 2016-03-21  Richard Biener  <rguenther@suse.de>
336         PR tree-optimization/70310
337         * tree-vect-generic.c (expand_vector_condition): Fold the built
338         condition.
340 2016-03-21  Kirill Yukhin  <kirill.yukhin@intel.com>
342         PR target/70293
343         * config/i386/sse.md: (define_insn "*vec_dup<mode>"/AVX2):
344         Block third alternative for AVX-512VL target,
346 2016-03-21  Martin Liska  <mliska@suse.cz>
348         PR hsa/70234
349         * hsa-brig.c (emit_function_directives): Mark unemitted
350         global variables for emission.
351         * hsa-gen.c (hsa_symbol::hsa_symbol): Initialize a new flag.
352         (get_symbol_for_decl): Likewise.
353         * hsa.h (struct hsa_symbol): New flag.
355 2016-03-21  Richard Biener  <rguenther@suse.de>
357         PR tree-optimization/70288
358         * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Make sure
359         we do not estimate unsimplified all-constant conditionals or
360         switches as optimized away.
362 2016-03-21  Andrey Belevantsev  <abel@ispras.ru>
364         PR rtl-optimization/69102
365         * sched-deps.c (sched_analyze_insn): Do not set last_args_size field
366         when we have a readonly dependency context.
368 2016-03-18  Jeff Law  <law@redhat.com>
370         PR rtl-optimization/70263
371         * ira.c (memref_used_between_p): Assert we found END in the insn chain.
372         (update_equiv_regs): When trying to move a store to after the insn
373         that sets the source of the store, make sure the store occurs after
374         the insn that sets the source of the store.  When successful note
375         the REG_EQUIV note created in the dump file.
377 2016-03-16  David Wohlferd  <dw@LimeGreenSocks.com>
378             Bernd Schmidt  <bschmidt@redhat.com>
380         * doc/extend.texi: Document more potential problems with basic asms.
382 2016-03-18  Bernd Schmidt  <bschmidt@redhat.com>
384         PR rtl-optimization/70278
385         * lra-constraints.c (split_reg): Handle the case where biggest_mode is
386         VOIDmode.
388 2016-03-18  Jason Merrill  <jason@redhat.com>
390         * calls.c (load_register_parameters): Fix zero size sibcall logic.
392 2016-03-18  Kirill Yukhin  <kirill.yukhin@intel.com>
394         * config/i386/sse.md: Use vpbroadcastq for broadcasting DF
395         values to 128b regs.
397 2016-03-18  Ilya Enkovich  <enkovich.gnu@gmail.com>
399         PR tree-optimization/70252
400         * tree-vect-stmts.c (supportable_widening_operation): Check resulting
401         boolean vector has a proper number of elements.
402         (supportable_narrowing_operation): Likewise.
404 2016-03-18  Tom de Vries  <tom@codesourcery.com>
406         PR ipa/70269
407         * cgraph.c (cgraph_node::get_body): Set dump_file to NULL after save.
409 2016-03-18  Jakub Jelinek  <jakub@redhat.com>
411         * reload1.c (emit_input_reload_insns): Use simplify_replace_rtx
412         instead of replace_rtx for DEBUG_INSNs.
414 2016-03-18  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
416         * config/i386/znver1.md : Fix latencies of FP/SSE/AVX
417         load type reservations.
419 2016-03-17  John David Anglin  <danglin@gcc.gnu.org>
421         PR target/70188
422         * config/pa/constraints.md: Revert 2015-02-13 change.  Use
423         define_constraint for "Q" and "T" constraints.
425 2016-03-17  Evandro Menezes  <e.menezes@samsung.com>
427         Tweak the pipeline model for Exynos M1
429         * config/aarch64/aarch64.c (exynosm1_tunings):  Enable weak prefetching
430         model.
432 2016-03-17  David Malcolm  <dmalcolm@redhat.com>
434         PR c/70264
435         * diagnostic-show-locus.c (compatible_locations_p): Handle the case
436         where one or both locations aren't within a line_map.
438 2016-03-17  H.J. Lu  <hongjiu.lu@intel.com>
440         PR driver/70192
441         * opts.c (finish_options): Don't set flag_pie to the default if
442         -fpic, -fPIC, -fno-pic or -fno-PIC is used.  Set flag_pic to 0
443         if it is -1.
445 2016-03-17  Joern Rennecke  <joern.rennecke@embecosm.com>
447         * config/i386/i386.md (*movv4qicc_insn+1..36): Pass
448         true as ALL_REGS argument to replace_rtx.
450 2016-03-17  Richard Biener  <rguenther@suse.de>
452         PR debug/70271
453         * dwarf2out.c (dwarf2out_early_finish): Process deferred_asm_name
454         last.
456 2016-03-17  Jakub Jelinek  <jakub@redhat.com>
458         PR target/70245
459         * rtl.h (replace_rtx): Add ALL_REGS argument.
460         * rtlanal.c (replace_rtx): Likewise.  If true, use REGNO
461         equality and assert mode is the same, instead of just rtx pointer
462         equality.
463         * config/i386/i386.md (mov + arithmetics with load peephole): Pass
464         true as ALL_REGS argument to replace_rtx.
466 2016-03-17  Ilya Enkovich  <enkovich.gnu@gmail.com>
468         * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Apply
469         for boolean vector with vector mode only.
470         (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
472 2016-03-17  Nick Clifton  <nickc@redhat.com>
474         PR target/70162
475         * config/rx/rx.c (rx_print_integer): Print negative constants in
476         decimal.
478 2016-03-17  Jakub Jelinek  <jakub@redhat.com>
480         PR target/70261
481         * rtlanal.c (replace_rtx): Revert 2016-03-16 change.
483 2016-03-16  Richard Henderson  <rth@redhat.com>
484             Richard Biener  <rguenth@suse.de>
486         PR middle-end/70240
487         PR middle-end/68215
488         PR tree-opt/68714
489         * gimplify.c (gimplify_expr) [VEC_COND_EXPR]: Gimplify the
490         first operand as is_gimple_condexpr.
492         PR middle-end/70240
493         PR middle-end/68215
494         Revert r231575
495         2015-12-11  Eric Botcazou  <ebotcazou@adacore.com>
496         * tree-vect-generic.c (tree_vec_extract): Remove GSI parameter.
497         Do not gimplify the result.
498         (do_unop): Adjust call to tree_vec_extract.
499         (do_binop): Likewise.
500         (do_compare): Likewise.
501         (do_plus_minus): Likewise.
502         (do_negate): Likewise.
503         (expand_vector_condition): Likewise.
504         (do_cond): Likewise.
506 2016-03-16  Richard Henderson  <rth@redhat.com>
508         PR target/70048
509         * config/aarch64/aarch64.c (virt_or_elim_regno_p): New.
510         (aarch64_classify_address): Use it.
511         (aarch64_legitimize_address): Force all subexpressions of PLUS
512         into registers.  Simplify as (sfp+const)+reg or (reg+reg)+const.
514 2016-03-16  Jakub Jelinek  <jakub@redhat.com>
515             Richard Biener  <rguenth@suse.de>
517         PR target/70245
518         * rtlanal.c (replace_rtx): For REG, if from is a REG,
519         return to even if only REGNO is equal, and assert
520         mode is the same.
522 2016-03-11  Jeff Law  <law@redhat.com>
524         PR rtl-optimization/70224
525         * reorg.c (relax_delay_slots): Pass right argument to CROSSING_JUMP_P.
527 2016-03-16  Richard Henderson  <rth@redhat.com>
529         PR middle-end/70199
530         * function.h (struct function): Add has_forced_label_in_static.
531         * gimplify.c (force_labels_r): Set it.
532         * lto-streamer-in.c (input_struct_function_base): Read it.
533         * lto-streamer-out.c (output_struct_function_base): Write it.
534         * tree-inline.c (has_label_address_in_static_1): Remove.
535         (copy_forbidden): Remove fndecl parameter; test
536         has_forced_label_in_static.
537         (inline_forbidden_p): Update call to copy_forbidden.
538         (tree_versionable_function_p): Likewise.
539         * ipa-chkp.c (chkp_instrumentable_p): Likewise.
540         (chkp_versioning): Likewise.
541         * tree-inline.h (copy_forbidden): Update decl.
543 2016-03-16  Marek Polacek  <polacek@redhat.com>
545         PR c/70093
546         * cgraphunit.c (cgraph_node::expand_thunk): Also build call to the
547         function being thunked if the result type doesn't have fixed size.
548         * gimplify.c (gimplify_modify_expr): Also set LHS if the result type
549         doesn't have fixed size.
551 2016-03-16  Bin Cheng  <bin.cheng@arm.com>
553         * tree-vect-loop.c (vect_analyze_loop_2): Fix wrong dump info by
554         reporting malformed loop nest.
556 2016-03-16  Tom de Vries  <tom@codesourcery.com>
558         PR lto/70187
559         * ipa-devirt.c (possible_polymorphic_call_targets): Move
560         nodes.length () == 1 test to before first nodes[0] access.
562 2016-03-16  Tom de Vries  <tom@codesourcery.com>
564         PR tree-optimization/68715
565         * graphite-scop-detection.c (scop_detection::merge_sese): Add missing
566         single_pred_p test.
568 2016-03-16  Tom de Vries  <tom@codesourcery.com>
570         PR tree-optimization/68809
571         * graphite-scop-detection.c (same_close_phi_node): Test if result types
572         are the same.
574 2016-03-16  Carlos O'Donell  <carlos@redhat.com>
575             Sandra Loosemore  <sandra@codesourcery.com>
577         * doc/extend.texi (Common Function Attributes): Describe ifunc impact
578         on leaf attribute. Mention ELF interposition problems.
580 2016-03-16  Alan Modra  <amodra@gmail.com>
582         PR rtl-optimization/69195
583         PR rtl-optimization/47992
584         * ira.c (indirect_jump_optimize): Ignore artificial defs.
585         Add comments.
587 2016-03-15  Eric Botcazou  <ebotcazou@adacore.com>
589         PR bootstrap/69513
590         * dwarf2out.c (flush_limbo_die_list): Really flush the limbo list.
592 2016-03-15  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
594         * config/avr/avr.md (rotl<mode>3): Set mode for operand 2.
596 2016-03-15  Jakub Jelinek  <jakub@redhat.com>
598         PR rtl-optimization/70222
599         * combine.c (simplify_shift_const_1): For A >> B >> C LSHIFTRT
600         optimization if mode is different from result_mode, queue up masking
601         of the result in outer_op.  Formatting fix.
603         PR middle-end/70239
604         * tree-ssa-sccvn.c (VN_INFO_GET): Use safe_grow_cleared instead
605         of safe_grow.
607 2016-03-15  Andrey Belevantsev  <abel@ispras.ru>
609         PR rtl-optimization/69032
610         * sel-sched-ir.c (get_seqno_by_preds): Include both insn and head when
611         looping backwards over basic block insns.
613 2016-03-15  Andrey Belevantsev  <abel@ispras.ru>
615         PR target/66660
616         * sel-sched-ir.c (merge_expr): Avoid changing the speculative pattern
617         to non-speculative when propagating trap bits.
619 2016-03-15  Andrey Belevantsev  <abel@ispras.ru>
621         PR rtl-optimization/63384
622         * sel-sched.c (invoke_aftermath_hooks): Do not decrease issue_more on
623         DEBUG_INSN_P insns.
625 2016-03-15  Andrey Belevantsev  <abel@ispras.ru>
627         PR target/64411
628         * sched-deps.c (get_implicit_reg_pending_clobbers): New function,
629         factored out from ...
630         (sched_analyze_insn): ... here.
631         * sched-int.h (get_implicit_reg_pending_clobbers): Declare it.
632         * sel-sched-ir.c (setup_id_implicit_regs): New function, use
633         get_implicit_reg_pending_clobbers in it.
634         (setup_id_reg_sets): Use setup_id_implicit_regs.
635         (deps_init_id): Ditto.
637 2016-03-15  Tom de Vries  <tom@codesourcery.com>
639         PR ipa/70161
640         * cgraph.c (cgraph_node::get_body): Save, reset and restore
641         dump_file_name.
642         * passes.c (execute_one_ipa_transform_pass): Add missing argument to
643         execute_function_dump.
644         (execute_one_pass): Don't dump function if it will be dumped after ipa
645         transform.
647 2016-03-15  Segher Boessenkool  <segher@kernel.crashing.org>
649         * genrecog.c (match_pattern_2): If pred is NULL don't call
650         safe_predicate_mode on it.
652 2016-03-14  Jakub Jelinek  <jakub@redhat.com>
654         PR middle-end/70219
655         * lra-constraints.c (delete_move_and_clobber): Change assertion
656         to also allow dregno == 0.
658 2016-03-14  Richard Henderson  <rth@redhat.com>
660         PR tree-opt/68714
661         * tree-ssa-reassoc.c (ovce_extract_ops, optimize_vec_cond_expr): New.
662         (can_reassociate_p): Allow ANY_INTEGRAL_TYPE_P.
663         (reassociate_bb): Use optimize_vec_cond_expr; avoid
664         optimize_range_tests, attempt_builtin_copysign and attempt_builtin_powi
665         on vectors.
667 2016-03-14  Bernd Schmidt  <bschmidt@redhat.com>
669         PR target/70083
670         * lra-lives.c (process_bb_lives): Also update biggest mode for hard
671         regs.
672         (lra_create_live_ranges_1): initialize hard register biggest_mode to
673         VOIDmode.
674         * lra-constraints.c (split_reg): For hard regs, try to find the
675         biggest single-register mode used in the function.
677 2016-03-14  Richard Biener  <rguenther@suse.de>
679         PR tree-optimization/56365
680         * tree-ssa-phiopt.c (minmax_replacement): Handle alternate
681         constants to compare against.
683 2016-03-14  Segher Boessenkool  <segher@kernel.crashing.org>
685         PR target/70098
686         * config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2,
687         *ctr<mode>_internal5, *ctr<mode>_internal6): Also allow "d" as output.
688         (define_split for the GPR case): Use int_reg_operand instead of
689         gpc_reg_operand for the output.
691 2016-03-14  Tom de Vries  <tom@codesourcery.com>
693         PR tree-optimization/70045
694         * graphite-isl-ast-to-gimple.c (graphite_create_new_loop_guard): Unshare
695         create_empty_if_region_on_edge argument.
697 2016-03-13  Eric Botcazou  <ebotcazou@adacore.com>
699         * config/arm/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Define.
700         (STACK_CHECK_PROTECT): Likewise.
701         * config/i386/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise
702         (STACK_CHECK_PROTECT): Likewise.
703         * config/rs6000/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise
704         (STACK_CHECK_PROTECT): Likewise.
705         * config/rs6000/vxworksae.h (STACK_CHECK_PROTECT): Likewise.
706         * config/sparc/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
707         (STACK_CHECK_PROTECT): Likewise.
709 2016-03-12  Andrey Belevantsev  <abel@ispras.ru>
711         PR rtl-optimization/69307
712         * sel-sched.c (choose_best_pseudo_reg): Properly check for hard
713         registers in modes that span more than one register.
715 2016-03-12  Vladimir Makarov  <vmakarov@redhat.com>
717         PR target/69614
718         * lra-constraints.c (delete_move_and_clobber): New.
719         (remove_inheritance_pseudos): Use it.
721 2016-03-12  Eric Botcazou  <ebotcazou@adacore.com>
723         PR ada/70017
724         * calls.c (emit_library_call_value_1): Clear the ECF_NOTHROW flag if
725         the libcall is LCT_THROW.
726         * explow.c (probe_stack_range): Pass LCT_THROW to emit_library_call
727         for the checking routine.
729 2016-03-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
731         PR target/70131
732         * config/rs6000/rs6000.md (round32<mode>2_fprs): Do not do the
733         optimization if we have direct move.
734         (roundu32<mode>2_fprs): Likewise.
736 2016-03-11  Bernd Schmidt  <bschmidt@redhat.com>
738         PR target/70123
739         * lra-remat.c (operand_to_remat): Disallow hard regs in the value t
740         be rematerialized.
741         (reg_overlap_for_remat_p): Renamed from input_regno_present_p.
742         Arguments swapped.  All callers changed.  Take reg_renumber into
743         account, and Calculate and compare register ranges for hard regs.
745 2016-03-11  Jeff Law  <law@redhat.com>
747         PR tree-optimization/70190
748         * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
749         Handle cases where we can not extract the taken edge, even though we
750         found a constant value.
752         PR tree-optimization/64058
753         * tree-ssa-coalesce.c (struct coalesce_pair): Add new field INDEX.
754         (num_coalesce_pairs): Move up earlier in file.
755         (find_coalesce_pair): Initialize the INDEX field for each pair
756         discovered.
757         (compare_pairs): No longer sort on the elements in each pair.
758         Instead break ties with the index of the coalesce pair.
760 2016-03-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
762         PR target/70002
763         * config/aarch64/aarch64-protos.h
764         (aarch64_save_restore_target_globals): New prototype.
765         * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse):
766         Call the above when popping pragma.
767         * config/aarch64/aarch64.c (aarch64_save_restore_target_globals):
768         New function.
769         (aarch64_set_current_function): Rewrite using the above.
771 2016-03-11  Jakub Jelinek  <jakub@redhat.com>
773         PR tree-optimization/70177
774         * gimple-expr.h (extract_ops_from_tree_1): Renamed to ...
775         (extract_ops_from_tree): ... this.  In the 2 argument
776         overload remove _1 suffix.
777         * gimple-expr.c (extract_ops_from_tree_1): Renamed to ...
778         (extract_ops_from_tree): ... this.
779         * gimple.c (gimple_build_assign, gimple_assign_set_rhs_from_tree):
780         Adjust callers.
781         * tree-ssa-loop-niter.c (derive_constant_upper_bound): Likewise.
782         * tree-ssa-forwprop.c (defcodefor_name): Call 3 operand
783         extract_ops_from_tree instead of 2 operand one.
785 2016-03-11  Alan Lawrence  <alan.lawrence@arm.com>
787         PR tree-optimization/70013
788         * tree-sra.c (analyze_access_subtree): Also set grp_unscalarized_data
789         for constant-pool entries.
791 2016-03-11  Jakub Jelinek  <jakub@redhat.com>
793         PR rtl-optimization/70174
794         * expmed.c (store_bit_field_using_insv): Use gen_lowpart_if_possible
795         followed by gen_lowpart on force_reg instead of just gen_lowpart.
797         PR tree-optimization/70169
798         * tree-ssa-loop.c (gen_lsm_tmp_name): Handle FUNCTION_DECL and
799         LABEL_DECL like VAR_DECL.  Emit nothing instead of gcc_unreachable
800         for unknown codes.
802 2016-03-11  Ilya Enkovich  <enkovich.gnu@gmail.com>
803             Jakub Jelinek  <jakub@redhat.com>
805         PR target/70160
806         * config/i386/i386.c (scalar_chain::convert_reg): Skip uses
807         of uninitialized values.
809 2016-03-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
811         * config/s390/s390.md ("trunctddd2"): Turn former define_insn into
812         define_expand.
813         ("*trunctddd2"): New pattern definition.
814         ("trunctdsd2"): Set prep_for_short_prec rounding mode for the
815         TD->DD truncation.
817 2016-03-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
819         * config/s390/s390.md (BFP_RND_*, DFP_RND_*): Add new constant
820         definitions for BFP and DFP rounding modes.
821         ("fixuns_truncdddi2", "fixuns_trunctddi2")
822         ("fixuns_trunc<BFP:mode><GPR:mode>2", "fixuns_trunc<mode>si2")
823         ("fix_trunc<DSF:mode><GPR:mode>2", "fix_trunc<mode>di2")
824         ("fix_trunctf<mode>2"): Use the new constants instead of magic
825         numbers.
827 2016-03-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
829         * config/s390/constraints.md: Adjust comment.
830         ("Y"): Adjust comment.  Rename s390_decompose_shift_count to
831         s390_decompose_addrstyle_without_index.
832         * config/s390/predicates.md (shift_count_or_setmem_operand):
833         Rename to setmem_operand.
834         * config/s390/s390-protos.h
835         (s390_decompose_shift_count): Rename to
836         s390_decompose_addrstyle_without_index.
837         * config/s390/s390.c (s390_decompose_shift_count)
838         (s390_mem_constraint, print_shift_count_operand)
839         (print_operand_address, print_operand): Rename
840         s390_decompose_shift_count to
841         s390_decompose_addrstyle_without_index and rename
842         print_shift_count_operand to print_addrstyle_operand troughout the
843         file.
844         * config/s390/s390.md ("setmem_long_<P:mode>", "*setmem_long")
845         ("*setmem_long_and", "*setmem_long_31z", "*setmem_long_and_31z"):
846         Rename shift_count_or_setmem_operand to setmem_operand.
847         * config/s390/vx-builtins.md ("vec_insert<mode>")
848         ("vec_promote<mode>"): Replace shift_count_or_setmem_operand with
849         nonmemory_operand.
851 2016-03-10  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
853         PR target/70168
854         * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
855         Handle overlapping retval and newval.
857 2016-03-10  Nick Clifton  <nickc@redhat.com>
859         PR target/7044
860         * config/aarch64/aarch64.c
861         (aarch64_override_options_after_change_1): When forcing
862         flag_omit_frame_pointer to be true, use a special value that can
863         be detected if this function is called again, thus preventing
864         flag_omit_leaf_frame_pointer from being forced to be false.
866 2016-03-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
868         * common/config/aarch64/aarch64-common.c (aarch64_handle_option):
869         Set x_flag_omit_leaf_frame_pointer when handling
870         -momit-leaf-frame-pointer.
872 2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
874         PR lto/69589
875         * cgraph.c (cgraph_node::dump): Dump split_part and
876         indirect_call_target.
877         * cgraph.h (cgraph_node): Add indirect_call_target flag.
878         * ipa.c (has_addr_references_p): Cleanup.
879         (is_indirect_call_target_p): New.
880         (walk_polymorphic_call_targets): Do not mark virtuals that may be
881         called indirectly as local.
882         (symbol_table::remove_unreachable_nodes): Compute indirect_call_target.
884 2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
886         PR ipa/69630
887         * ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
888         on cxa_pure_virtual.
890 2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
892         PR lto/69589
893         * tree.c (free_lang_data_in_decl): Clear visibility of TYPE_DECL.
895 2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
897         PR lto/69589
898         * tree.c (need_assembler_name_p): Only record main variant type names.
900 2016-03-10  Christophe Lyon  <christophe.lyon@linaro.org>
902         PR target/70113.
903         * config/aarch64/aarch64.h (TARGET_FIX_ERR_A53_843419_DEFAULT):
904         Always define to 0 or 1.
905         (TARGET_FIX_ERR_A53_843419): New macro.
906         * config/aarch64/aarch64-elf-raw.h
907         (TARGET_FIX_ERR_A53_843419_DEFAULT): Update for above changes.
908         * config/aarch64/aarch64-linux.h: Likewise.
909         * config/aarch64/aarch64.c
910         (aarch64_override_options_after_change_1): Do not default
911         aarch64_nopcrelative_literal_loads to true if Cortex-A53 erratum
912         843419 is on.
913         (aarch64_attributes): Handle fix-cortex-a53-843419.
914         (aarch64_can_inline_p): Likewise.
915         * config/aarch64/aarch64.opt (aarch64_fix_a53_err843419): Save.
917 2016-03-10  Alan Lawrence  <alan.lawrence@arm.com>
918         Jakub Jelinek <jakub@redhat.com>
920         * common.opt (funconstrained-commons, flag_unconstrained_commons): New.
921         * tree.c (array_at_struct_end_p): Do not limit to size of decl for
922         DECL_COMMONS if flag_unconstrained_commons is set.
923         * tree-dfa.c (get_ref_base_and_extent): Likewise.
924         * doc/invoke.texi (Optimize Options): Add -funconstrained-commons.
925         (funconstrained-commons): Document.
927 2016-03-10  Christophe Lyon  <christophe.lyon@linaro.org>
929         * config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add
930         aarch64-fusion-pairs.def and aarch64-tuning-flags.def
932 2016-03-10  Ilya Enkovich  <enkovich.gnu@gmail.com>
934         * tree-vect-stmts.c (vectorizable_mask_load_store): Check mask
935         has a proper number of elements.
937 2016-03-10  Alan Modra  <amodra@gmail.com>
939         PR rtl-optimization/69195
940         PR rtl-optimization/47992
941         * ira.c (recorded_label_ref): Delete.
942         (update_equiv_regs): Return void.
943         (indirect_jump_optimize): New function.
944         (ira): Call indirect_jump_optimize and delete_trivially_dead_insns
945         before regstat_compute_ri.  Don't rebuild_jump_labels here.
946         Delete update_regstat.
948 2016-03-10  Richard Biener  <rguenther@suse.de>
950         PR tree-optimization/70128
951         * tree-ssa-structalias.c (set_uids_in_ptset): Set
952         vars_contains_nonlocal for any FUNCTION_DECL or LABEL_DECL.
954 2016-03-09  Jakub Jelinek  <jakub@redhat.com>
956         PR tree-optimization/70152
957         * tree-sra.c (replace_removed_params_ssa_names): Copy over
958         SSA_NAME_OCCURS_IN_ABNORMAL_PHI from old_name to new_name.
960         PR target/70086
961         * config/i386/i386.md (truncdfsf2 splitter): Use gen_vec_concatv2df
962         instead of gen_sse2_loadlpd.
963         * config/i386/sse.md (*vec_concatv2df): Rename to...
964         (vec_concatv2df): ... this.
966         PR tree-optimization/70127
967         * fold-const.c (operand_equal_p): Revert the 2015-10-28 change.
969 2016-03-09  David Malcolm  <dmalcolm@redhat.com>
971         PR c/68473
972         PR c++/70105
973         * diagnostic-show-locus.c (compatible_locations_p): New function.
974         (layout::layout): Sanitize ranges using compatible_locations_p.
976 2016-03-09  David Malcolm  <dmalcolm@redhat.com>
978         PR c/68473
979         PR c++/70105
980         * diagnostic-show-locus.c (layout_range::layout_range): Replace
981         location_range param with three const expanded_locations * and a
982         bool.
983         (layout::layout): Replace call to
984         rich_location::lazily_expand_location with get_expanded_location.
985         Extract the range and perform location expansion here, passing
986         the results to the layout_range ctor.
987         * diagnostic.c (source_range::debug): Delete.
988         * diagnostic.h (diagnostic_expand_location): Reimplement in terms
989         of rich_location::get_expanded_location.
990         * gcc-rich-location.c (get_range_for_expr): Delete.
991         (gcc_rich_location::add_expr): Reimplement to avoid the
992         rich_location::add_range overload that took a location_range,
993         passing a location_t instead.
995 2016-03-09  Richard Biener  <rguenther@suse.de>
996         Jakub Jelinek  <jakub@redhat.com>
998         PR tree-optimization/70138
999         * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
1000         Also skip vect_double_reduction_def.
1002 2016-03-09  Jakub Jelinek  <jakub@redhat.com>
1004         PR target/70049
1005         * config/i386/sse.md (*vec_extract<mode>): Use %0 instead of %k0
1006         if the operand is "m".
1008 2016-03-09  Nathan Sidwell  <nathan@acm.org>
1010         * config/nvptx/nvptx.c (nvptx_option_override): Don't kill debug level.
1012 2016-03-09  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
1014         * config/i386/i386.c (processor_target_table): Fix cost table
1015         intialization order for znver1.
1017 2016-03-08  Jakub Jelinek  <jakub@redhat.com>
1019         * ipa-polymorphic-call.c (walk_ssa_copies): Fix spelling
1020         - becuase -> because.
1021         * ipa-reference.c (ignore_module_statics): Likewise.
1022         * cgraph.c (cgraph_node::get_body): Likewise.
1023         * ipa-inline.c (early_inliner): Likewise.
1024         * ipa-devirt.c (types_same_for_odr): Likewise.
1025         * tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise.
1026         * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Likewise.
1028 2016-03-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1030         * tree-ssa-math-opts.c: Fix typo in comment.
1032 2016-03-08  Jakub Jelinek  <jakub@redhat.com>
1034         PR target/70110
1035         * config/i386/i386.c (scalar_chain::make_vector_copies,
1036         scalar_chain::convert_reg): Call end_sequence in between
1037         get_insns and emit_conversion_insns rather than after both
1038         calls.
1040 2016-03-07  Uros Bizjak  <ubizjak@gmail.com>
1042         PR target/70064
1043         * config/i386/i386.h (machine_function): Add
1044         pc_thunk_call_expanded flag.
1045         (ix86_pc_thunk_call_expanded): New define.
1046         * config/i386/i386.md (set_got, set_got_labelled): New expanders.
1047         (*set_got): Rename insn pattern from set_got.
1048         (*set_got_labelled): Rename inst pattern from set_got_labelled.
1049         * config/i386/i386.c (ix86_compute_frame_layout): Use
1050         ix86_pc_thunk_call_expanded to prevent red-zone.
1052 2016-03-07  Martin Jambor  <mjambor@suse.cz>
1054         * hsa.h (hsa_get_ctor_statements): Declare.
1055         (hsa_get_dtor_statements): Likewise.
1056         (hsa_get_kernel_dispatch_type): Likewise.
1057         * hsa.c (hsa_get_ctor_statements): New function.
1058         (hsa_get_dtor_statements): Likewise.
1059         (hsa_get_kernel_dispatch_type): Likewise.
1060         * hsa-brig.c (hsa_cdtor_statements): Removed.
1061         (hsa_output_libgomp_mapping): Use hsa_get_ctor_statements and
1062         hsa_get_dtor_statements.
1063         * hsa-gen.c (hsa_kernel_dispatch_type): Removed.
1064         (get_hsa_kernel_dispatch_offset): Use hsa_get_kernel_dispatch_type.
1066 2016-03-07  Andre Vieira  <andre.simoesdiasvieira@arm.com>
1068         * config/arm/arm-cores.def (cortex-r8): New.
1069         * config/arm/arm-tables.opt (cortex-r8): Regenerate.
1070         * config/arm/arm-tune.md: Likewise.
1071         * gcc/doc/invoke.texi: Add cortex-r8 to list of cpu values.
1073 2016-03-07  Martin Sebor  <msebor@redhat.com>
1075         PR rtl-optimization/19705
1076         * doc/invoke.texi (Options That Control Optimization): Clarify
1077         -fno-branch-count-reg.
1079 2016-02-26  Richard Biener  <rguenther@suse.de>
1080             Jeff Law  <law@redhat.com>
1082         PR tree-optimization/69740
1083         * cfghooks.c (remove_edge): Request loop fixups if we delete
1084         an edge that might turn an irreducible loop into a natural
1085         loop.
1086         * cfgloop.h (check_verify_loop_structure): Clear LOOPS_NEED_FIXUP.
1087         Move after definition of loops_state_clear.
1089 2016-03-07  Bin Cheng  <bin.cheng@arm.com>
1091         PR rtl-optimization/69052
1092         * rtlanal.c (commutative_operand_precedence): Set higher precedence
1093         to CONST_WIDE_INT.
1095 2016-03-07  Tom de Vries  <tom@codesourcery.com>
1097         PR tree-optimization/70116
1098         * tree-ssa-tail-merge.c (merge_stmts_p): New function, handling
1099         is_tm_ending stmts and ubsan/asan internal functions.
1100         (find_duplicate): Use it.  Don't test is_tm_ending here.
1102 2016-03-07  Richard Biener  <rguenther@suse.de>
1104         PR tree-optimization/70115
1105         * tree-ssa-loop-ivcanon.c (propagate_into_all_uses): Remove.
1106         (propagate_constants_for_unrolling): Use replace_uses_by.
1108 2016-03-07  Nathan Sidwell  <nathan@codesourcery.com>
1110         PR middle-end/69916
1111         * omp-low.c (struct oacc_loop): Add ifns.
1112         (new_oacc_loop_raw): Initialize it.
1113         (finish_oacc_loop): Clear mask & flags if no ifns.
1114         (oacc_loop_discover_walk): Count IFN_GOACC_LOOP calls.
1115         (oacc_loop_xform_loop): Add ifns arg & adjust.
1116         (oacc_loop_process): Adjust oacc_loop_xform_loop call.
1118 2016-03-07  Richard Henderson  <rth@redhat.com>
1120         PR rtl-opt/70061
1121         * tree-outofssa.c (emit_partition_copy): Flush pending stack adjust.
1122         (insert_value_copy_on_edge): Likewise.
1124 2016-03-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1126         * config/arm/arm_neon.h: Show error if using with soft-float ABI.
1128 2016-03-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1130         PR target/62281
1131         * config/i386/sol2.h (STACK_REALIGN_DEFAULT): Define.
1133 2016-03-05  Venkataramanan Kumar  <Venkataramanan.kumar@amd.com>
1135         * config/i386/i386.c (znver1_cost): Fix Multiply cost.
1137 2016-03-05  Venkataramanan Kumar  <Venkataramanan.kumar@amd.com>
1139         Fix sseimul type attribute.
1140         * config/i386/znver1.md
1141         (znver1_sseimul, znver1_sseimul_avx256, znver1_sseimul_load,
1142         znver1_sseimul_avx256_load) : Fix the type attribute.
1143         (znver1_sseimul_di, znver1_sseimul_load_di): Fix type attribute,
1144         pipe usage and latency.
1146 2016-03-05  Jakub Jelinek  <jakub@redhat.com>
1148         PR c++/70084
1149         * tree-inline.c (copy_tree_body_r): When cancelling ADDR_EXPR
1150         of INDIRECT_REF and ADDR_EXPR changed type, fold_convert it
1151         to the right type.
1153 2016-03-04  Bernd Schmidt  <bschmidt@redhat.com>
1155         PR c/69973
1156         * targhooks.c (default_vector_alignment): Limit to MAX_OFILE_ALIGNMENT.
1158         PR rtl-optimization/69941
1159         * postreload.c (reload_combine_recognize_pattern): Ensure all uses of
1160         the reg share its mode.
1162 2016-03-04  Jeff Law  <law@redhat.com>
1164         PR tree-optimization/69196
1165         * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
1166         If the both SSA_NAMEs are anonymous, then consider them unassociated
1167         and include the PHI in the statement count.
1169 2016-03-05  Tom de Vries  <tom@codesourcery.com>
1171         * omp-low.c (check_omp_nesting_restrictions): Check for non-oacc
1172         construct in oacc routine.  Check for oacc region in oacc routine.
1174 2016-03-04  Jakub Jelinek  <jakub@redhat.com>
1176         PR target/70062
1177         * config/i386/i386.c (decide_alg): Add RECUR argument.  Revert
1178         2016-02-22 changes, instead don't recurse if RECUR is already true.
1179         Don't change *dynamic_check if RECUR.  Adjust recursive caller
1180         to pass true to the new argument.
1181         (ix86_expand_set_or_movmem): Adjust decide_alg caller.
1183         PR target/70059
1184         * config/i386/sse.md (vec_set_lo_<mode><mask_name>,
1185         <extract_type_2>_vinsert<shuffletype><extract_suf_2>_mask): Formatting
1186         fixes.
1187         (vec_set_hi_<mode><mask_name>): Likewise.  Swap VEC_CONCAT operands.
1189 2016-03-04  Bernd Schmidt  <bschmidt@redhat.com>
1191         PR rtl-optimization/57676
1192         * lra-assigns.c (lra_assign): Guard test for maximum iterations
1193         with flag_checking.
1195 2016-03-04  Ilya Enkovich  <enkovich.gnu@gmail.com>
1197         * tree-vect-patterns.c (search_type_for_mask): Handle
1198         comparison of booleans.
1200 2016-03-04  Jakub Jelinek  <jakub@redhat.com>
1202         * doc/extend.texi (__builtin_alloca, __builtin_alloca_with_align):
1203         Fix @xref usage.
1205         PR debug/69947
1206         * dwarf2out.c (prune_unused_types_walk_loc_descr): Handle
1207         all other ops that have dw_val_class_die_ref operands,
1208         and DW_OP_GNU_entry_value.
1210 2016-03-03  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1212         PR rtl-optimization/69904
1213         * config/arm/arm.c (arm_cannot_copy_insn_p):
1214         Return true for load-exclusive instructions.
1216 2016-03-03  Jakub Jelinek  <jakub@redhat.com>
1218         PR target/70021
1219         * tree-vect-stmts.c (vect_mark_relevant): Remove USED_IN_PATTERN
1220         argument, if STMT_VINFO_IN_PATTERN_P (stmt_info), always mark
1221         the pattern no matter if it is used just by non-pattern, pattern
1222         or mix thereof.
1223         (process_use, vect_mark_stmts_to_be_vectorized): Adjust callers.
1224         * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
1225         oprnd1 def_stmt is in pattern, don't look through it.
1227 2016-03-03  Marek Polacek  <polacek@redhat.com>
1229         PR middle-end/70050
1230         * match.pd (X % -Y): Add INTEGRAL_TYPE_P check.
1232 2016-03-03  Martin Liska  <mliska@suse.cz>
1234         PR tree-optimization/70043
1235         * tree-vect-loop.c (optimize_mask_stores): Move iterator to
1236         previous statement if we see a debug statement.
1238 2016-03-03  Richard Biener  <rguenther@suse.de>
1240         PR tree-optimization/55936
1241         * tree-vrp.c (compare_name_with_value): Add use_equiv_p
1242         parameter and guard unsafe equivalence use.
1243         (vrp_evaluate_conditional_warnv_with_ops): Always use
1244         safe equivalences but not via the quadratic compare_names
1245         helper.
1247 2016-03-03  Michael Collison  <michael.collison@linaro.org>
1249         PR target/70014
1250         * config/arm/arm.md (*subsi3_carryin_const): Change predicate
1251         for operand 1 to s_register_operand. Change predicate for operand
1252         2 to arm_not_immediate_operand.
1254 2016-03-02  H.J. Lu  <hongjiu.lu@intel.com>
1256         * doc/tm.texi: Regenerated.
1258 2016-03-02  Richard Henderson  <rth@redhat.com>
1260         PR rtl-opt/67145
1261         * simplify-rtx.c (simplify_plus_minus): Allow reassoc without
1262         simplification when all args are positive non-fixed registers.
1264 2016-03-02  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1266         * target.def (lra_p): Specify that new ports should use LRA.
1268 2016-03-02  Jakub Jelinek  <jakub@redhat.com>
1270         PR libgomp/69555
1271         * gimplify.c (gimplify_decl_expr): For decls with REFERENCE_TYPE, also
1272         gimplify_type_sizes the type they refer to.
1273         (omp_notice_variable): Handle reference vars to VLAs.
1274         * omp-low.c (lower_omp_target): Emit setup of OMP_CLAUSE_PRIVATE
1275         reference to VLA decls in the second pass instead of first pass.
1277 2016-03-02  Tom de Vries  <tom@codesourcery.com>
1279         PR tree-optimization/68659
1280         * graphite-isl-ast-to-gimple.c (collect_all_ssa_names): Handle
1281         new_expr == NULL_TREE.
1282         (get_new_name): Handle ADDR_EXPR.
1284 2016-03-02  Bin Cheng  <bin.cheng@arm.com>
1286         PR rtl-optimization/69052
1287         * loop-invariant.c (canonicalize_address): New function.
1288         (inv_can_prop_to_addr_use): Check validity of address expression
1289         which is canonicalized by above function.
1291 2016-03-02  Alan Modra  <amodra@gmail.com>
1293         PR ipa/69990
1294         * ipa-icf.c (sem_variable::merge): Do not merge an alias with
1295         larger alignment.
1297 2016-03-02  Jakub Jelinek  <jakub@redhat.com>
1299         PR target/70028
1300         * config/i386/i386.md (kmovw): Move m constraint to 2nd alternative.
1301         (*movhi_internal): Put mask moves from and to memory separately
1302         from moves from/to GPRs.
1304 2016-03-02  Richard Biener  <rguenther@suse.de>
1306         * genmatch.c (dt_node::gen_kids): Fix match code-gen for embedded
1307         GENERIC expressions in GIMPLE.
1309 2016-03-02  Richard Biener  <rguenther@suse.de>
1311         * config/i386/i386.c (type_natural_mode): Fix typo.
1313 2016-03-02  Nick Clifton  <nickc@redhat.com>
1315         * config.gcc (mep-*-elf): Add newlib-stdint.h to tm_file.
1317 2016-03-02  Richard Biener  <rguenther@suse.de>
1318             Uros Bizjak  <ubizjak@gmail.com>
1320         PR target/67278
1321         * config/i386/i386.c (type_natural_mode): Handle XFmode vectors.
1323 2016-03-02  Richard Biener  <rguenther@suse.de>
1325         PR middle-end/67278
1326         * tree-cfg.c (verify_expr): Adjust BIT_FIELD_REF case.
1328 2016-03-02  Marek Polacek  <polacek@redhat.com>
1330         PR c/67854
1331         * gimplify.c (gimplify_va_arg_expr): Use expanded location for the
1332         "is promoted to" warning.
1334 2016-03-01  DJ Delorie  <dj@redhat.com>
1336         * config.gcc: Deprecate mep-*.
1338 2016-03-01  Vladimir Makarov  <vmakarov@redhat.com>
1340         PR middle-end/70025
1341         * lra-constraints.c (regno_val_use_in): New.
1342         (match_reload): Use it instead of regno_use_in.
1344 2016-03-01  Eric Botcazou  <ebotcazou@adacore.com>
1346         PR rtl-optimization/70007
1347         * gcse.c (compute_ld_motion_mems): Tidy up and also invalidate memory
1348         references present in REG_EQUAL notes attached to non-SET patterns.
1350 2016-03-01  Jeff Law  <law@redhat.com>
1352         PR tree-optimization/69196
1353         * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
1354         Appropriately clamp the number of statements to copy when the
1355         thread path does not traverse a loop backedge.
1357         PR tree-optimization/69196
1358         * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
1359         Do count some PHIs in the thread path against the insn count.  Decrease
1360         final statement count by one as the control statement in the last
1361         block will get removed.  Remove special cased code for handling PHIs
1362         in the last block.
1364 2016-03-01  Uros Bizjak  <ubizjak@gmail.com>
1366         PR target/70027
1367         * config/i386/i386.c (ix86_output_call_insn): Add -masm=intel
1368         asm dialect alternatives to explicit GOTPCREL calls.
1370 2016-03-01  Eric Botcazou  <ebotcazou@adacore.com>
1372         PR ada/70017
1373         * ira.c (do_reload): Issue warning for generic stack checking here...
1374         * reload1.c (reload): ...instead of here and streamline it.
1376 2016-03-01  Nick Clifton  <nickc@redhat.com>
1378         * config.gcc (cr16-*-elf): Add newlib-stdint.h to tm_file.
1380 2016-03-01  Richard Biener  <rguenther@suse.de>
1382         PR tree-optimization/69983
1383         * tree-chrec.c (eq_evolutions_p): Handle conversions, compare
1384         types and fall back to operand_equal_p.
1386 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
1388         Revert
1389         2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
1391         * config/s390/constraints.md ("jm8"): New constraint.
1392         * config/s390/predicates.md ("const_int_8bitset_operand"): New
1393         predicate.
1394         * config/s390/s390.md ("*setmem_long", "*setmem_long_and"): Merge
1395         into ...
1396         ("*setmem_long<setmem_and>"): New pattern.
1397         ("*setmem_long_31z", "*setmem_long_and_31z"): Merge
1398         into ...
1399         ("*setmem_long_31z<setmem_and>"): New pattern.
1400         * config/s390/subst.md ("setmem_31z_subst", "setmem_and_subst"):
1401         New substitution rules with the required attributes.
1404 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
1406         Revert
1407         2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
1409         * gensupport.c (process_substs_on_one_elem): Split loop to
1410         complete mark_operands_used_in_match_dup on all expressions in the
1411         vector first.
1412         (adjust_operands_numbers): Inline into process_substs_on_one_elem
1413         and remove function.
1415 2016-03-01  Richard Biener  <rguenther@suse.de>
1417         PR middle-end/70022
1418         * fold-const.c (fold_indirect_ref_1): Fix range checking for
1419         vector BIT_FIELD_REF extract.
1421 2016-03-01  Richard Biener  <rguenther@suse.de>
1423         PR tree-optimization/69994
1424         * tree-ssa-reassoc.c (ops_equal_values_p): Handle missing case.
1426 2016-03-01  Ilya Enkovich  <enkovich.gnu@gmail.com>
1428         PR tree-optimization/69956
1429         * tree-vect-stmts.c (supportable_widening_operation): Support
1430         multi-step conversion of boolean vectors.
1431         (supportable_narrowing_operation): Likewise.
1433 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
1435         * config/s390/s390.c (s390_decompose_address): Don't accept SImode
1436         anymore.
1438 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
1440         * config/s390/subst.md (DSI_VI): New mode iterator.
1441         ("addr_style_op_subst"): Use DSI_VI instead of DSI.
1442         * config/s390/vector.md ("vec_set<mode>"): Move expander before
1443         the insn definition.
1444         ("*vec_set<mode>"): Change predicate and add alternative to
1445         support only either register or const_int operands as element
1446         selector.
1447         ("*vec_set<mode>_plus"): New pattern to support reg + const_int
1448         operands.
1449         ("vec_extract<mode>"): New expander.
1450         ("*vec_extract<mode>"): New insn definition supporting reg and
1451         const_int element selectors.
1452         ("*vec_extract<mode>_plus"): New insn definition supporting
1453         reg+const_int element selectors.
1454         ("rotl<mode>3", "ashl<mode>3", "ashr<mode>3"): Merge into the
1455         following expander+insn definition.
1456         ("<vec_shifts_name><mode>3"): New expander.
1457         ("*<vec_shifts_name><mode>3<addr_style_op>"): New insn definition.
1459 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
1461         * config/s390/s390.md ("*tabort_1"): Change predicate to
1462         nonmemory_operand.  Add a second alternative to cover
1463         register as well as const int operands.
1464         ("*tabort_1_plus"): New pattern definition.
1466 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
1468         * config/s390/s390.md ("*ashrdi3_cc_31")
1469         ("*ashrdi3_cconly_31""*ashrdi3_cc_31_and")
1470         ("*ashrdi3_cconly_31_and", "*ashrdi3_31_and", "*ashrdi3_31"):
1471         Merge insn definitions into ...
1472         ("*ashrdi3_31<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
1473         New pattern definition.
1474         ("*ashr<mode>3_cc", "*ashr<mode>3_cconly", "ashr<mode>3", )
1475         ("*ashr<mode>3_cc_and", "*ashr<mode>3_cconly_and")
1476         ("*ashr<mode>3_and"): Merge insn definitions into ...
1477         ("*ashr<mode>3<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
1478         New pattern definition.
1479         * config/s390/subst.md ("addr_style_op_cc_subst")
1480         ("masked_op_cc_subst", "setcc_subst", "cconly_subst"): New
1481         substitutions patterns plus attributes.
1482         Add ashiftrt to SUBST iterator.
1484 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
1486         * config/s390/s390.md ("<shift><mode>3"): Change predicate of
1487         op2 to nonmemory_operand.
1488         ("*<shift>di3_31", "*<shift>di3_31_and"):
1489         Merge into single pattern definition ...
1490         ("*<shift>di3_31<addr_style_op><masked_op>"): New pattern.
1491         ("*<shift><mode>3", "*<shift><mode>3_and"): Merge into single
1492         pattern definition ...
1493         ("*<shift><mode>3<addr_style_op><masked_op>"): New pattern.
1494         * config/s390/subst.md: Add ashift and lshiftrt to SUBST
1495         iterator.
1497 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
1499         * config/s390/predicates.md (const_int_6bitset_operand): New
1500         predicate.
1501         * config/s390/s390.md: Include subst.md.
1502         ("rotl<mode>3"): New expander.
1503         ("rotl<mode>3", "*rotl<mode>3_and"): Merge insn definitions into
1504         ...
1505         ("*rotl<mode>3<addr_style_op><masked_op>"): New insn definition.
1506         * config/s390/subst.md: New file.
1508 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
1510         * config/s390/s390.md ("op_type", "atype", "length" attributes):
1511         Remove RRR type.  It doesn't really exist.
1512         ("RRer", "f0", "v0", "vf", "vd", "op1", "Rf"): Remove mode
1513         attributes.
1514         ("BFP", "DFP", "nDSF", "nDFDI"): Add mode attributes.
1515         ("*cmp<mode>_ccs", "floatdi<mode>2", "add<mode>3")
1516         ("*add<mode>3_cc", "*add<mode>3_cconly", "sub<mode>3")
1517         ("*sub<mode>3_cc", "*sub<mode>3_cconly", "mul<mode>3")
1518         ("fma<mode>4", "fms<mode>4", "div<mode>3", "*neg<mode>2")
1519         ("*abs<mode>2", "*negabs<mode>2", "sqrt<mode>2"): Override
1520         `enabled' attribute.
1522 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
1524         * gensupport.c (process_substs_on_one_elem): Split loop to
1525         complete mark_operands_used_in_match_dup on all expressions in the
1526         vector first.
1527         (adjust_operands_numbers): Inline into process_substs_on_one_elem
1528         and remove function.
1530 2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
1532         PR target/69706
1533         * config/sparc/sparc.c (NWORDS_UP): Rename to...
1534         (CEIL_NWORDS): ...this.  Use CEIL macro.
1535         (compute_fp_layout): Adjust to above renaming.
1536         (function_arg_union_value): Likewise.
1537         (sparc_arg_partial_bytes): Likewise.
1538         (sparc_function_arg_advance): Likewise.
1540 2016-02-29  Jeff Law  <law@redhat.com>
1542         PR tree-optimization/70005
1543         * tree-ssa-uncprop.c (associate_equivalences_with_edges): Handle case
1544         where an object with a boolean range is compared against a value
1545         outside [0..1].
1547         PR tree-optimization/69999
1548         * gimple-ssa-split-paths.c (split_paths): When duplicating a block
1549         with an outgoing edge marked with EDGE_IRREDUCIBLE_LOOP, schedule
1550         loop cleanups.
1552 2016-02-29  Richard Biener  <rguenther@suse.de>
1554         PR tree-optimization/69994
1555         * tree-ssa-reassoc.c (gimple_nop_conversion_p): New function.
1556         (get_unary_op): Look through nop conversions.
1557         (ops_equal_values_p): New function, look for equality diregarding
1558         nop conversions.
1559         (eliminate_plus_minus_pair): Use ops_equal_values_p
1560         (repropagate_negates): Do not use get_unary_op here.
1562 2016-02-29  Martin Liska  <mliska@suse.cz>
1564         * system.h: Poison ENABLE_CHECKING macro.
1566 2016-02-29  Martin Liska  <mliska@suse.cz>
1568         * hsa-gen.c (gen_body_from_gimple): Dump only if TDF_DETAILS
1569         is presented in dump flags.
1570         * hsa-regalloc.c (linear_scan_regalloc): Likewise.
1571         (hsa_regalloc): Likewise.
1573 2016-02-19  Richard Biener  <rguenther@suse.de>
1575         PR tree-optimization/69980
1576         * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Update
1577         permutation of those we need to keep.
1579 2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
1581         PR target/69706
1582         * config/sparc/sparc.c (ROUND_ADVANCE): Rename to...
1583         (NWORDS_UP): ...this
1584         (init_cumulative_args): Minor tweaks.
1585         (sparc_promote_function_mode): Likewise.
1586         (scan_record_type): Delete.
1587         (traverse_record_type): New function template.
1588         (classify_data_t): New structure type.
1589         (classify_registers): New inline function.
1590         (function_arg_slotno): In 64-bit mode, bail out early if FP slots are
1591         exhausted.  Instantiate traverse_record_type on classify_registers and
1592         deal with the case of a structure passed in slot #15 with no FP field
1593         in the first word.
1594         (assign_data_t): New structure type.
1595         (compute_int_layout): New static function.
1596         (compute_fp_layout): Likewise.
1597         (count_registers): New inline function.
1598         (assign_int_registers): New static function.
1599         (assign_fp_registers): Likewise.
1600         (assign_registers): New inline function.
1601         (function_arg_record_value_1): Delete.
1602         (function_arg_record_value_2): Likewise.
1603         (function_arg_record_value_3): Likewise.
1604         (function_arg_record_value): Adjust to above changes.  Instantiate
1605         traverse_record_type on count_registers to first count the number of
1606         registers to be used and then on assign_registers to assign them.
1607         (function_arg_union_value): Adjust to above renaming.
1608         (sparc_function_arg_1); Minor tweaks.  Remove commented out code.
1609         (sparc_arg_partial_bytes): Adjust to above renaming.  Deal with the
1610         case of a structure passed in slot #15
1611         (sparc_function_arg_advance): Likewise.
1612         (function_arg_padding): Minor tweak.
1614 2016-02-29  Richard Biener  <rguenther@suse.de>
1616         PR tree-optimization/69720
1617         * tree-vect-loop.c (get_initial_def_for_reduction): Avoid
1618         the adjustment_def path for possibly vectorized defs.
1619         (vect_create_epilog_for_reduction): Handle vectorized initial
1620         defs properly.
1622 2016-02-28  Eric Botcazou  <ebotcazou@adacore.com>
1624         * config/i386/cygming.h (STACK_REALIGN_DEFAULT): Define.
1626 2016-02-27  Jeff Law  <law@redhat.com>
1628         Revert
1629         2016-02-26  Richard Biener  <rguenther@suse.de>
1630                     Jeff Law  <law@redhat.com>
1632         PR tree-optimization/69740
1633         * cfghooks.c (remove_edge): Request loop fixups if we delete
1634         an edge that might turn an irreducible loop into a natural
1635         loop.
1637 2016-02-27  Jakub Jelinek  <jakub@redhat.com>
1639         PR rtl-optimization/69896
1640         * tree-vect-generic.c (get_compute_type): Avoid single element
1641         vector types.
1643 2016-02-26  Evandro Menezes  <e.menezes@samsung.com>
1645         Rename the AArch64 tuning option and related functions to enable the
1646         Newton series for the reciprocal square root to reflect its
1647         approximative characteristic.
1649         * config/aarch64/aarch64-protos.h (aarch64_emit_swrsqrt): Rename
1650         function to "aarch64_emit_approx_rsqrt".
1651         * config/aarch64/aarch64-tuning-flags.def: Rename tuning flag to
1652         AARCH64_EXTRA_TUNE_APPROX_RSQRT.
1653         * config/aarch64/aarch64.c (exynosm1_tunigs): Use new flag name.
1654         (xgene1_tunings): Likewise.
1655         (use_rsqrt_p): Likewise.
1656         (aarch64_emit_swrsqrt): Use new function name.
1657         * config/aarch64/aarch64-simd.md (aarch64_rsqrts_*): Likewise.
1658         * config/aarch64/aarch64.opt (mlow-precision-recip-sqrt): Reword the
1659         text explaining this option.
1660         * doc/invoke.texi (-mlow-precision-recip-sqrt): Likewise.
1662 2016-02-26  Jakub Jelinek  <jakub@redhat.com>
1664         PR target/69969
1665         * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
1666         complain about -mallow-movmisalign without -mvsx if
1667         TARGET_ALLOW_MOVMISALIGN was not set explicitly.
1669 2016-02-26  Joel Sherrill  <joel@rtems.org>
1671         * config.gcc: Add x86_64-*-rtems*.
1672         * gcc/config/i386/rtems-64.h: New file.
1674 2016-02-26  Joel Sherrill  <joel@rtems.org>
1676         * config.gcc: Add aarch64-*-rtems*.
1677         * gcc/config/aarch64/rtems.h: New file.
1679 2016-02-26  Segher Boessenkool  <segher@kernel.crashing.org>
1681         PR target/69946
1682         * config/rs6000/rs6000.c (rs6000_insn_for_shift_mask): Print rlwinm
1683         shift amount using %h.  Add comment.
1685 2016-02-26  Richard Biener  <rguenther@suse.de>
1686             Jeff Law  <law@redhat.com>
1688         PR tree-optimization/69740
1689         * cfghooks.c (remove_edge): Request loop fixups if we delete
1690         an edge that might turn an irreducible loop into a natural
1691         loop.
1693 2016-02-26  Martin Jambor  <mjambor@suse.cz>
1695         PR middle-end/69920
1696         * tree-sra.c (sra_modify_assign): Do not remove loads of
1697         uninitialized aggregates to SSA_NAMEs.
1699 2016-02-26  Richard Henderson  <rth@redhat.com>
1701         PR target/69709
1702         * config/s390/s390.md (risbg and risbgn splitters): Allocate new
1703         pseudo in case the target rtx matches the source of the left
1704         shift.
1706 2016-02-26  Martin Jambor  <mjambor@suse.cz>
1708         PR hsa/69568
1709         * hsa.h (hsa_type_packed_p): Declare.
1710         * hsa.c (hsa_type_packed_p): New function.
1711         * hsa-gen.c (mem_type_for_type): Use unsigned type for packed
1712         loads.
1713         (gen_hsa_insns_for_store): Use hsa_type_packed_p.
1714         * hsa-brig.c (emit_basic_insn): Likewise.
1716 2016-02-26  Martin Jambor  <mjambor@suse.cz>
1718         pr hsa/69674
1719         * hsa-gen.c (gen_hsa_phi_from_gimple_phi): Use proper hsa type for
1720         pointers.
1721         (gen_hsa_addr): Allow integer constants in TMR_INDEX2.
1723 2016-02-26  Martin Jambor  <mjambor@suse.cz>
1725         * hsa.h (is_a_helper): New overload for hsa_op_immed for
1726         hsa_op_with_type operands.
1727         (hsa_unsigned_type_for_type): Declare.
1728         * hsa.c (hsa_unsigned_type_for_type): New function.
1729         * hsa-gen.c (gen_hsa_binary_operation): Use hsa_unsigned_type_for_type.
1730         (gen_hsa_insns_for_operation_assignment): Satisfy constrains of
1731         the finalizer.  Do not emit extra move.
1733 2016-02-26  Martin Jambor  <mjambor@suse.cz>
1735         * hsa-gen.c (gen_hsa_ternary_atomic_for_builtin): Fail in presence of
1736         atomic operations in private segment.
1738 2016-02-26  Martin Jambor  <mjambor@suse.cz>
1740         * omp-low.c (grid_find_ungridifiable_statement): Store problematic
1741         statements to wi->info.  Also disallow omp simd constructs.
1742         (grid_target_follows_gridifiable_pattern): Use wi.info to dump reason
1743         for not gridifying.  Dump special string for omp_for.
1745 2016-02-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1747         PR target/69245
1748         * config/aarch64/aarch64.c (aarch64_set_current_function):
1749         Save/restore target globals when switching to
1750         target_option_default_node.
1752 2016-02-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1754         PR target/69613
1755         * config/aarch64/aarch64.c (aarch64_shift_truncation_mask):
1756         Return 0 if !SHIFT_COUNT_TRUNCATED.
1758 2016-02-26  Jakub Jelinek  <jakub@redhat.com>
1759             Eric Botcazou  <ebotcazou@adacore.com>
1761         PR rtl-optimization/69891
1762         * dse.c (scan_insn): If we can't figure out memset arguments
1763         or they are non-constant, call clear_rhs_from_active_local_stores.
1765 2016-02-26  Martin Liska  <mliska@suse.cz>
1767         * doc/extend.texi: Mention clog10, clog10f an clog10l
1768         in Builtins section.
1770 2016-02-26  Martin Liska  <mliska@suse.cz>
1772         * dwarf2out.c (new_loc_descr): Replace ENABLE_CHECKING with
1773         CHECKING_P.
1774         (resolve_args_picking_1): Likewise.
1775         * dwarf2out.h (struct GTY): Likewise.
1777 2016-02-26  Martin Liska  <mliska@suse.cz>
1779         * hsa-gen.c (generate_hsa): Replace ENABLE_CHECKING macro
1780         with flag_checking.
1781         * hsa-regalloc.c (linear_scan_regalloc): Likewise.
1783 2016-02-26  Markus Trippelsdorf  <markus@trippelsdorf.de>
1784             Martin Liska  <mliska@suse.cz>
1786         * doc/install.texi: Mention --enable-valgrind-annotations.
1788 2016-02-26  Richard Biener  <rguenther@suse.de>
1790         PR tree-optimization/69551
1791         * tree-ssa-structalias.c (get_constraint_for_ssa_var): When
1792         looking through aliases adjust DECL_PT_UID to refer to the
1793         ultimate alias target.
1795 2016-02-25  Martin Liska  <mliska@suse.cz>
1797         PR middle-end/69919
1798         * alloc-pool.c (after_memory_report): New variable.
1799         * alloc-pool.h (base_pool_allocator ::release): Do not use
1800         the infrastructure if after_memory_report.
1801         * toplev.c (toplev::main): Mark after memory report.
1803 2016-02-25  Richard Biener  <rguenther@suse.de>
1805         PR tree-optimization/48795
1806         * tree-vrp.c (check_array_ref): Use array_at_struct_end_p.
1808 2016-02-25  Ilya Verbin  <ilya.verbin@intel.com>
1810         PR driver/68463
1811         * config/gnu-user.h (CRTOFFLOADBEGIN): Define.  Add crtoffloadbegin.o if
1812         offloading is enabled and -fopenacc or -fopenmp is specified.
1813         (CRTOFFLOADEND): Likewise.
1814         (GNU_USER_TARGET_STARTFILE_SPEC): Add CRTOFFLOADBEGIN.
1815         (GNU_USER_TARGET_ENDFILE_SPEC): Add CRTOFFLOADEND.
1816         * lto-wrapper.c (offloadbegin, offloadend): Remove static vars.
1817         (offload_objects_file_name): New static var.
1818         (tool_cleanup): Remove offload_objects_file_name file.
1819         (find_offloadbeginend): Replace with ...
1820         (find_crtoffloadtable): ... this.
1821         (run_gcc): Remove offload_argc and offload_argv.
1822         Get offload_objects_file_name from -foffload-objects=... option.
1823         Read names of object files with offload from this file, pass them to
1824         compile_images_for_offload_targets.  Don't call find_offloadbeginend and
1825         don't pass offloadbegin and offloadend to the linker.  Don't pass
1826         offload non-LTO files to the linker, because now they're not claimed.
1828 2016-02-25  Jan Hubicka  <hubicka@ucw.cz>
1830         PR ipa/69630
1831         * ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
1832         on builtin_unreachable.
1834 2016-02-25  Jakub Jelinek  <jakub@redhat.com>
1836         PR rtl-optimization/69896
1837         * regcprop.c: Include cfgrtl.h.
1838         (copyprop_hardreg_forward_1): If noop_p insn uses narrower
1839         than remembered mode, either delete it (if noop_move_p), or
1840         treat like copy_p but not noop_p instruction.
1842 2016-02-24  Jakub Jelinek  <jakub@redhat.com>
1844         PR debug/69705
1845         * dwarf2out.c (gen_variable_die): Work around buggy LTO
1846         - allow NULL decl for Fortran DW_TAG_common_block variables.
1848 2016-02-24  Jason Merrill  <jason@redhat.com>
1850         * common.opt (flifetime-dse): Add -flifetime-dse=1.
1852 2016-02-24  Richard Biener  <rguenther@suse.de>
1853             Jakub Jelinek  <jakub@redhat.com>
1855         PR middle-end/69760
1856         * tree-scalar-evolution.c (interpret_rhs_expr): Re-write
1857         conditionally executed ops to well-defined overflow behavior.
1859 2016-02-24  Jakub Jelinek  <jakub@redhat.com>
1861         PR middle-end/69915
1862         * tree.c (build_vector_from_ctor): Fix handling of VECTOR_CST
1863         elements.
1865 2016-02-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1867         PR rtl-optimization/69886
1868         * gcse.c (can_assign_to_reg_without_clobbers_p): Accept mode
1869         argument.  Use it when checking validity of set instructions.
1870         (want_to_gcse_p): Pass mode to can_assign_to_reg_without_clobbers_p.
1871         (compute_ld_motion_mems): Update can_assign_to_reg_without_clobbers_p
1872         callsite.
1873         * rtl.h (can_assign_to_reg_without_clobbers_p): Update prototype.
1874         * store-motion.c (find_moveable_store): Update
1875         can_assign_to_reg_without_clobbers_p callsite.
1877 2016-02-24  Richard Biener  <rguenther@suse.de>
1879         PR middle-end/68963
1880         * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Fix
1881         bogus check.
1882         (record_nonwrapping_iv): Do not fall back to the low/high bound
1883         for non-constant IV bases if the stmt is not always executed.
1885 2016-02-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1887         * config/arm/arm-cores.def (cortex-a32): New entry.
1888         * config/arm/arm-tables.opt: Regenerate.
1889         * config/arm/arm-tune.md: Regenerate.
1890         * config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a32.
1891         * config/arm/t-aprofile: Handle mcpu=cortex-a32.
1892         * doc/invoke.texi (ARM Options): Document cortex-a32 as value
1893         for -mcpu and -mtune.
1895 2016-02-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1897         PR target/69875
1898         * config/arm/arm.h (TARGET_HAVE_LPAE): Define.
1899         * config/arm/unspecs.md (VUNSPEC_LDRD_ATOMIC): New value.
1900         * config/arm/sync.md (arm_atomic_loaddi2_ldrd): New pattern.
1901         (atomic_loaddi_1): Delete.
1902         (atomic_loaddi): Rewrite expander using the above changes.
1904 2016-02-24  Jakub Jelinek  <jakub@redhat.com>
1906         PR c/69918
1907         * params.def (PARAM_MAX_SSA_NAME_QUERY_DEPTH): Bump default from
1908         2 to 3.
1910 2016-02-24  Jakub Jelinek  <jakub@redhat.com>
1911             Richard Biener  <rguenth@suse.de>
1913         PR middle-end/69909
1914         * expr.c (expand_expr_real_1) <normal_inner_ref>: Avoid
1915         set_mem_attributes if tem is SSA_NAME which got expanded
1916         as a MEM.
1918 2016-02-24  Richard Biener  <rguenther@suse.de>
1920         PR tree-optimization/69907
1921         * tree-vect-stmts.c (vectorizable_load): Check for gaps at the
1922         end of permutations for BB vectorization.
1924 2016-02-24  Christian Bruel  <christian.bruel@st.com>
1926         * config/arm/arm-c.c (arm_option_override): Initialize
1927         target_option_current_node.
1928         * config/arm/arm.c (arm_pragma_target_parse): Replace
1929         build_target_option_node call by target_option_current_node.
1930         Set target_option_current_node.
1931         Fix comments.
1933 2016-02-23  David Edelsohn  <dje.gcc@gmail.com>
1935         PR target/69810
1936         * config/rs6000/rs6000.md (zero_extendqi<mode>2_dot): Convert from
1937         define_insn_and_split to define_insn.
1938         (zero_extendqi<mode>2_dot2): Same.
1939         (extendqi<mode>2_dot): Same.
1940         (extendqi<mode>2_dot2): Same.
1942 2016-02-23  Evandro Menezes  <e.menezes@samsung.com>
1944         * config/arm/exynos-m1.md: Change cost of STP, fix bypass for stores
1945         and add bypass for AES{D,E} and AESMC pairs.
1946         * config/aarch64/aarch64.c (exynosm1_tunings): Enable fusion of AES{D,E}
1947         and AESMC pairs.
1949 2016-02-23  Evandro Menezes  <e.menezes@samsung.com>
1951         * config/aarch64/aarch64.c (exynosm1_tunings): Enable the Newton
1952         series for reciprocal square root in Exynos M1.
1954 2016-02-23  Martin Sebor  <msebor@redhat.com>
1956         PR c/69759
1957         * doc/extend.texi (Other Builtins): Document __builtin_alloca and
1958         __builtin_alloca_with_align.
1960 2016-02-23  Richard Henderson  <rth@redhat.com>
1962         * config/i386/i386-c.c (ix86_target_macros): Remove __SEG_TLS.
1963         (ix86_register_pragmas): Remove __seg_tls.
1964         * config/i386/i386-protos.h (ADDR_SPACE_SEG_TLS): Remove.
1965         * config/i386/i386.c (ix86_print_operand_address_as): Don't handle it.
1966         (ix86_addr_space_subset_p, TARGET_ADDR_SPACE_SUBSET_P): Remove.
1967         (ix86_addr_space_convert, TARGET_ADDR_SPACE_CONVERT): Remove.
1968         (ix86_addr_space_debug, TARGET_ADDR_SPACE_DEBUG): Remove.
1969         * doc/extend.texi (__seg_tls): Remove item.
1971 2016-02-23  Richard Biener  <rguenther@suse.de>
1973         * alloc-pool.h (struct allocation_object): Make id member
1974         conditional on CHECKING_P again.
1975         (get_instance): Adjust.
1976         (base_pool_allocator): Likewise.
1978 2016-02-23  Thomas Schwinge  <thomas@codesourcery.com>
1980         * tree-parloops.c (create_parallel_loop, gen_parallel_loop)
1981         (parallelize_loops): In OpenACC kernels mode, set n_threads to
1982         zero.
1983         (pass_parallelize_loops::gate): In OpenACC kernels mode, gate on
1984         flag_openacc.
1985         * tree-ssa-loop.c (gate_oacc_kernels): Likewise.
1987 2016-02-23  Richard Biener  <rguenther@suse.de>
1989         * mem-stats.h (struct mem_usage): Use PRIu64 for printing size_t.
1990         * bitmap.h (struct bitmap_usage): Likewise.
1991         (bitmap_move): Declare.
1992         * bitmap.c (register_overhead): Take size_t argument.
1993         (bitmap_move): New function.
1994         * df-problems.c (df_rd_transfer_function): Use bitmap_move
1995         to properly account overhead.
1996         * tree.c (free_node): Use tree_size.
1998 2016-02-23  Jakub Jelinek  <jakub@redhat.com>
2000         PR c++/69902
2001         * fold-const.c (fold_truth_not_expr): Propagate TREE_NO_WARNING
2002         when inverting comparison.
2004         PR c/69900
2005         * common.opt (Wunreachable-code): Add Warning flag.
2007 2016-02-23  Mark Wielaard  <mjw@redhat.com>
2008             Jakub Jelinek  <jakub@redhat.com>
2010         PR c/69911
2011         * cgraphunit.c (check_global_declaration): Check main_input_filename
2012         and DECL_SOURCE_FILE are not NULL.
2014 2016-02-23  Martin Jambor  <mjambor@suse.cz>
2016         PR tree-optimization/69666
2017         * tree-sra.c (sra_modify_assign): Do not attempt to create
2018         default_def replacements for unscalarizable regions.
2020 2016-02-20  Mark Wielaard  <mjw@redhat.com>
2022         PR c/28901
2023         * cgraphunit.c (check_global_declaration): Check level of
2024         warn_unused_const_variable and main_input_filename.
2025         * doc/invoke.texi (Warning Options): Add -Wunused-const-variable=.
2026         (-Wunused-variable): For C implies -Wunused-const-variable=1.
2027         (-Wunused-const-variable): Explain levels 1 and 2.
2029 2016-02-22  Jakub Jelinek  <jakub@redhat.com>
2031         PR target/69888
2032         * config/i386/i386.c (decide_alg): Ensure we don't recurse with
2033         identical arguments.  Formatting and spelling fixes.
2035         PR target/69885
2036         * doc/md.texi (ashl@var{m}3): Document that mode of operand 2 must
2037         be specified.
2039         PR target/69894
2040         PR target/69895
2041         * config/m68k/t-opts (OPTIONS_H_EXTRA): Add m68k-microarchs.def
2042         and m68k-devices.def.
2043         * config/c6x/t-c6x (OPTIONS_H_EXTRA): Add c6x-isas.def.
2044         * config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add aarch64-arches.def.
2046 2016-02-22  Cesar Philippidis  <cesar@codesourcery.com>
2048         * config/nvptx/nvptx.c (nvptx_gen_shuffle): Add support for QImode
2049         and HImode registers.
2051 2016-02-22  Richard Biener  <rguenther@suse.de>
2053         PR tree-optimization/69882
2054         * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Properly
2055         preserve permutations present because of gaps.
2056         (vect_supported_load_permutation_p): Always continue checking
2057         permutations after vect_attempt_slp_rearrange_stmts.
2059 2016-02-22  Bin Cheng  <bin.cheng@arm.com>
2061         * tree-vect-loop.c (vect_estimate_min_profitable_iters): Dump
2062         min_profitable_estimate, rather than min_profitable_iters.
2064 2016-02-22  Jakub Jelinek  <jakub@redhat.com>
2066         PR target/69885
2067         * config/m68k/m68k.md (ashldi3, ashrdi3, lshrdi3): Use
2068         SImode for last match_operand.
2070 2016-02-22  Martin Liska  <mliska@suse.cz>
2072         * hsa-gen.c (gen_hsa_clrsb): In case of zero value,
2073         return bitsize - 1 as the return value.
2075 2016-02-22  Oleg Endo  <olegendo@gcc.gnu.org>
2077         PR target/69806
2078         PR target/54089
2079         * config/sh/sh.c (sh_lshrsi_clobbers_t_reg_p, sh_dynamicalize_shift_p):
2080         Handle negative shift counts.
2081         * config/sh/sh.md (ashlsi3, lshrsi3_n, lshrsi3_n_clobbers_t): Don't use
2082         force_reg on the shift constant.
2083         (lshrsi3): Likewise.  Expand into lshrsi3_n* instead of lshrsi3_d.
2084         (lshrsi3_d): Handle negative shift counts.
2086 2016-02-22  Richard Biener  <rguenther@suse.de>
2087             Tom de Vries  <tom@codesourcery.com>
2089         * graph.c: Include dumpfile.h.
2090         (print_graph_cfg): Split into three overloads.
2091         * gdbhooks.py (class DotFn): Add and instantiate, adding command dot-fn.
2093 2016-02-22  Tom de Vries  <tom@codesourcery.com>
2095         * gdbhooks.py (class DumpFn): Add and instantiate, adding command
2096         dump-fn.
2098 2016-02-22  Richard Biener  <rguenther@suse.de>
2100         PR ipa/37448
2101         * ipa-inline-transform.c (inline_call): When not updating
2102         overall summaries adjust self size by the growth estimate.
2103         * ipa-inline.c (inline_to_all_callers_1): Add to the callers
2104         hash-set, do not update overall summaries here.  Renamed from ...
2105         (inline_to_all_callers): ... this which is now wrapping the
2106         above and performing delayed overall summary update.
2107         (early_inline_small_functions): Delay updating of the overall
2108         summary.
2110 2016-02-21  Markus Trippelsdorf  <markus@trippelsdorf.de>
2112         * tree-chkp.c (chkp_mark_invalid_bounds_walker): Initialize
2113         variable.
2115 2016-02-19  Jakub Jelinek  <jakub@redhat.com>
2117         PR driver/69805
2118         * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use
2119         :%* in %:gt() argument.
2120         (greater_than_spec_func): Adjust for expecting only numbers,
2121         if there are more than two numbers, compare the last two.
2123 2016-02-19  Jonathan Wakely  <jwakely@redhat.com>
2125         * doc/invoke.texi (C++ Dialect Options): Clarify interaction of
2126         -Wnarrowing with -std.
2128 2016-02-19  Jakub Jelinek  <jakub@redhat.com>
2130         PR c++/69851
2131         * expr.c (store_field): Don't use bit-field path if exp is
2132         COMPONENT_REF with TREE_ADDRESSABLE type, where TYPE_SIZE is
2133         different from bitsize, but DECL_SIZE of FIELD_DECL is bitsize
2134         and the assignment can be performed by bitwise copy.  Formatting
2135         fix.
2137         PR middle-end/69838
2138         * lra.c (lra_process_new_insns): If non-call exceptions are enabled,
2139         call copy_reg_eh_region_note_forward on before and/or after sequences
2140         and remove note from insn if it no longer can throw.
2142         PR target/69820
2143         * config/i386/sse.md (VI_512): Only include V64QImode and V32HImode
2144         if TARGET_AVX512BW.
2146 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2148         * config/s390/vector.md: Add missing commutative operand markers
2149         to the patterns which qualify for one.
2150         * config/s390/vx-builtins.md: Likewise.
2152 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2154         * config/s390/vector.md (VI, VI_QHS): Add single element vector
2155         types to mode iterators.
2156         (vec_double): ... and mode attribute.
2157         * config/s390/vx-builtins.md (non_vec_int): Likewise.
2159 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2161         * config/s390/vector.md ("<ti*>add<mode>3", "<ti*>sub<mode>3"):
2162         Change the predicate of op2 from nonimmediate to general and let
2163         reload fix it if necessary.
2165 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2167         * config/s390/vecintrin.h (vec_sub_u128): Define missing macro.
2169 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2171         * config/s390/s390.c (s390_expand_vcond): Use the compare operand
2172         mode.
2174 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2176         * config/s390/s390-protos.h: Add s390_expand_vec_movstr prototype.
2177         * config/s390/s390.c (s390_expand_vec_movstr): New function.
2178         * config/s390/s390.md ("movstr<P:mode>"): Call
2179         s390_expand_vec_movstr.
2181 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2183         * config/s390/s390.md: Add missing output modifier for operand 1
2184         to print it as address properly.
2186 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2188         * config/s390/2827.md: Rename ooo_* insn attributes to zEC12_*.
2189         * config/s390/2964.md: New file.
2190         * config/s390/s390.c (s390_get_sched_attrmask): Use the right set
2191         of insn grouping attributes depending on the CPU level.
2192         (s390_get_unit_mask): New function.
2193         (s390_sched_score): Remove the OOO from the scheduling macros.
2194         Add loop to calculate a score for the instruction mix.
2195         (s390_sched_reorder): Likewise plus improve debug output.
2196         (s390_sched_variable_issue): Rename macros as above.  Calculate
2197         the unit distances after actually scheduling an insn.  Improve
2198         debug output.
2199         (s390_sched_init): Clear last_scheduled_unit_distance array.
2200         * config/s390/s390.md: Include 2964.md.
2202 2016-02-18  Jakub Jelinek  <jakub@redhat.com>
2204         PR target/69671
2205         * config/i386/sse.md (*<floatsuffix>floatv2div2sf2_mask_1,
2206         *avx512vl_<code>v2div2qi2_mask_1, *avx512vl_<code><mode>v4qi2_mask_1,
2207         *avx512vl_<code><mode>v8qi2_mask_1, *avx512vl_<code><mode>v4hi2_mask_1,
2208         *avx512vl_<code>v2div2hi2_mask_1, *avx512vl_<code>v2div2si2_mask_1,
2209         *avx512f_<code>v8div16qi2_mask_1): New insns.
2211 2016-02-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
2213         PR target/68404
2214         * config/rs6000/predicates.md (fusion_gpr_addis): Revert
2215         2016-02-09 change.
2217         * config/rs6000/rs6000.md (fusion_gpr_load_<mode>): Remove
2218         earlyclobber from target.  Use wF constraint for fused memory
2219         address.
2220         (fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise.
2222 2016-02-18  Jakub Jelinek  <jakub@redhat.com>
2223             Martin Liska  <mliska@suse.cz>
2225         PR sanitizer/69863
2226         * cfgexpand.c (asan_sanitize_stack_p): New function.
2227         (partition_stack_vars): Use the function.
2228         (expand_stack_vars): Likewise.
2229         (defer_stack_allocation): Likewise.
2230         (expand_used_vars): Likewise.
2232 2016-02-18  Richard Biener  <rguenther@suse.de>
2234         PR middle-end/69553
2235         * fold-const.c (operand_equal_p): Properly compare offsets for
2236         IMAGPART_EXPR and ARRAY_REF.
2238 2016-02-18  Nick Clifton  <nickc@redhat.com>
2240         PR target/62254
2241         PR target/69610
2242         * config/arm/arm.c (arm_option_override_internal): Disable
2243         interworking if the target does not support thumb instructions.
2244         (arm_reload_in_hi): Handle the case where a register to register
2245         move needs reloading because there is no simple pattern to handle
2246         it.
2247         (arm_reload_out_hi): Likewise.
2249 2016-02-18  Richard Biener  <rguenther@suse.de>
2251         PR middle-end/69854
2252         * match.pd: Don't use fold_binary or fold_unary for folding
2253         constants.
2255 2016-02-17  Jakub Jelinek  <jakub@redhat.com>
2257         PR c++/69850
2258         * gimplify.c (gimplify_cond_expr): Call gimple_set_no_warning
2259         on the cond_stmt from TREE_NO_WARNING on COND_EXPR_COND.
2260         * gimple-ssa-nonnull-compare.c (do_warn_nonnull_compare): Don't
2261         warn on gimple_no_warning_p statements.
2263 2016-02-17  Jonathan Wakely  <jwakely@redhat.com>
2265         * doc/extend.texi (C++ Attributes): Correct description of
2266         warn_unused type attribute.
2268 2016-02-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2270         * config/rs6000/altivec.md (*altivec_lvxl_<mode>_internal): Output
2271         correct instruction.
2273 2016-02-17  Richard Biener  <rguenther@suse.de>
2275         PR rtl-optimization/69609
2276         * bb-reorder.c (struct bbro_basic_block_data): Add priority member.
2277         (find_traces_1_round): When ending a trace update cached priority
2278         of successors.
2279         (bb_to_key): Use cached priority when available.
2280         (copy_bb): Initialize cached priority.
2281         (reorder_basic_blocks_software_trace_cache): Likewise.
2283 2016-02-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2285         PR target/69161
2286         * config/aarch64/predicates.md (aarch64_comparison_operator_mode):
2287         New predicate.
2288         (aarch64_comparison_operator): Break overly long line into two.
2289         (aarch64_comparison_operation): Likewise.
2290         * config/aarch64/aarch64.md (cstorecc4): Use
2291         aarch64_comparison_operator_mode instead of
2292         aarch64_comparison_operator.
2293         (cstore<mode>4): Likewise.
2294         (aarch64_cstore<mode>): Likewise.
2295         (*cstoresi_insn_uxtw): Likewise.
2296         (cstore<mode>_neg): Likewise.
2297         (*cstoresi_neg_uxtw): Likewise.
2299 2016-02-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2301         PR target/69161
2302         * config/arm/predicates.md (arm_comparison_operator_mode):
2303         New predicate.
2304         * config/arm/arm.md (*mov_scc): Use arm_comparison_operator_mode
2305         instead of arm_comparison_operator.
2306         (*mov_negscc): Likewise.
2307         (*mov_notscc): Likewise.
2308         * config/arm/thumb2.md (*thumb2_mov_scc): Likewise.
2309         (*thumb2_mov_negscc): Likewise.
2310         (*thumb2_mov_negscc_strict_it): Likewise.
2311         (*thumb2_mov_notscc): Likewise.
2312         (*thumb2_mov_notscc_strict_it): Likewise.
2314 2016-02-17  Wilco Dijkstra  <wdijkstr@arm.com>
2316         * config/aarch64/aarch64.c (aarch64_internal_mov_immediate):
2317         Add missing return.
2319 2016-02-17  Eric Botcazou  <ebotcazou@adacore.com>
2321         * config/visium/visium.c (machine_libfunc_index): New enum.
2322         (machine_libfuncs): New structure.
2323         (visium_libfuncs): New static variable.
2324         (TARGET_INIT_LIBFUNCS): Define to...
2325         (visium_init_libfuncs): ...this.  New function.
2326         (expand_block_move_4): Use the appropriate libfunc.
2327         (expand_block_move_2): Likewise.
2328         (expand_block_move_1): Likewise.
2329         (expand_block_set_4): Likewise.
2330         (expand_block_set_2): Likewise.
2331         (expand_block_set_1): Likewise.
2332         (visium_trampoline_init): Likewise.
2334 2016-02-17  Nick Clifton  <nickc@redhat.com>
2336         * config/msp430/msp430.c (msp430_mcu_data): Sync with data from
2337         TI's devices.csv file as of March 2016.
2339 2016-02-16  Kelvin Nilsen  <kelvin@gcc.gnu.org>
2341         PR Target/48344
2342         * opts-global.c (handle_common_deferred_options): Introduce and
2343         initialize two global variables to remember command-line options
2344         specifying a stack-limiting register.
2345         * opts.h: Add extern declarations of the two new global variables.
2346         * emit-rtl.c (init_emit_once): Initialize the stack_limit_rtx
2347         variable based on the values of the two new global variables.
2349 2016-02-16  Jakub Jelinek  <jakub@redhat.com>
2351         PR c/69835
2352         * common.opt (Wnonnull-compare): New warning.
2353         * doc/invoke.texi (-Wnonnull): Remove text about comparison
2354         of arguments against NULL.
2355         (-Wnonnull-compare): Document.
2356         * Makefile.in (OBJS): Add gimple-ssa-nonnull-compare.o.
2357         * tree-pass.h (make_pass_warn_nonnull_compare): Declare.
2358         * passes.def (pass_warn_nonnull_compare): Add.
2359         * gimple-ssa-nonnull-compare.c: New file.
2361 2016-02-16  James Greenhalgh  <james.greenhalgh@arm.com>
2363         * config/aarch64/aarch64.c (cortexa57_tunings): Remove
2364         AARCH64_EXTRA_TUNE_RECIP_SQRT.
2366 2016-02-16  James Greenhalgh  <james.greenhalgh@arm.com>
2368         * config/aarch64/aarch64.c (use_rsqrt_p): Always use software
2369         reciprocal sqrt for -mlow-precision-recip-sqrt.
2371 2016-02-16  James Greenhalgh  <james.greenhalgh@arm.com>
2372             Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2374         * config/aarch64/aarch64.c (aarch64_expand_vector_init): Refactor,
2375         always use lane loads to construct non-constant vectors.
2377 2016-02-16  James Greenhalgh  <james.greenhalgh@arm.com>
2379         * config/aarch64/aarch64.md
2380         (arch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): Fix register
2381         constraints for operand 3.
2382         (aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): Likewise.
2384 2016-02-16  Jakub Jelinek  <jakub@redhat.com>
2385             Richard Biener  <rguenther@suse.de>
2387         PR tree-optimization/69820
2388         * tree-vect-patterns.c (type_conversion_p): Return false if
2389         *orig_type is unsigned single precision or boolean.
2390         (vect_recog_dot_prod_pattern, vect_recog_widen_mult_pattern):
2391         Formatting fix.
2393 2016-02-16  Jakub Jelinek  <jakub@redhat.com>
2395         PR rtl-optimization/69764
2396         PR rtl-optimization/69771
2397         * optabs.c (expand_binop): Ensure for shift optabs invalid CONST_INT
2398         op1 is valid for GET_MODE_INNER (mode) and force it into a reg.
2400 2016-02-16  Richard Biener  <rguenther@suse.de>
2402         PR tree-optimization/69776
2403         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Get alias
2404         sets from caller.
2405         (indirect_refs_may_alias_p): Likewise.
2406         (refs_may_alias_p_1): Pass alias sets as from ao_ref.
2407         * tree-ssa-sccvn.c (vn_reference_lookup): Also adjust vr alias-set
2408         according to tbaa_p.
2409         * tree-ssa-dom.c (lookup_avail_expr): Add tbaa_p flag.
2410         (optimize_stmt): For redundant store discovery do not allow tbaa.
2412 2016-02-16  Bernd Schmidt  <bschmidt@redhat.com>
2414         PR tree-optimization/69714
2415         * tree-ssa-math-opts.c (find_bswap_or_nop): Revert previous change.
2416         Return NULL if we have irrelevant high bytes on BIG_ENDIAN.
2418 2016-02-16  Claudiu Zissulescu  <claziss@synopsys.com>
2420         * config/arc/arc-modes.def (CC_FPU, CC_FPU_UNEQ): New modes.
2421         * config/arc/arc-opts.h (FPU_SP, FPU_SF, FPU_SC, FPU_SD, FPU_DP)
2422         (FPU_DF, FPU_DC, FPU_DD, FXP_DP): Define.
2423         * config/arc/arc.c (arc_init): Check FPU options.
2424         (get_arc_condition_code): Handle new CC_FPU* modes.
2425         (arc_select_cc_mode): Likewise.
2426         (arc_conditional_register_usage): Allow 64 bit datum into even-odd
2427         register pair only. Allow access for ARCv2 accumulator.
2428         (gen_compare_reg): Whenever we have FPU support use FPU compare
2429         instructions.
2430         (arc_reorg): Don't generate brcc insns when FPU compare
2431         instructions are involved.
2432         * config/arc/arc.h (TARGET_DPFP): Add TARGET_FP_DPAX condition.
2433         (TARGET_OPTFPE): Add condition when ARC EM can use optimized
2434         floating point emulation.
2435         (ACC_REG_FIRST, ACC_REG_LAST, ACCL_REGNO, ACCH_REGNO): Define.
2436         (REVERSE_CONDITION): Add new CC_FPU* modes.
2437         (TARGET_FP_SP_BASE): Define.
2438         (TARGET_FP_DP_BASE): Likewise.
2439         (TARGET_FP_SP_FUSED): Likewise.
2440         (TARGET_FP_DP_FUSED): Likewise.
2441         (TARGET_FP_SP_CONV): Likewise.
2442         (TARGET_FP_DP_CONV): Likewise.
2443         (TARGET_FP_SP_SQRT): Likewise.
2444         (TARGET_FP_DP_SQRT): Likewise.
2445         (TARGET_FP_DP_AX): Likewise.
2446         * config/arc/arc.md (ARCV2_ACC): New constant.
2447         (type): New fpu type attribute.
2448         (SDF): Conditional iterator.
2449         (cstore<mode>, cbranch<mode>): Change expand condition.
2450         (addsf3, subsf3, mulsf3, adddf3, subdf3, muldf3): New expands,
2451         handles FPU/FPX cases as well.
2452         * config/arc/arc.opt (mfpu): New option.
2453         * config/arc/fpx.md (addsf3_fpx, subsf3_fpx, mulsf3_fpx):
2454         Renamed.
2455         (adddf3, muldf3, subdf3): Removed.
2456         * config/arc/predicates.md (proper_comparison_operator): Recognize
2457         CC_FPU* modes.
2458         * config/arc/fpu.md: New file.
2459         * doc/invoke.texi (ARC Options): Document mfpu option.
2461 2016-02-16  Richard Biener  <rguenther@suse.de>
2463         PR rtl-optimization/69291
2464         * ifcvt.c (noce_try_store_flag_constants): Re-instantiate
2465         noce_operand_ok check.
2467 2016-02-16  Tom de Vries  <tom@codesourcery.com>
2469         PR lto/67709
2470         * omp-low.c (simd_clone_create): Remove call to
2471         symtab->call_cgraph_insertion_hooks.
2473 2016-02-16  Jakub Jelinek  <jakub@redhat.com>
2475         PR tree-optimization/69802
2476         * tree-ssa-reassoc.c (update_range_test): If op is
2477         SSA_NAME_IS_DEFAULT_DEF, give up unless tem is a positive
2478         op == 1 test of precision 1 integral op, otherwise handle
2479         that case as op itself.  Fix up formatting.
2480         (optimize_range_tests_to_bit_test, optimize_range_tests): Fix
2481         up formatting.
2483 2016-02-16  Richard Biener  <rguenther@suse.de>
2485         PR tree-optimization/69586
2486         * tree-vrp.c (register_edge_assert_for_2): Handle all integral
2487         types for conversion sources.
2489 2016-02-16  Richard Biener  <rguenther@suse.de>
2491         PR middle-end/69801
2492         * fold-const.c (operand_equal_p): For COND_EXPR zero operand
2493         mask OEP_ADDRESS_OF.
2495 2016-02-16  Alan Modra  <amodra@gmail.com>
2497         PR target/68973
2498         * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Rewrite splitter.
2499         (p8_mtvsrd_df, p8_mtvsrd_sf): New.
2500         (p8_mtvsrd_1, p8_mtvsrd_2): Delete.
2501         (p8_mtvsrwz): New.
2502         (p8_mtvsrwz_1, p8_mtvsrwz_2): Delete.
2503         (p8_xxpermdi_<mode>): Take two DF inputs rather than one TF.
2504         (p8_fmrgow_<mode>): Likewise.
2505         (reload_vsx_from_gpr<mode>): Make clobber IF.  Adjust for above
2506         changes.
2507         (reload_fpr_from_gpr<mode>): Similarly. Use "d" for op0 constraint.
2508         (reload_vsx_from_gprsf): Use p8_mtvsrd_sf rather than attempting
2509         to use movdi_internal64.  Remove op0_di.
2510         * config/rs6000/vsx.md (vsx_xscvspdpn_directmove): Make op1 SFmode.
2512 2016-02-15  Evandro Menezes  <e.menezes@samsung.com>
2514         Add support for the FCCMP insn types
2516         * config/aarch64/aarch64.md (fccmp): Change insn type.
2517         (fccmpe): Likewise.
2518         * config/aarch64/thunderx.md (thunderx_fcmp): Add "fccmp{s,d}" types.
2519         * config/arm/cortex-a53.md (cortex_a53_fpalu): Likewise.
2520         * config/arm/cortex-a57.md (cortex_a57_fp_cmp): Likewise.
2521         * config/arm/xgene1.md (xgene1_fcmp): Likewise.
2522         * config/arm/exynos-m1.md (exynos_m1_fp_ccmp): New insn reservation.
2523         * config/arm/types.md (fccmps): Add new insn type.
2524         (fccmpd): Likewise.
2526 2016-02-15  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2528         * alias.c (get_alias_set): Fix a typo in comment.
2530 2016-02-15  Richard Biener  <rguenther@suse.de>
2532         PR tree-optimization/69595
2533         * match.pd: Complete range test simplification to true.
2535 2016-02-15  Bernd Schmidt  <bschmidt@redhat.com>
2537         PR rtl-optimization/69648
2538         * lra-constraints.c (update_ebb_live_info): Don't remove sets of
2539         pic_offset_table_rtx.
2541         PR rtl-optimization/69752
2542         * ira.c (update_equiv_regs): When looking for more than a single SET,
2543         also take other side effects into account.
2545 2016-02-15  Marcin Kościelnicki  <koriakin@0x04.net>
2547         * config/s390/s390.c (s390_function_profiler): Add a new sequence
2548         for z900+ CPUs in 31-bit mode.
2550 2016-02-15  Marcin Kościelnicki  <koriakin@0x04.net>
2552         * common/config/s390/s390-common.c (s390_supports_split_stack):
2553         New function.
2554         (TARGET_SUPPORTS_SPLIT_STACK): New macro.
2555         * config/s390/s390-protos.h: Add s390_expand_split_stack_prologue.
2556         * config/s390/s390.c (struct machine_function): New field
2557         split_stack_varargs_pointer.
2558         (s390_register_info): Mark r12 as clobbered if it'll be used as temp
2559         in s390_emit_prologue.
2560         (s390_emit_prologue): Use r12 as temp if r1 is taken by split-stack
2561         vararg pointer.
2562         (morestack_ref): New global.
2563         (SPLIT_STACK_AVAILABLE): New macro.
2564         (s390_expand_split_stack_prologue): New function.
2565         (s390_live_on_entry): New function.
2566         (s390_va_start): Use split-stack vararg pointer if appropriate.
2567         (s390_asm_file_end): Emit the split-stack note sections.
2568         (TARGET_EXTRA_LIVE_ON_ENTRY): New macro.
2569         * config/s390/s390.md (UNSPEC_STACK_CHECK): New unspec.
2570         (UNSPECV_SPLIT_STACK_CALL): New unspec.
2571         (UNSPECV_SPLIT_STACK_DATA): New unspec.
2572         (split_stack_prologue): New expand.
2573         (split_stack_space_check): New expand.
2574         (split_stack_data): New insn.
2575         (split_stack_call): New expand.
2576         (split_stack_call_*): New insn.
2577         (split_stack_cond_call): New expand.
2578         (split_stack_cond_call_*): New insn.
2580 2016-02-15  Richard Biener  <rguenther@suse.de>
2582         PR tree-optimization/69783
2583         * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
2584         Add trivially correct cases.
2586 2016-02-15  Tom de Vries  <tom@codesourcery.com>
2588         PR lto/69655
2589         * lto-cgraph.c (input_offload_tables): Add and handle bool parameter
2590         do_force_output.
2591         * lto-streamer.h (input_offload_tables): Add and handle bool parameter.
2593 2016-02-15  Richard Biener  <rguenther@suse.de>
2595         PR tree-optimization/69776
2596         * tree-ssa-sccvn.h (vn_reference_lookup): Adjust prototype.
2597         * tree-ssa-sccvn.c (vn_reference_lookup): Add parameter to
2598         indicate whether we can use TBAA to disambiguate against stores.
2599         Use alias-set zero if not.
2600         (visit_reference_op_store): Do not use TBAA when looking up
2601         redundant stores.
2602         * tree-ssa-pre.c (compute_avail): Use TBAA here.
2603         (eliminate_dom_walker::before_dom_children): But not when looking
2604         up redundant stores.
2606 2016-02-14  John David Anglin  <danglin@gcc.gnu.org>
2608         * config/pa/pa.md (absqi2, absghi2, bswaphi2, bswapsi2, bswapdi2): New.
2610 2016-02-14  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
2612         *  config/i386/znver1.md
2613         (znver1_pop, znver1_pop_mem,
2614         znver1_load_imov_double_store,
2615         znver1_load_imov_direct_store,
2616         znver1_load_imov_direct_load,
2617         znver1_load_imov_double_load): Add new.
2618         (znver1_insn, znver1_insn_load): Add icmov type.
2619         (znver1_sseavx_fma,
2620         znver1_sseavx_fma_load,
2621         znver1_avx256_fma,
2622         znver1_avx256_fma_load): Fix pipe usage.
2624 2016-02-14  Alan Modra  <amodra@gmail.com>
2626         PR target/68973
2627         * reloads.c (find_reloads_address_1): For pre/post-inc/dec
2628         with an invalid hard reg, reload just the reg not the entire
2629         pre/post-inc/dec address expression.
2631 2016-02-13  Oleg Endo  <olegendo@gcc.gnu.org>
2633         PR target/67260
2634         * config/sh/sh.md (sibcall_value_pcrel): Replace =&k scratch reg with
2635         fixed R1_REG scratch reg.
2636         (sibcall_value_pcrel_fdpic): Likewise.
2638 2016-02-13  Oleg Endo  <olegendo@gcc.gnu.org>
2640         PR target/67636
2641         PR target/64345
2642         * config/sh/sh.md (*zero_extract_3): New insn_and_split pattern.
2644 2016-02-12  Walter Lee  <walt@tilera.com>
2646         * config/tilepro/t-tilepro: Replace CC_FOR_BUILD with CXX_FOR_BUILD.
2647         * config/tilegx/t-tilegx: Likewise.
2649 2016-02-12  David Malcolm  <dmalcolm@redhat.com>
2651         PR other/69554
2652         * diagnostic-show-locus.c (struct line_span): New struct.
2653         (layout::get_first_line): Delete.
2654         (layout::get_last_line): Delete.
2655         (layout::get_num_line_spans): New member function.
2656         (layout::get_line_span): Likewise.
2657         (layout::print_heading_for_line_span_index_p): Likewise.
2658         (layout::get_expanded_location): Likewise.
2659         (layout::calculate_line_spans): Likewise.
2660         (layout::m_first_line): Delete.
2661         (layout::m_last_line): Delete.
2662         (layout::m_line_spans): New field.
2663         (layout::layout): Update comment.  Replace m_first_line and
2664         m_last_line with m_line_spans, replacing their initialization
2665         with a call to calculate_line_spans.
2666         (diagnostic_show_locus): When printing source lines and
2667         annotations, rather than looping over a single span
2668         of lines, instead loop over each line_span within
2669         the layout, with an inner loop over the lines within them.
2670         Call the context's start_span callback when changing line spans.
2671         * diagnostic.c (diagnostic_initialize): Initialize start_span.
2672         (diagnostic_build_prefix): Break out the building of the location
2673         part of the string into...
2674         (diagnostic_get_location_text): ...this new function, rewriting
2675         it from nested ternary expressions to a sequence of "if"
2676         statements.
2677         (default_diagnostic_start_span_fn): New function.
2678         * diagnostic.h (diagnostic_start_span_fn): New typedef.
2679         (diagnostic_context::start_span): New field.
2680         (default_diagnostic_start_span_fn): New prototype.
2682 2016-02-12  David Malcolm  <dmalcolm@redhat.com>
2684         PR driver/69779
2685         * gcc.c (driver::finalize): Fix cleanup of "specs".
2687 2016-02-12  David Malcolm  <dmalcolm@redhat.com>
2689         PR driver/69265
2690         PR driver/69453
2691         * gcc.c (driver::driver): Initialize m_option_suggestions.
2692         (driver::~driver): Clean up m_option_suggestions.
2693         (suggest_option): Convert to...
2694         (driver::suggest_option): ...this, and split out into
2695         driver::build_option_suggestions and find_closest_string.
2696         (driver::build_option_suggestions): New function, from
2697         first half of suggest_option.  Special-case
2698         OPT_fsanitize_ and OPT_fsanitize_recover_, making use of
2699         the sanitizer_opts array.  For options of enum types, add the
2700         various enum values to the candidate strings.
2701         (driver::handle_unrecognized_options): Remove "const".
2702         * gcc.h (driver::handle_unrecognized_options): Likewise.
2703         (driver::build_option_suggestions): New decl.
2704         (driver::suggest_option): New decl.
2705         (driver::m_option_suggestions): New field.
2706         * opts-common.c (add_misspelling_candidates): New function.
2707         * opts.c (sanitizer_opts): Remove decl of struct sanitizer_opts_s
2708         and make non-static.
2709         * opts.h (sanitizer_opts): New array decl.
2710         (add_misspelling_candidates): New function decl.
2711         * spellcheck.c (find_closest_string): New function.
2712         * spellcheck.h (find_closest_string): New function decl.
2714 2016-02-12  Jakub Jelinek  <jakub@redhat.com>
2716         PR rtl-optimization/69764
2717         PR rtl-optimization/69771
2718         * optabs.c (expand_binop_directly): For shift_optab_p, force
2719         convert_modes with VOIDmode if xop1 has VOIDmode.
2721 2016-02-12  Ilya Enkovich  <enkovich.gnu@gmail.com>
2723         PR target/69729
2724         * lto-streamer-out.c (lto_output): Use thunk.add_pointer_bounds_args
2725         to correctly determine instrumentation thunks.
2727 2016-02-12  Jakub Jelinek  <jakub@redhat.com>
2729         PR ipa/69241
2730         * ipa-split.c (split_function): If split part returns TREE_ADDRESSABLE
2731         type by reference, force lhs on the call.
2733         PR ipa/68672
2734         * ipa-split.c (split_function): Don't compute/use main_part_return_p.
2735         Compute retval and retbnd early in all cases if split_part_return_p
2736         and return_bb is not EXIT.  Remove all clobber stmts and reset
2737         all debug stmts that refer to SSA_NAMEs defined in split part,
2738         except if it is retval, in that case replace the old retval with the
2739         lhs of the call to the split part.
2741 2016-02-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
2743         revert:
2744         2016-02-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
2746         PR middle-end/66726
2747         * tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
2748         whose result is used in PHI.
2749         (maybe_optimize_range_tests): Likewise.
2750         (final_range_test_p): Likweise.
2752 2016-02-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
2754         PR middle-end/66726
2755         * tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
2756         whose result is used in PHI.
2757         (maybe_optimize_range_tests): Likewise.
2758         (final_range_test_p): Likweise.
2760 2016-02-12  Jakub Jelinek  <jakub@redhat.com>
2762         * cgraph.c: Spelling fixes - behaviour -> behavior and
2763         neighbour -> neighbor.
2764         * target.def: Likewise.
2765         * sel-sched.c: Likewise.
2766         * config/mips/mips.c: Likewise.
2767         * config/arc/arc.md: Likewise.
2768         * config/arm/cortex-a57.md: Likewise.
2769         * config/arm/arm.c: Likewise.
2770         * config/arm/neon.md: Likewise.
2771         * config/arm/arm-c.c: Likewise.
2772         * config/vms/vms-c.c: Likewise.
2773         * config/s390/s390.c: Likewise.
2774         * config/i386/znver1.md: Likewise.
2775         * config/i386/i386.c: Likewise.
2776         * config/ia64/hpux-unix2003.h: Likewise.
2777         * config/msp430/msp430.md: Likewise.
2778         * config/rx/rx.c: Likewise.
2779         * config/rx/rx.md: Likewise.
2780         * config/aarch64/aarch64-simd.md: Likewise.
2781         * config/aarch64/aarch64.c: Likewise.
2782         * config/nvptx/nvptx.c: Likewise.
2783         * config/bfin/bfin.c: Likewise.
2784         * config/cris/cris.opt: Likewise.
2785         * config/rs6000/rs6000.c: Likewise.
2786         * target.h: Likewise.
2787         * spellcheck.c: Likewise.
2788         * ira-build.c: Likewise.
2789         * tree-inline.c: Likewise.
2790         * builtins.c: Likewise.
2791         * lra-constraints.c: Likewise.
2792         * explow.c: Likewise.
2793         * hwint.h: Likewise.
2794         * targhooks.c: Likewise.
2795         * tree-vect-data-refs.c: Likewise.
2796         * expr.c: Likewise.
2797         * doc/tm.texi: Likewise.
2798         * doc/extend.texi: Likewise.
2799         * doc/install.texi: Likewise.
2800         * doc/md.texi: Likewise.
2801         * tree-ssa-tail-merge.c: Likewise.
2802         * sched-int.h: Likewise.
2803         * match.pd: Likewise.
2804         * sched-ebb.c: Likewise.
2805         * target.def (omit_struct_return_reg): Likewise.
2806         * gimple-ssa-isolate-paths.c: Likewise.
2807         (find_implicit_erroneous_behaviour): Renamed to...
2808         (find_implicit_erroneous_behavior): ... this.
2809         (find_explicit_erroneous_behaviour): Renamed to...
2810         (find_explicit_erroneous_behavior): ... this.
2811         (gimple_ssa_isolate_erroneous_paths): Adjust caller.
2813 2016-02-11  Segher Boessenkool  <segher@kernel.crashing.org>
2815         PR rtl-optimization/64682
2816         PR rtl-optimization/69567
2817         PR rtl-optimization/69737
2818         * combine.c (distribute_notes) <REG_DEAD>: If the register is set
2819         in I2 as well, just lose it.
2821 2016-02-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2823         * config/aarch64/aarch64.c (aarch64_last_printed_arch_string):
2824         New variable.
2825         (aarch64_last_printed_tune_string): Likewise.
2826         (aarch64_declare_function_name): Only output .arch assembler
2827         directive if it will be different from the previously output
2828         directive.  Same for .tune comment but only if -dA is set.
2829         (aarch64_start_file): New function.
2830         (TARGET_ASM_FILE_START): Define.
2832 2016-02-11  David Malcolm  <dmalcolm@redhat.com>
2834         PR plugins/69758
2835         * Makefile.in (PLUGIN_HEADERS): Add params.list.
2837 2016-02-11  Jakub Jelinek  <jakub@redhat.com>
2839         PR target/65313
2840         * tree-vect-slp.c (vect_schedule_slp_instance): Avoid
2841         -Wmaybe-uninitialized warning.
2843 2016-02-11  Oleg Endo  <olegendo@gcc.gnu.org>
2845         PR target/69713
2846         * config/sh/sh.md (casesi_worker_0): Add T_REG use.
2848 2016-02-11  Richard Biener  <rguenther@suse.de>
2850         PR rtl-optimization/69291
2851         * ifcvt.c (noce_try_store_flag_constants): Do not allow
2852         subexpressions affected by changing the result.
2854 2016-02-10  Vladimir Makarov  <vmakarov@redhat.com>
2856         PR target/69148
2857         * lra-constraints.c (curr_insn_transform): Find in/out operands
2858         for secondary memory moves.  Update dups.
2860 2016-02-10  Yuri Rumyantsev  <ysrumyan@gmail.com>
2862         PR tree-optimization/69652
2863         * tree-vect-loop.c (optimize_mask_stores): Move declaration of STMT1
2864         to nested loop, did source re-formatting, skip debug statements,
2865         add check on statement with volatile operand, remove dead scalar
2866         statements.
2868 2016-02-10  Jakub Jelinek  <jakub@redhat.com>
2869             Patrick Palka  <ppalka@gcc.gnu.org>
2871         PR ipa/69241
2872         PR c++/69649
2873         * gimplify.c (gimplify_modify_expr): Set lhs even for noreturn
2874         calls if the return type is TREE_ADDRESSABLE.
2875         * cgraphunit.c (cgraph_node::expand_thunk): Likewise.
2876         * ipa-split.c (split_function): Fix doubled "we" in comment.
2877         Use void return type for the split part even if
2878         !split_point->split_part_set_retval.
2880 2016-02-10  Bin Cheng  <bin.cheng@arm.com>
2882         PR tree-optimization/68021
2883         * tree-ssa-loop-ivopts.c (get_computation_aff): Set ratio to 1 if
2884         when computing the value of biv cand by itself.
2886 2016-02-10  Wilco Dijkstra  <wdijkstr@arm.com>
2888         * config/aarch64/aarch64.c (cortexa53_tunings): Enable AES fusion.
2889         (cortexa57_tunings): Likewise.
2890         (cortexa72_tunings): Likewise.
2891         (arch_macro_fusion_pair_p): Add support for AES fusion.
2892         * config/aarch64/aarch64-fusion-pairs.def: Add AES_AESMC entry.
2893         * config/arm/aarch-common.c (aarch_crypto_can_dual_issue):
2894         Allow virtual registers before reload so early scheduling works.
2895         * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Use
2896         correct latency and pipeline.
2897         (cortex_a57_crypto_complex): Likewise.
2898         (cortex_a57_crypto_xor): Likewise.
2899         (define_bypass): Add AES bypass.
2901 2016-02-10  Richard Biener  <rguenther@suse.de>
2903         PR tree-optimization/69726
2904         * passes.def: Add DCE pass before late uninit.
2905         * match.pd: Add A ? B : (!A ? C : X) -> A ? B : C patterns to
2906         really fixup if-conversions job.
2908 2016-02-10  Wilco Dijkstra  <wdijkstr@arm.com>
2910         * config/arm/arm.c (arm_cortex_a53_tune): Enable AES fusion.
2911         (arm_cortex_a57_tune): Likewise.
2912         (aarch_macro_fusion_pair_p): Add support for AES fusion.
2913         * config/arm/arm-protos.h (fuse_ops): Add FUSE_AES_AESMC.
2915 2016-02-10  Eric Botcazou  <ebotcazou@adacore.com>
2917         * timevar.def (TV_PHASE_DBGINFO): Delete.
2918         (TV_PHASE_CHECK_DBGINFO): Likewise.
2919         * varpool.c (varpool_node::assemble_decl): Do not change timevar.
2921 2016-02-10  Richard Biener  <rguenther@suse.de>
2923         PR tree-optimization/69719
2924         * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
2925         Adjust previous fix by ensuring that dr_a1 is left of dr_a2.
2927 2016-02-09  Andrew Pinski  <apinski@cavium.com>
2929         PR tree-opt/69282
2930         * optabs-tree.c (expand_vec_cond_expr_p): Don't early return if
2931         get_vcond_mask_icode returns false.
2933 2016-02-09  Michael Meissner  <meissner@linux.vnet.ibm.com>
2935         PR target/68404
2936         * config/rs6000/predicates.md (fusion_gpr_addis): Prevent fusing
2937         an ADDIS that adds a pointer to a large constant that sets the
2938         upper16 bits with a load operation.
2940 2016-02-09  Charles Baylis  <charles.baylis@linaro.org>
2942         PR target/68532
2943         * config/arm/arm.c (arm_evpc_neon_vzip): Allow for big endian lane
2944         order.
2945         * config/arm/arm_neon.h (vzipq_s8): Adjust shuffle patterns for big
2946         endian.
2947         (vzipq_s16): Likewise.
2948         (vzipq_s32): Likewise.
2949         (vzipq_f32): Likewise.
2950         (vzipq_u8): Likewise.
2951         (vzipq_u16): Likewise.
2952         (vzipq_u32): Likewise.
2953         (vzipq_p8): Likewise.
2954         (vzipq_p16): Likewise.
2956 2016-02-09  Charles Baylis  <charles.baylis@linaro.org>
2958         PR target/68532
2959         * config/arm/arm.c (neon_endian_lane_map): New function.
2960         (neon_vector_pair_endian_lane_map): New function.
2961         (arm_evpc_neon_vuzp): Allow for big endian lane order.
2962         * config/arm/arm_neon.h (vuzpq_s8): Adjust shuffle patterns for big
2963         endian.
2964         (vuzpq_s16): Likewise.
2965         (vuzpq_s32): Likewise.
2966         (vuzpq_f32): Likewise.
2967         (vuzpq_u8): Likewise.
2968         (vuzpq_u16): Likewise.
2969         (vuzpq_u32): Likewise.
2970         (vuzpq_p8): Likewise.
2971         (vuzpq_p16): Likewise.
2973 2016-02-11  Alexandre Oliva  <aoliva@redhat.com>
2975         PR target/69634
2976         * regstat.c (regstat_bb_compute_calls_crossed): Disregard
2977         debug insns.
2979 2016-02-09  Uros Bizjak  <ubizjak@gmail.com>
2981         * config/i386/i386.md (insv<mode>_1): Use gen_int_mode to
2982         truncate const_int operand 1 to QImode.
2984 2016-02-09  Eric Botcazou  <ebotcazou@adacore.com>
2986         * gimple-ssa-backprop.c (optimize_phi): Do not replace an argument
2987         corresponding to an abnormal edge.
2989 2016-02-09  Tom de Vries  <tom@codesourcery.com>
2991         PR tree-optimization/69599
2992         * tree-ssa-structalias.c (fndecl_maybe_in_other_partition): New
2993         function.
2994         (find_func_aliases_for_builtin_call, find_func_clobbers)
2995         (ipa_pta_execute):  Handle case that foo and foo._0 are not in same lto
2996         partition.
2998 2016-02-09  Richard Biener  <rguenther@suse.de>
3000         PR tree-optimization/69715
3001         * tree-ssa.c (execute_update_addresses_taken): Mark non-decl
3002         LHS on calls as non-rewritable.
3004 2016-02-09  Tom de Vries  <tom@codesourcery.com>
3006         PR lto/69707
3007         * lto-wrapper.c (append_diag_options): New function.
3008         (compile_offload_image): Call append_diag_options.
3010 2016-02-08  Sandra Loosemore  <sandra@codesourcery.com>
3012         PR other/69722
3013         * doc/extend.texi (Flag Output Operands): Correct sectioning.
3014         Minor copy-edit to fix verb tenses.
3016 2016-02-08  Jakub Jelinek  <jakub@redhat.com>
3018         PR tree-optimization/69209
3019         * ipa-split.c (split_function): If split part is not
3020         returning retval, retval has gimple type but is not
3021         gimple value, force it into a SSA_NAME first.
3023 2016-02-08  Nicklas Bo Jensen  <nbjensen@gmail.com>
3025         * doc/tree-ssa.texi (Preserving the virtual SSA form): Remove
3026         outdated section.
3028 2016-02-08  Jason Merrill  <jason@redhat.com>
3030         PR c++/69631
3031         * convert.c (convert_to_integer_1): Check dofold on truncation
3032         distribution.
3033         (convert_to_pointer_maybe_fold, convert_to_real_maybe_fold)
3034         (convert_to_integer_maybe_fold, convert_to_complex_maybe_fold):
3035         Rename from *_nofold.
3036         * convert.h (convert_to_pointer_nofold, convert_to_integer_nofold)
3037         (convert_to_real_nofold, convert_to_complex_nofold): New inlines.
3039 2016-02-08  Bernd Schmidt  <bschmidt@redhat.com>
3041         PR target/60410
3042         * tree.c (build_common_tree_nodes): Remove short_double argument.
3043         All callers changed.
3044         * tree.h (build_common_tree_nodes): Adjust declaration.
3045         * doc/invoke.texi (-fshort-double): Remove documentation.
3046         * config/mips/t-img-elf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
3047         MULTILIB_EXCEPTIONS): Remove -fshort-double variant.
3048         * lto-wrapper.c (merge_and_complain, append_compiler_options)
3049         (append_linker_options): Don't handle OPT_fshort_double.
3051         PR rtl-optimization/68730
3052         * lra-remat.c (insn_to_cand_activation): New static variable.
3053         (lra_remat): Allocate and free it.
3054         (create_cand): New arg activation. Initialize a field in
3055         insn_to_cand_activation if it is nonnull.
3056         (create_cands): Pass the activation insn to create_cand when making
3057         a candidate involving an output reload.  Reorganize code a little.
3058         (do_remat): Keep track of active status of candidates in a separate
3059         bitmap.
3061 2016-02-08  Richard Biener  <rguenther@suse.de>
3063         PR tree-optimization/69719
3064         * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
3065         Properly use absolute of the difference of the two offsets to
3066         compare or adjust the segment length.
3068 2016-02-08  Richard Biener  <rguenther@suse.de>
3069             Jeff Law  <law@redhat.com>
3071         PR target/68273
3072         * tree-ssanames.c (make_ssa_name_fn): Always use unqualified
3073         types for anonymous SSA names.
3075 2016-02-08   Richard Biener  <rguenther@suse.de>
3077         PR rtl-optimization/69274
3078         * ira.c (ira_setup_alts): Do not change recog_data.operand order.
3080 2016-02-08  Jeff Law  <law@redhat.com>
3082         PR tree-optimization/65917
3083         * tree-ssa-dom.c (record_temporary_equivalences): Record both
3084         equivalences from if (x == y) style conditionals.
3085         (loop_depth_of_name): Remove.
3086         (record_equality): Remove loop depth check.
3087         * tree-ssa-scopedtables.h (const_and_copies): Refine comments.
3088         (const_and_copies::record_const_or_copy_raw): New member function.
3089         * tree-ssa-scopedtables.c
3090         (const_and_copies::record_const_or_copy_raw): New, factored out of
3091         (const_and_copies::record_const_or_copy): Call new member function.
3093 2016-02-05  Jeff Law  <law@redhat.com>
3095         PR tree-optimization/68541
3096         * gimple-ssa-split-paths.c: Include tree-cfg.h and params.h.
3097         (count_stmts_in_block): New function.
3098         (poor_ifcvt_candidate_code): Likewise.
3099         (is_feasible_trace): Add some heuristics to determine when path
3100         splitting is profitable.
3101         (find_block_to_duplicate_for_splitting_paths): Make sure the graph
3102         is a diamond with a single exit.
3104 2016-02-05  Martin Sebor  <msebor@redhat.com>
3106         PR c++/69662
3107         * doc/invoke.texi: Update -Wplacement-new to take an optional
3108         argument.
3110 2016-02-06  Richard Henderson  <rth@redhat.com>
3112         PR c/69643
3113         * tree.c (tree_nop_conversion_p): Do not strip casts into or
3114         out of non-standard address spaces.
3116 2016-02-05  Jakub Jelinek  <jakub@redhat.com>
3118         PR rtl-optimization/69691
3119         * lra-eliminations.c (move_plus_up): Don't add the addend twice.
3121 2016-02-05  Pat Haugen  <pthaugen@us.ibm.com>
3123         * config/rs6000/crypto.md (crypto_vpermxor_<mode>): Correct insn type.
3124         * config/rs6000/rs6000.md (mov<mode>_hardfloat): Likewise.
3125         (*ieee128_mfvsrd_64bit): Likewise.
3126         (*ieee128_mfvsrd_32bit): Likewise.
3128 2016-02-05  Ilya Enkovich  <enkovich.gnu@gmail.com>
3130         PR target/69369
3131         Revert r232560:
3132         2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
3134         * cgraphunit.c (cgraph_node::reset): Clear thunk info and
3135         instrumented_version.
3137 2016-01-05  Jeremy Bennett  <jeremy.bennett@embecosm.com>
3139         * doc/invoke.texi (Optimize Options): In table of --param options
3140         rename second occurrence of tracer-min-branch-ratio to
3141         tracer-min-branch-probability, rename
3142         tracer-min-branch-ratio-feedback to
3143         tracer-min-branch-probability-feedback and clarify description,
3144         rename sched-spec-state-edge-prob-cutoff to
3145         sched-state-edge-prob-cutoff, rename selsched-max-insns-to-rename
3146         to selsched-insns-to-rename, rename lto-minpartition to
3147         lto-min-partition, delete reorder-blocks-duplicate and
3148         reorder-blocks-duplicate-feedback.
3150 2016-02-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
3152         * config/s390/s390.c (s390_register_info_set_ranges): Remove
3153         superfluous loops.
3155 2016-02-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>
3157         * doc/extend.texi: S/390: Correct some typos.
3159 2016-02-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
3161         * config/s390/s390.c (s390_emit_call): Add missing 64 bit check.
3163 2016-02-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
3165         PR target/69625
3166         * config/s390/s390.c (SAVE_SLOT_NONE, SAVE_SLOT_STACK): New defines.
3167         (s390_register_info_gprtofpr): Use new macros above.
3168         (s390_register_info_stdarg_fpr): Adjust max_fpr to better match
3169         its name.
3170         (s390_register_info_stdarg_gpr): Adjust max_gpr to better match
3171         its name.  Adjust restore and save gpr ranges.
3172         (s390_register_info_set_ranges): New function.
3173         (s390_register_info): Use new macros above.  Call
3174         s390_register_info_set_ranges.
3175         (s390_optimize_register_info): Likewise.
3176         (s390_hard_regno_rename_ok): Use new macros.
3177         (s390_hard_regno_scratch_ok): Likewise.
3178         (s390_emit_epilogue): Likewise.
3179         (s390_can_use_return_insn): Likewise.
3180         (s390_optimize_prologue): Likewise.
3181         * config/s390/s390.md (GPR2_REGNUM, GPR6_REGNUM): New constants.
3183 2016-02-05  Jakub Jelinek  <jakub@redhat.com>
3185         PR bootstrap/69677
3186         * config/i386/i386.c (convert_scalars_to_vector): Readd stack
3187         alignment fixes.
3188         (ix86_option_override_internal): Disable TARGET_STV even for
3189         -m{incoming,preferred}-stack-boundary=3.
3191 2016-02-03  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
3193         * config.gcc: Mark deprecated rtems targets as obsolete.
3195 2016-02-04  Segher Boessenkool  <segher@kernel.crashing.org>
3197         PR rtl-optimization/64682
3198         PR rtl-optimization/69567
3199         * combine.c (distribute_notes) <REG_DEAD>: Place the death note
3200         before I2 only if the register is both used and set in I2.
3202 2016-02-04  DJ Delorie  <dj@redhat.com>
3204         * config/msp430/msp430.c (msp430_start_function): Add function type.
3206 2016-02-04  Jakub Jelinek  <jakub@redhat.com>
3208         PR fortran/69368
3209         * tree-dfa.c (get_ref_base_and_extent): Remove unreachable code.
3211 2016-02-04  Uros Bizjak  <ubizjak@gmail.com>
3213         PR rtl-optimization/69577
3214         Revert:
3215         2015-10-29  Richard Henderson  <rth@redhat.com>
3217         PR target/68124
3218         PR rtl-opt/67609
3219         * config/i386/i386.c (ix86_cannot_change_mode_class): Tighten
3220         sse check to the exact conditions of PR 67609.
3222 2016-02-04  Michael Meissner  <meissner@linux.vnet.ibm.com>
3224         PR target/69667
3225         * config/rs6000/rs6000.md (mov<mode>_64bit_dm): Use 'd' constraint
3226         instead of 'ws', and 'wh' instead of 'wm' since TFmode/IFmode are
3227         not allowed into the traditional Altivec registers.
3228         (movtd_64bit_nodm): Likewise.
3229         (mov<mode>_32bit, FMOVE128_FPR iterator): Likewise.
3231 2016-02-04  David Malcolm  <dmalcolm@redhat.com>
3233         * config/aarch64/cortex-a57-fma-steering.c
3234         (aarch64_register_fma_steering): Remove "static" from arguments
3235         to register_pass.
3237 2016-02-04  Wilco Dijkstra  <wdijkstr@arm.com>
3239         PR target/69619
3240         * ccmp.c (expand_ccmp_expr_1): Avoid evaluating gs0/gs1
3241         twice when complex.
3243 2016-02-04  Mike Frysinger  <vapier@gentoo.org>
3245         * doc/invoke.texi: Delete -mno-fma4.
3247 2016-02-04  Richard Sandiford  <richard.sandiford@arm.com>
3249         PR rtl-optimization/69577
3250         * reginfo.c (record_subregs_of_mode): Add a partial_def parameter.
3251         (find_subregs_of_mode): Update accordingly.  Iterate over partial
3252         definitions.
3254 2016-02-04  Alan Lawrence  <alan.lawrence@arm.com>
3256         * config/arm/arm-protos.h (neon_reinterpret): Remove.
3257         * config/arm/arm.c (neon_reinterpret): Remove.
3258         * config/arm/arm_neon_builtins.def (vreinterpretv8qi, vreinterpretv4hi,
3259         vreinterpretv2si, vreinterpretv2sf, vreinterpretdi, vreinterpretv16qi,
3260         vreinterpretv8hi, vreinterpretv4si, vreinterpretv4sf, vreinterpretv2di,
3261         vreinterpretti): Remove.
3262         * config/arm/neon.md (neon_vreinterpretv8qi<mode>,
3263         neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>,
3264         neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>,
3265         neon_vreinterpretti<mode>, neon_vreinterpretv16qi<mode>,
3266         neon_vreinterpretv8hi<mode>, neon_vreinterpretv4si<mode>,
3267         neon_vreinterpretv4sf<mode>, neon_vreinterpretv2di<mode>): Remove.
3268         * config/arm/arm_neon.h (vreinterpret_p8_p16, vreinterpret_p8_f32,
3269         vreinterpret_p8_p64, vreinterpret_p8_s64, vreinterpret_p8_u64,
3270         vreinterpret_p8_s8, vreinterpret_p8_s16, vreinterpret_p8_s32,
3271         vreinterpret_p8_u8, vreinterpret_p8_u16, vreinterpret_p8_u32,
3272         vreinterpret_p16_p8, vreinterpret_p16_f32, vreinterpret_p16_p64,
3273         vreinterpret_p16_s64, vreinterpret_p16_u64, vreinterpret_p16_s8,
3274         vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_u8,
3275         vreinterpret_p16_u16, vreinterpret_p16_u32, vreinterpret_f32_p8,
3276         vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpret_f32_s64,
3277         vreinterpret_f32_u64, vreinterpret_f32_s8, vreinterpret_f32_s16,
3278         vreinterpret_f32_s32, vreinterpret_f32_u8, vreinterpret_f32_u16,
3279         vreinterpret_f32_u32, vreinterpret_p64_p8, vreinterpret_p64_p16,
3280         vreinterpret_p64_f32, vreinterpret_p64_s64, vreinterpret_p64_u64,
3281         vreinterpret_p64_s8, vreinterpret_p64_s16, vreinterpret_p64_s32,
3282         vreinterpret_p64_u8, vreinterpret_p64_u16, vreinterpret_p64_u32,
3283         vreinterpret_s64_p8, vreinterpret_s64_p16, vreinterpret_s64_f32,
3284         vreinterpret_s64_p64, vreinterpret_s64_u64, vreinterpret_s64_s8,
3285         vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_u8,
3286         vreinterpret_s64_u16, vreinterpret_s64_u32, vreinterpret_u64_p8,
3287         vreinterpret_u64_p16, vreinterpret_u64_f32, vreinterpret_u64_p64,
3288         vreinterpret_u64_s64, vreinterpret_u64_s8, vreinterpret_u64_s16,
3289         vreinterpret_u64_s32, vreinterpret_u64_u8, vreinterpret_u64_u16,
3290         vreinterpret_u64_u32, vreinterpret_s8_p8, vreinterpret_s8_p16,
3291         vreinterpret_s8_f32, vreinterpret_s8_p64, vreinterpret_s8_s64,
3292         vreinterpret_s8_u64, vreinterpret_s8_s16, vreinterpret_s8_s32,
3293         vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32,
3294         vreinterpret_s16_p8, vreinterpret_s16_p16, vreinterpret_s16_f32,
3295         vreinterpret_s16_p64, vreinterpret_s16_s64, vreinterpret_s16_u64,
3296         vreinterpret_s16_s8, vreinterpret_s16_s32, vreinterpret_s16_u8,
3297         vreinterpret_s16_u16, vreinterpret_s16_u32, vreinterpret_s32_p8,
3298         vreinterpret_s32_p16, vreinterpret_s32_f32, vreinterpret_s32_p64,
3299         vreinterpret_s32_s64, vreinterpret_s32_u64, vreinterpret_s32_s8,
3300         vreinterpret_s32_s16, vreinterpret_s32_u8, vreinterpret_s32_u16,
3301         vreinterpret_s32_u32, vreinterpret_u8_p8, vreinterpret_u8_p16,
3302         vreinterpret_u8_f32, vreinterpret_u8_p64, vreinterpret_u8_s64,
3303         vreinterpret_u8_u64, vreinterpret_u8_s8, vreinterpret_u8_s16,
3304         vreinterpret_u8_s32, vreinterpret_u8_u16, vreinterpret_u8_u32,
3305         vreinterpret_u16_p8, vreinterpret_u16_p16, vreinterpret_u16_f32,
3306         vreinterpret_u16_p64, vreinterpret_u16_s64, vreinterpret_u16_u64,
3307         vreinterpret_u16_s8, vreinterpret_u16_s16, vreinterpret_u16_s32,
3308         vreinterpret_u16_u8, vreinterpret_u16_u32, vreinterpret_u32_p8,
3309         vreinterpret_u32_p16, vreinterpret_u32_f32, vreinterpret_u32_p64,
3310         vreinterpret_u32_s64, vreinterpret_u32_u64, vreinterpret_u32_s8,
3311         vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_u8,
3312         vreinterpret_u32_u16, vreinterpretq_p8_p16, vreinterpretq_p8_f32,
3313         vreinterpretq_p8_p64, vreinterpretq_p8_p128, vreinterpretq_p8_s64,
3314         vreinterpretq_p8_u64, vreinterpretq_p8_s8, vreinterpretq_p8_s16,
3315         vreinterpretq_p8_s32, vreinterpretq_p8_u8, vreinterpretq_p8_u16,
3316         vreinterpretq_p8_u32, vreinterpretq_p16_p8, vreinterpretq_p16_f32,
3317         vreinterpretq_p16_p64, vreinterpretq_p16_p128, vreinterpretq_p16_s64,
3318         vreinterpretq_p16_u64, vreinterpretq_p16_s8, vreinterpretq_p16_s16,
3319         vreinterpretq_p16_s32, vreinterpretq_p16_u8, vreinterpretq_p16_u16,
3320         vreinterpretq_p16_u32, vreinterpretq_f32_p8, vreinterpretq_f32_p16,
3321         vreinterpretq_f32_p64, vreinterpretq_f32_p128, vreinterpretq_f32_s64,
3322         vreinterpretq_f32_u64, vreinterpretq_f32_s8, vreinterpretq_f32_s16,
3323         vreinterpretq_f32_s32, vreinterpretq_f32_u8, vreinterpretq_f32_u16,
3324         vreinterpretq_f32_u32, vreinterpretq_p64_p8, vreinterpretq_p64_p16,
3325         vreinterpretq_p64_f32, vreinterpretq_p64_p128, vreinterpretq_p64_s64,
3326         vreinterpretq_p64_u64, vreinterpretq_p64_s8, vreinterpretq_p64_s16,
3327         vreinterpretq_p64_s32, vreinterpretq_p64_u8, vreinterpretq_p64_u16,
3328         vreinterpretq_p64_u32, vreinterpretq_p128_p8, vreinterpretq_p128_p16,
3329         vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64,
3330         vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16,
3331         vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16,
3332         vreinterpretq_p128_u32, vreinterpretq_s64_p8, vreinterpretq_s64_p16,
3333         vreinterpretq_s64_f32, vreinterpretq_s64_p64, vreinterpretq_s64_p128,
3334         vreinterpretq_s64_u64, vreinterpretq_s64_s8, vreinterpretq_s64_s16,
3335         vreinterpretq_s64_s32, vreinterpretq_s64_u8, vreinterpretq_s64_u16,
3336         vreinterpretq_s64_u32, vreinterpretq_u64_p8, vreinterpretq_u64_p16,
3337         vreinterpretq_u64_f32, vreinterpretq_u64_p64, vreinterpretq_u64_p128,
3338         vreinterpretq_u64_s64, vreinterpretq_u64_s8, vreinterpretq_u64_s16,
3339         vreinterpretq_u64_s32, vreinterpretq_u64_u8, vreinterpretq_u64_u16,
3340         vreinterpretq_u64_u32, vreinterpretq_s8_p8, vreinterpretq_s8_p16,
3341         vreinterpretq_s8_f32, vreinterpretq_s8_p64, vreinterpretq_s8_p128,
3342         vreinterpretq_s8_s64, vreinterpretq_s8_u64, vreinterpretq_s8_s16,
3343         vreinterpretq_s8_s32, vreinterpretq_s8_u8, vreinterpretq_s8_u16,
3344         vreinterpretq_s8_u32, vreinterpretq_s16_p8, vreinterpretq_s16_p16,
3345         vreinterpretq_s16_f32, vreinterpretq_s16_p64, vreinterpretq_s16_p128,
3346         vreinterpretq_s16_s64, vreinterpretq_s16_u64, vreinterpretq_s16_s8,
3347         vreinterpretq_s16_s32, vreinterpretq_s16_u8, vreinterpretq_s16_u16,
3348         vreinterpretq_s16_u32, vreinterpretq_s32_p8, vreinterpretq_s32_p16,
3349         vreinterpretq_s32_f16, vreinterpretq_s32_f32, vreinterpretq_s32_p64,
3350         vreinterpretq_s32_p128, vreinterpretq_s32_s64, vreinterpretq_s32_u64,
3351         vreinterpretq_s32_s8, vreinterpretq_s32_s16, vreinterpretq_s32_u8,
3352         vreinterpretq_s32_u16, vreinterpretq_s32_u32, vreinterpretq_u8_p8,
3353         vreinterpretq_u8_p16, vreinterpretq_u8_f32, vreinterpretq_u8_p64,
3354         vreinterpretq_u8_p128, vreinterpretq_u8_s64, vreinterpretq_u8_u64,
3355         vreinterpretq_u8_s8, vreinterpretq_u8_s16, vreinterpretq_u8_s32,
3356         vreinterpretq_u8_u16, vreinterpretq_u8_u32, vreinterpretq_u16_p8,
3357         vreinterpretq_u16_p16, vreinterpretq_u16_f32, vreinterpretq_u16_p64,
3358         vreinterpretq_u16_p128, vreinterpretq_u16_s64, vreinterpretq_u16_u64,
3359         vreinterpretq_u16_s8, vreinterpretq_u16_s16, vreinterpretq_u16_s32,
3360         vreinterpretq_u16_u8, vreinterpretq_u16_u32, vreinterpretq_u32_p8,
3361         vreinterpretq_u32_p16, vreinterpretq_u32_f32, vreinterpretq_u32_p64,
3362         vreinterpretq_u32_p128, vreinterpretq_u32_s64, vreinterpretq_u32_u64,
3363         vreinterpretq_u32_s8, vreinterpretq_u32_s16, vreinterpretq_u32_s32,
3364         vreinterpretq_u32_u8, vreinterpretq_u32_u16): Rewrite using casts.
3366 2016-02-04  Martin Liska  <mliska@suse.cz>
3368         PR sanitizer/69276
3369         * asan.c (has_stmt_been_instrumented_p): Instrument gimple calls
3370         that are gimple_store_p.
3371         (maybe_instrument_call): Likewise.
3373 2016-02-04  Bin Cheng  <bin.cheng@arm.com>
3375         * config/aarch64/aarch64.c (aarch64_legitimize_address): Force
3376         register scaling out of memory reference and comment why.
3378 2016-02-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3380         PR target/65932
3381         PR target/67714
3382         * cse.c (cse_insn): Pass NULL to fold_rtx when initially
3383         folding the source of a SET.
3385 2016-02-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3387         PR target/65932
3388         PR target/67714
3389         * config/arm/arm.c (arm_new_rtx_costs, MULT case): Properly extract
3390         the operands of the SIGN_EXTENDs from a SMUL[TB][TB] rtx.
3392 2016-02-04  Jim Wilson  <jim.wilson@linaro.org>
3394         PR target/65932
3395         PR target/67714
3396         * config/arm/arm.h (PROMOTE_MODE): Don't set UNSIGNEDP for QImode and
3397         HImode.
3399 2016-02-04  Christian Bruel  <christian.bruel@st.com>
3401         * config/arm/arm-c.c (arm_reset_previous_fndecl): Style fix and typo.
3402         * config/arm/arm.c (arm_set_current_function): Likewise.
3404 2016-02-04  Jakub Jelinek  <jakub@redhat.com>
3405             Ilya Enkovich  <enkovich.gnu@gmail.com>
3406             H.J. Lu  <hongjiu.lu@intel.com>
3408         PR target/69454
3409         * config/i386/i386.c (convert_scalars_to_vector): Remove
3410         stack alignment fixes.
3411         (ix86_option_override_internal): Disable TARGET_STV if stack
3412         might not be aligned enough.
3413         (ix86_minimum_alignment): Assert that TARGET_STV is false.
3415 2016-02-04  Victoria Stepanyan  <victoria.stepanyan@amd.com>
3417         * gcc/config/i386/x86-tune.def: Disable default prefetching
3418         for -march=znver1.
3420 2016-02-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
3421             Vladimir Makarov  <vmakarov@redhat.com>
3423         PR target/69461
3424         * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Fix thinko
3425         in validating fused toc addresses.
3427 2016-02-03  Jakub Jelinek  <jakub@redhat.com>
3429         PR c/69627
3430         * diagnostic-show-locus.c (layout::get_state_at_point): Don't read
3431         range->m_caret fields if range->m_show_caret_p is false.
3433         PR target/69644
3434         * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
3435         Force oldval into register if it does not satisfy reg_or_short_operand
3436         predicate.  Fix up formatting.
3438 2016-02-03  Vladimir Makarov  <vmakarov@redhat.com>
3439             Alexandre Oliva  <aoliva@redhat.com>
3441         PR target/69461
3442         * lra-constraints.c (simplify_operand_subreg): Check additionally
3443         address validity after potential reloading.
3444         (process_address_1): Check insns validity.  In case of failure do
3445         nothing.
3447 2016-02-03  Kirill Yukhin  <kirill.yukhin@intel.com>
3449         PR target/69118
3450         * config/i386/sse.md (define_insn "avx512f_maskcmp<mode>3"):
3451         Fix target.
3453 2016-02-02  Jakub Jelinek  <jakub@redhat.com>
3455         * wide-int.cc (canonize_uhwi): New function.
3456         (wi::divmod_internal): Use it.
3458 2016-02-02  James Norris  <jnorris@codesourcery.com
3460         * gimplify.c (omp_notice_variable): Add usage check.
3462 2016-02-02  Alexander Monakov  <amonakov@ispras.ru>
3464         * config/nvptx/nvptx.c (nvptx_print_operand): Treat LEU, GEU, LTU, GTU
3465         like LE, GE, LT, GT when emitting relational operator.
3467 2016-02-02  Wilco Dijkstra  <wdijkstr@arm.com>
3469         * ira-costs.c (find_costs_and_classes): Add extra argument.
3470         * target.def (ira_change_pseudo_allocno_class): Add parameter.
3471         * targhooks.h (ira_change_pseudo_allocno_class): Likewise.
3472         * targhooks.c (ira_change_pseudo_allocno_class): Likewise.
3473         * config/aarch64/aarch64.c (aarch64_ira_change_pseudo_allocno_class)
3474         Add best_class parameter, and return it if not ALL_REGS.
3475         * config/mips/mips.c (mips_ira_change_pseudo_allocno_class):
3476         Add parameter.
3477         * doc/tm.texi (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS):
3478         Update target hook.
3480 2016-02-02  Wilco Dijkstra  <wdijkstr@arm.com>
3482         * config/aarch64/aarch64.c
3483         (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): New define.
3484         (aarch64_ira_change_pseudo_allocno_class): New function.
3486 2016-02-02  Uros Bizjak  <ubizjak@gmail.com>
3488         PR target/67032
3489         * config/i386/i386.c (geode_cost): Increase cost of MMX and SSE moves.
3491 2016-02-02  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
3493         * config/avr/avr.c (avr_option_override): Set
3494         PARAM_ALLOW_STORE_DATA_RACES to 1.
3496 2016-02-02  Richard Biener  <rguenther@suse.de>
3498         PR tree-optimization/69595
3499         * match.pd: Add range test simplifications to true/false.
3501 2016-02-02  Thomas Schwinge  <thomas@codesourcery.com>
3503         * omp-builtins.def (BUILT_IN_GOACC_HOST_DATA): Remove.
3504         * omp-low.c (expand_omp_target): Use BUILT_IN_GOACC_DATA_START
3505         instead.
3507 2016-02-02  Richard Biener  <rguenther@suse.de>
3509         PR tree-optimization/69606
3510         * tree-ssa-math-opts.c (bswap_replace): Clear flow sensitive
3511         info on the result before moving a stmt.
3513 2016-02-02  Yuri Rumyantsev  <ysrumyan@gmail.com>
3515         PR middle-end/68542
3516         * config/i386/i386.c (ix86_expand_branch): Add support for conditional
3517         branch with vector comparison.
3518         * config/i386/sse.md (VI48_AVX): New mode iterator.
3519         (define_expand "cbranch<mode>4): Add support for conditional branch
3520         with vector comparison.
3521         * tree-vect-loop.c (optimize_mask_stores): New function.
3522         * tree-vect-stmts.c (vectorizable_mask_load_store): Initialize
3523         has_mask_store field of vect_info.
3524         * tree-vectorizer.c (vectorize_loops): Invoke optimaze_mask_stores for
3525         vectorized loops having masked stores after vec_info destroy.
3526         * tree-vectorizer.h (loop_vec_info): Add new has_mask_store field and
3527         correspondent macros.
3528         (optimize_mask_stores): Add prototype.
3530 2016-02-02  Alan Modra  <amodra@gmail.com>
3532         PR target/69548
3533         * config/rs6000/predicates.md (quad_int_reg_operand): Don't
3534         allow subregs.
3536 2016-02-02  Alan Modra  <amodra@gmail.com>
3538         PR target/68662
3539         * config/rs6000/rs6000.c (need_toc_init): New var, set it
3540         whenever toc_label_name used.
3541         (rs6000_file_start): Don't set up toc section here,
3542         (rs6000_output_function_epilogue): do so here instead,
3543         (rs6000_xcoff_file_start): and here.
3544         * config/rs6000/rs6000.md (load_toc_aix_si): Set need_toc_init.
3545         (load_toc_aix_di): Likewise.
3547 2016-02-01  Jakub Jelinek  <jakub@redhat.com>
3549         PR rtl-optimization/69592
3550         * rtlanal.c (nonzero_bits_binary_arith_p): New inline function.
3551         (cached_nonzero_bits): Use it instead of ARITHMETIC_P.
3552         (num_sign_bit_copies_binary_arith_p): New inline function.
3553         (cached_num_sign_bit_copies): Use it instead of ARITHMETIC_P.
3555 2016-02-01  Jeff Law  <law@redhat.com>
3557         PR tree-optimization/69580
3558         * params.def (FSM_MAXIMUM_PHI_ARGUMENTS): New param.
3559         * tree-ssa-threadbackward.c
3560         (fsm_find_control_statement_thread_paths): Do not try to walk
3561         through large PHI nodes.
3563 2016-02-01  Jakub Jelinek  <jakub@redhat.com>
3565         * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return false
3566         when count is incremented above limit, don't analyze further
3567         insns afterwards.
3569         * omp-low.c (oacc_parse_default_dims): Avoid
3570         -Wsign-compare warning, make sure value fits into int
3571         rather than just unsigned int.
3573 2016-02-01  Bin Cheng  <bin.cheng@arm.com>
3575         PR tree-optimization/67921
3576         * fold-const.c (split_tree): New parameters.  Convert pointer
3577         type variable part to proper type before negating.
3578         (fold_binary_loc): Pass new arguments to split_tree.
3580 2016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
3582         * config/nvptx/nvptx.c (PTX_GANG_DEFAULT): New.
3583         (nvptx_goacc_validate_dims): Extend to handle global defaults.
3584         * target.def (OACC_VALIDATE_DIMS): Extend documentation.
3585         * doc/tm.texti: Rebuilt.
3586         * doc/invoke.texi (fopenacc-dim): Document.
3587         * lto-wrapper.c (merge_and_complain): Add OPT_fopenacc_dim_ case.
3588         (append_compiler_options): Likewise.
3589         * omp-low.c (oacc_default_dims, oacc_min_dims): New.
3590         (oacc_parse_default_dims): New.
3591         (oacc_validate_dims): Add USED arg.  Select non-unity default when
3592         possible.
3593         (oacc_loop_fixed_partitions): Return mask of used partitions.
3594         (oacc_loop_auto_partitions): Emit dump info.
3595         (oacc_loop_partition): Return mask of used partitions.
3596         (execute_oacc_device_lower): Parse default dimension arg.  Adjust
3597         loop partitioning and validation calls.
3599 2016-02-01  Richard Biener  <rguenther@suse.de>
3601         PR middle-end/69556
3602         * match.pd: Guard (C1/X)*C2 -> (C1*C2)/X with single_use.
3604 2016-02-01  Richard Biener  <rguenther@suse.de>
3606         PR tree-optimization/69574
3607         * tree-chrec.c (hide_evolution_in_other_loops_than_loop): Instead
3608         of asserting return chrec_dont_know.
3610 2016-02-01  Martin Liska  <mliska@suse.cz>
3612         * mem-stats-traits.h: Add copyright header.
3613         * mem-stats.h: Likewise.
3615 2016-02-01  Richard Biener  <rguenther@suse.de>
3617         PR tree-optimization/69579
3618         * tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling):
3619         Do not propagate through abnormal PHI results.
3621 2016-02-01  Eric Botcazou  <ebotcazou@adacore.com>
3623         * postreload.c (reload_cse_simplify): Remove dead code.
3625 2016-02-01  Jakub Jelinek  <jakub@redhat.com>
3627         PR rtl-optimization/69570
3628         * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return true only
3629         if there is more than one set, not if there is a single set.
3631 2016-02-01  Richard Henderson  <rth@redhat.com>
3633         PR rtl-opt/69535
3634         * combine.c (make_compound_operation): When looking through a
3635         subreg, make sure to re-extend to the width of the outer mode.
3637 2016-01-30  Jakub Jelinek  <jakub@redhat.com>
3639         PR tree-optimization/69546
3640         * wide-int.cc (wi::divmod_internal): For unsigned division
3641         where both operands fit into uhwi, if o1 is 1 and o0 has
3642         msb set, if divident_prec is larger than bits per hwi,
3643         clear another quotient word and return 2 instead of 1.
3644         Similarly for remainder with msb in HWI set, if dividend_prec
3645         is larger than bits per hwi.
3647 2016-01-29  Martin Jambor  <mjambor@suse.cz>
3649         * hsa-gen.c (get_memory_order_name): Mask with MEMMODEL_BASE_MASK.
3650         Use short lowercase names.
3651         (get_memory_order): Mask with MEMMODEL_BASE_MASK.  Support
3652         MEMMODEL_CONSUME with acquire semantics and MEMMODEL_SEQ_CST with
3653         acq_rel one.  Protect warning agains segfaults if
3654         get_memory_order_name returns NULL.
3655         (gen_hsa_ternary_atomic_for_builtin): Support with MEMMODEL_SEQ_CST
3656         with release semantics.  Do not warn if get_memory_order already did.
3657         (gen_hsa_insns_for_call): Support with MEMMODEL_SEQ_CST with acquire
3658         semantics.  Fix check for relaxed or acquire semantics.  Do not warn
3659         if get_memory_order already did.
3661 2016-01-29  Sebastian Pop  <s.pop@samsung.com>
3663         * doc/install.texi: Document that isl-0.16 is supported.
3665 2016-01-29  Vladimir Makarov  <vmakarov@redhat.com>
3667         PR target/69299
3668         * config/i386/constraints.md (Bm): Describe as special memory
3669         constraint.
3670         * doc/md.texi (DEFINE_SPECIAL_MEMORY_CONSTRAINT): Describe it.
3671         * genoutput.c (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
3672         * genpreds.c (struct constraint_data): Add is_special_memory.
3673         (have_special_memory_constraints, special_memory_start): New
3674         static vars.
3675         (special_memory_end): Ditto.
3676         (add_constraint): Add new arg is_special_memory.  Add code to
3677         process its true value.  Update have_special_memory_constraints.
3678         (process_define_constraint): Pass the new arg.
3679         (process_define_register_constraint): Ditto.
3680         (choose_enum_order): Process special memory.
3681         (write_tm_preds_h): Generate enum const CT_SPECIAL_MEMORY and
3682         function insn_extra_special_memory_constraint.
3683         (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
3684         * gensupport.c (process_rtx): Process
3685         DEFINE_SPECIAL_MEMORY_CONSTRAINT.
3686         * ira-costs.c (record_reg_classes): Process CT_SPECIAL_MEMORY.
3687         * ira-lives.c (single_reg_class): Use
3688         insn_extra_special_memory_constraint.
3689         * ira.c (ira_setup_alts): Process CT_SPECIAL_MEMORY.
3690         * lra-constraints.c (process_alt_operands): Ditto.
3691         (curr_insn_transform): Use insn_extra_special_memory_constraint.
3692         * recog.c (asm_operand_ok, preprocess_constraints): Process
3693         CT_SPECIAL_MEMORY.
3694         * reload.c (find_reloads): Ditto.
3695         * rtl.def (DEFINE_SPECIFAL_MEMORY_CONSTRAINT): New.
3696         * stmt.c (parse_input_constraint): Use
3697         insn_extra_special_memory_constraint.
3699 2016-01-29  H.J. Lu  <hongjiu.lu@intel.com>
3701         PR target/69530
3702         * lra-splill.c (lra_final_code_change): Revert r229087 by
3703         removing all sub-registers.
3705 2016-01-29  Steve Ellcey  <sellcey@imgtec.com>
3707         PR target/65604
3708         * config/mips/mips.c (mips_output_division): Check flag_delayed_branch.
3710 2016-01-29  Jakub Jelinek  <jakub@redhat.com>
3712         PR target/69551
3713         * config/i386/i386.c (ix86_expand_vector_set) <case V4SImode>: For
3714         SSE1, copy target into the temporary reg first before recursing
3715         on it.
3717 2016-01-29  H.J. Lu  <hongjiu.lu@intel.com>
3719         * config/i386/sse.md (sse2_cvtps2pd<mask_name>): Replace vBm
3720         with vm.
3722 2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
3724         * ginclude/stdarg.h: Test __cplusplus instead of
3725         __GXX_EXPERIMENTAL_CXX0X__.
3727 2016-01-29  Richard Biener  <rguenther@suse.de>
3729         PR tree-optimization/69547
3730         * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1):
3731         Do not mark clobbers necessary.
3732         (mark_all_reaching_defs_necessary_1): Likewise.
3734 2016-01-29  Dominik Vogt  <vogt@linux.vnet.ibm.com>
3736         * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Format
3737         declaration name with %qs and print it in both error messages.
3738         Also fix indentation.
3740 2016-01-29  Dominik Vogt  <vogt@linux.vnet.ibm.com>
3742         PR other/69006
3743         * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Remove
3744         trailing blank line from error message.
3746 2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
3748         PR c++/69462
3749         * ginclude/float.h: Also provide FLT_EVAL_METHOD and DECIMAL_DIG
3750         for C++-11.
3752 2016-01-29  Richard Biener  <rguenther@suse.de>
3754         PR middle-end/69537
3755         * match.pd: Allow all integral types when simplifying a
3756         widening or sign-changing conversion.
3758 2016-01-28  Sebastian Pop  <s.pop@samsung.com>
3760         * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Revert assert
3761         back to setting codegen_error to fail codegen.
3763 2016-01-28  Uros Bizjak  <ubizjak@gmail.com>
3765         PR target/69459
3766         * config/i386/constraints.md (C): Only accept constant zero operand.
3767         (BC): New constraint.
3768         * config/i386/sse.md (*mov<mode>_internal): Use BC constraint
3769         instead of C constraint.
3770         * doc/md.texi (Machine Constraints): Update description
3771         of C constraint.
3773 2016-01-28  Steve Ellcey  <sellcey@imgtec.com>
3775         PR target/68400
3776         * config/mips/mips.c (and_operands_ok): Add MIPS16 check.
3778 2016-01-28  Jakub Jelinek  <jakub@redhat.com>
3780         PR middle-end/69542
3781         * lra-remat.c (calculate_local_reg_remat_bb_data): Only consider
3782         non-debug insns.
3784 2016-01-28  Pat Haugen  <pthaugen@us.ibm.com>
3786         * config/rs6000/rs6000.c (output_cbranch): Don't statically predict
3787         branches if using guessed profile.
3789 2016-01-28  H.J. Lu  <hongjiu.lu@intel.com>
3791         * graphite-optimize-isl.c (optimize_isl): Fix dump.
3793 2016-01-28  Richard Henderson  <rth@redhat.com>
3795         PR target/69305
3796         * config/aarch64/aarch64-modes.def (CC_Cmode): New
3797         * config/aarch64/aarch64-protos.h: Update.
3798         * config/aarch64/aarch64.c (aarch64_zero_extend_const_eq): New.
3799         (aarch64_select_cc_mode): Add check for use of CC_Cmode.
3800         (aarch64_get_condition_code_1): Handle CC_Cmode.
3801         * config/aarch64/aarch64.md (addti3): Use adddi3_compareC.
3802         (*add<mode>3_compareC_cconly_imm): New.
3803         (*add<mode>3_compareC_cconly): New.
3804         (*add<mode>3_compareC_imm): New.
3805         (add<mode>3_compareC): New.
3806         (add<mode>3_carryin, *addsi3_carryin_uxtw): Sort compare operand
3807         to be first.  Use aarch64_carry_operation.
3808         (*add<mode>3_carryin_alt1, *addsi3_carryin_alt1_uxtw): Remove.
3809         (*add<mode>3_carryin_alt2, *addsi3_carryin_alt2_uxtw): Remove.
3810         (*add<mode>3_carryin_alt3, *addsi3_carryin_alt3_uxtw): Remove.
3811         (subti3): Use subdi3_compare1.
3812         (*sub<mode>3_compare0): Rename from sub<mode>3_compare0.
3813         (sub<mode>3_compare1): New.
3814         (*sub<mode>3_carryin0, *subsi3_carryin_uxtw): New.
3815         (*sub<mode>3_carryin): Use aarch64_borrow_operation.
3816         (*subsi3_carryin_uxtw): Likewise.
3817         (*ngc<mode>, *ngcsi_uxtw): Likewise.
3818         (*sub<mode>3_carryin_alt, *subsi3_carryin_alt_uxtw): New.
3819         * config/aarch64/iterators.md (DWI): New.
3820         * config/aarch64/predicates.md (aarch64_carry_operation): New.
3821         (aarch64_borrow_operation): New.
3823 2016-01-28  Abderrazek Zaafrani  <a.zaafrani@samsung.com>
3825         * graphite-optimize-isl.c (optimize_isl): Print a different debug
3826         message when isl does not return a valid schedule.
3828 2016-01-28  Sebastian Pop  <s.pop@samsung.com>
3830         * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
3831         Remove comments from class declarations: they are already in the code
3832         close by the defs.
3834 2016-01-28  Sebastian Pop  <s.pop@samsung.com>
3836         * graphite-isl-ast-to-gimple.c (binary_op_to_tree): Call
3837         codegen_error_p.
3838         (ternary_op_to_tree): Same.
3839         (unary_op_to_tree): Same.
3840         (nary_op_to_tree): Same.
3841         (gcc_expression_from_isl_expr_op): Same.
3842         (gcc_expression_from_isl_expression): Same.
3843         (graphite_create_new_loop): Same.
3844         (graphite_create_new_loop_guard): Same.
3845         (build_iv_mapping): Same.
3846         (graphite_create_new_guard): Same.
3847         (translate_isl_ast_to_gimple::copy_loop_phi_nodes): Same.
3848         (translate_isl_ast_to_gimple::translate_pending_phi_nodes): Same.
3850 2016-01-28  Sebastian Pop  <s.pop@samsung.com>
3852         * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Assert
3853         instead of setting codegen_error to fail codegen.
3855 2016-01-28  Jason Merrill  <jason@redhat.com>
3857         * tree.h (BINFO_FLAG_0): Rename from BINFO_MARKED.
3859 2016-01-28  Wilco Dijkstra  <wdijkstr@arm.com>
3861         * config/aarch64/aarch64.c (aarch64_if_then_else_costs):
3862         Remove CONST_INT_P check in CCMP cost calculation.
3864 2016-01-28  Wilco Dijkstra  <wdijkstr@arm.com>
3866         * config/aarch64/aarch64.c (generic_vector_cost):
3867         Set vec_permute_cost.
3868         (cortexa57_vector_cost): Likewise.
3869         (exynosm1_vector_cost): Likewise.
3870         (xgene1_vector_cost): Likewise.
3871         (aarch64_builtin_vectorization_cost): Use vec_permute_cost.
3872         * config/aarch64/aarch64-protos.h (cpu_vector_cost):
3873         Add vec_permute_cost entry.
3875 2016-01-28  Wilco Dijkstra  <wdijkstr@arm.com>
3877         * config/aarch64/aarch64.md (ccmp<mode>): Disassemble
3878         immediate as %1.
3879         (add<mode>3_compare0): Likewise.
3880         (addsi3_compare0_uxtw): Likewise.
3881         (add<mode>3nr_compare0): Likewise.
3882         (compare_neg<mode>): Likewise.
3883         (<optab><mode>3): Likewise.
3885 2016-01-28  Ilya Enkovich  <enkovich.gnu@gmail.com>
3887         * tree-vect-stmts.c (vectorizable_comparison): Add
3888         NULL check for vectype.
3890 2016-01-28  Richard Biener  <rguenther@suse.de>
3892         PR tree-optimization/69466
3893         * tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges):
3894         Account for PHIs we couldn't duplicate.
3896 2016-01-28  Martin Liska  <mliska@suse.cz>
3898         PR pch/68758
3899         * ggc-common.c (gt_pch_save): Use ENABLE_VALGRIND_ANNOTATIONS macro
3900         instead of ENABLE_VALGRIND_CHECKING.
3902 2016-01-27  Richard Henderson  <rth@redhat.com>
3904         PR rtl-opt/69447
3905         * lra-remat.c (subreg_regs): New.
3906         (dump_candidates_and_remat_bb_data): Dump it.
3907         (operand_to_remat): Reject if operand in subreg_regs.
3908         (set_bb_regs): Collect subreg_regs.
3909         (lra_remat): Init and free subreg_regs.  Compute
3910         calculate_local_reg_remat_bb_data before create_cands.
3912 2016-01-27  H.J. Lu  <hongjiu.lu@intel.com>
3914         PR target/68986
3915         * config/i386/i386.c (ix86_update_stack_boundary): Don't
3916         change stack_alignment_needed for __tls_get_addr call.
3918 2016-01-27  Segher Boessenkool  <segher@kernel.crashing.org>
3920         * config/rs6000/rs6000.c (print_operand): Rollback 's' removal.
3922 2016-01-27  Jeff Law  <law@redhat.com>
3924         PR tree-optimization/68398
3925         PR tree-optimization/69196
3926         * params.def (PARAM_FSM_SCALE_PATH_STMTS): New parameter.
3927         (PARAM_FSM_SCALE_PATH_BLOCKS): Likewise.
3928         * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
3929         Only count PHIs in the last block in the path.  The others will
3930         const/copy propagate away.  Add heuristic to allow more irreducible
3931         subloops to be created when it is likely profitable to do so.
3933         * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
3934         Fix typo in comment.  Use gsi_after_labels and remove the GIMPLE_LABEL
3935         check from within the loop.  Use gsi_next_nondebug rather than gsi_next.
3937 2016-01-27  Jakub Jelinek  <jakub@redhat.com>
3939         PR lto/69254
3940         * sanitizer.def: Add BEGIN_SANITIZER_BUILTINS and
3941         END_SANITIZER_BUILTINS markers using DEF_BUILTIN_STUB.
3942         * asan.c (DEF_BUILTIN_STUB): Temporarily define.
3943         * tree-streamer-in.c: Include asan.h.
3944         (streamer_get_builtin_tree): For builtins in sanitizer
3945         range call initialize_sanitizer_builtins and retry.
3947 2016-01-27  Ian Lance Taylor  <iant@google.com>
3949         * common.opt (fkeep-gc-roots-live): New undocumented option.
3950         * tree-ssa-loop-ivopts.c (add_candidate_1): If
3951         -fkeep-gc-roots-live, skip pointers.
3952         (add_iv_candidate_for_biv): Handle add_candidate_1 returning
3953         NULL.
3955 2016-01-27  Uros Bizjak  <ubizjak@gmail.com>
3957         PR target/69512
3958         * config/i386/i386.md (*zext<mode>_doubleword_and): New pattern.
3959         (*zext<mode>_doubleword): Disable for TARGET_ZERO_EXTEND_WITH_AND.
3961 2016-01-27  Thomas Klausner  <wiz@NetBSD.org>
3963         PR target/68380
3964         * configure.ac: NetBSD provides SSP in its C library.
3965         * configure: Updated.
3967 2016-01-27  Richard Biener  <rguenther@suse.de>
3969         PR tree-optimization/69166
3970         * tree-vect-loop.c (vect_is_simple_reduction): Always check
3971         reduction code for commutativity / associativity.
3973 2016-01-27  Martin Jambor  <mjambor@suse.cz>
3975         PR tree-optimization/69355
3976         * tree-sra.c (analyze_access_subtree): Correct hole detection when
3977         total_scalarization fails.
3979 2016-01-27  David Edelsohn  <dje.gcc@gmail.com>
3981         * config/rs6000/driver-rs6000.c (detect_processor_aix): Add
3982         power9.
3984 2016-01-27  Christian Bruel  <christian.bruel@st.com>
3986         PR target/69245
3987         * config/arm/arm-c.c (arm_pragma_target_parse): Add comments.
3988         Move arm_reset_previous_fndecl and set_target_option_current_node in
3989         the conditional part.  Call save_restore_target_globals.
3990         * config/arm/arm.c (arm_set_current_function):
3991         Refactor to better support #pragma target and attribute mix.
3992         Call save_restore_target_globals.
3993         * config/arm/arm-protos.h (save_restore_target_globals): New function.
3995 2016-01-27  Martin Liska  <mliska@suse.cz>
3997         * hsa.c (hsa_summary_t::link_functions): Create IPA_REF_ADDR
3998         reference for an HSA kernel and its host function.
4000 2016-01-27  Jakub Jelinek  <jakub@redhat.com>
4002         PR tree-optimization/69399
4003         * wide-int.h (wi::lrshift): For larger precisions, only
4004         use fast path if shift is known to be < HOST_BITS_PER_WIDE_INT.
4006 2016-01-27  Claudiu Zissulescu  <claziss@synopsys.com>
4008         * config/arc/predicates.md (proper_comparison_operator): Reject
4009         constant-constant comparison.
4011 2016-01-26  Tom de Vries  <tom@codesourcery.com>
4013         PR tree-optimization/69110
4014         * tree-data-ref.c (initialize_data_dependence_relation): Handle
4015         DR_NUM_DIMENSIONS == 0.
4017 2016-01-26  Abderrazek Zaafrani  <a.zaafrani@samsung.com>
4018             Sebastian Pop  <s.pop@samsung.com>
4020         * graphite-isl-ast-to-gimple.c (ternary_op_to_tree): Handle
4021         isl_ast_op_cond and isl_ast_op_select.
4022         (gcc_expression_from_isl_expr_op): Same.
4024 2016-01-26  Jason Merrill  <jason@redhat.com>
4026         PR c++/68782
4027         * tree.c (recompute_constructor_flags): Split out from
4028         build_constructor.
4029         (verify_constructor_flags): New.
4030         * tree.h: Declare them.
4032 2016-01-26  Iain Buclaw  <ibuclaw@gdcproject.org>
4034         PR rtl-optimization/69217
4035         * var-tracking.c (tracked_record_parameter_p): Don't segfault if there
4036         are no TYPE_FIELDS set for the record type.
4038 2016-01-26  Jakub Jelinek  <jakub@redhat.com>
4040         PR target/68662
4041         * config/rs6000/rs6000.c (rs6000_option_override_internal): Initialize
4042         toc_label_name unconditionally.
4043         (rs6000_emit_load_toc_table): Call ggc_strdup on toc_label_name for
4044         SYMBOL_REF string.  Use toc_label_name instead of constructing
4045         LCTOC1.
4046         (rs6000_elf_declare_function_name): Use toc_label_name instead of
4047         constructing LCTOC1.
4049 2016-01-26  Martin Sebor  <msebor@redhat.com>
4051         PR other/69477
4052         * doc/extend.texi (Common Type Attributes): Move text that talks about
4053         attribute packed from attribute aligned to the section discussing
4054         the former attribute for clarity.
4056 2016-01-26  Richard Henderson  <rth@redhat.com>
4058         PR middle-end/60908
4059         * trans-mem.c (tm_region_init): Mark entry block as visited.
4061 2016-01-26  David Malcolm  <dmalcolm@redhat.com>
4063         PR other/69006
4064         * diagnostic-show-locus.c (layout::print_source_line): Replace
4065         call to pp_newline with call to layout::print_newline.
4066         (layout::print_annotation_line): Likewise.
4067         (layout::move_to_column): Likewise.
4068         (layout::print_any_fixits): After printing any fixits, print a
4069         trailing newline, if necessary.
4070         (layout::print_newline): New method, resetting any colorization
4071         before a newline.
4072         (diagnostic_show_locus): Move the pp_newline to before the
4073         early bailout.  Remove dummy block enclosing the layout instance.
4074         * diagnostic.c (default_diagnostic_finalizer): Replace invocation
4075         of pp_newline_and_flush with pp_flush.
4076         (diagnostic_append_note): Delete use of pp_newline.
4077         (diagnostic_append_note_at_rich_loc): Delete.
4078         * diagnostic.h (diagnostic_append_note_at_rich_loc): Delete.
4079         * pretty-print.h (output_buffer_append_r): Reset buff->line_length
4080         when newline characters are added to the buffer.
4082 2016-01-26  Michael Matz  <matz@suse.de>
4084         * configure.ac (ac_cv_std_swap_in_utility): New test.
4085         * system.h (<algorithm>): Check HAVE_SWAP_IN_UTILITY as well.
4086         * configure: Regenerate.
4087         * config.in: Regenerate.
4089 2016-01-26  Claudiu Zissulescu  <claziss@synopsys.com>
4091         * config/arc/arc.md (cstoresi4): Force operand into register.
4092         (arcset<code>): Fix predicate.
4093         (arcsetltu): Likewise.
4094         (arcsetgeu): Likewise.
4095         (arcsethi): Likewise.
4096         (arcsetls): Likewise.
4098 2016-01-26  Jakub Jelinek  <jakub@redhat.com>
4100         PR tree-optimization/69483
4101         * gimple-fold.c (canonicalize_constructor_val): Return NULL
4102         if base has error_mark_node type.
4104 2016-01-26  Christophe Lyon  <christophe.lyon@linaro.org>
4106         PR target/68620
4107         * config/arm/arm.c (neon_valid_immediate): Handle FP16 vectors.
4108         * config/arm/arm_neon.h (__ARM_NUM_LANES, __arm_lane, arm_lanq):
4109         New helper macros.
4110         (vget_lane_f16): Handle big-endian.
4111         (vgetq_lane_f16): Likewise.
4112         (vset_lane_f16): Likewise.
4113         (vsetq_lane_f16): Likewise.
4114         * config/arm/iterators.md (VQXMOV): Add V8HF.
4115         (VDQ): Add V4HF and V8HF.
4116         (V_reg): Handle V4HF and V8HF.
4117         (Is_float_mode): Likewise.
4118         * config/arm/neon.md (movv4hf, movv8hf, neon_vdup_nv4hf,
4119         neon_vdup_nv8hf): New patterns.
4120         (vec_set<mode>_internal, vec_extract<mode>, neon_vld1_dup<mode>):
4121         Use VD_LANE iterator.
4122         (neon_vld1_dup<mode>): Use VQ2 iterator.
4124 2016-01-26  Nathan Sidwell  <nathan@acm.org>
4126         * omp-low.h (oacc_fn_attrib_kernels_p): Declare.
4127         (set_oacc_fn_attrib): Add IS_KERNEL arg.
4128         * omp-low.c (set_oacc_fn_attrib): Add IS_KERNEL arg.
4129         (oacc_fn_attrib_kernels_p, oacc_fn_attrib_level): New.
4130         (expand_omp_target): Pass is_kernel to set_oacc_fn_attrib.
4131         (oacc_validate_dims): Add LEVEL arg, don't return level.
4132         (new_oacc_loop_routine): Use oacc_fn_attrib_level, not
4133         oacc_validate_dims.
4134         (execute_oacc_device_lower): Adjust, add more dump output.
4135         * tree-ssa-loop.c (gate_oacc_kernels): Use
4136         oacc_fn_attrib_kernels_p.
4137         * tree-parloops.c (create_parallel_loop): Adjust
4138         set_oacc_fn_attrib call.
4140 2016-01-26  Jakub Jelinek  <jakub@redhat.com>
4142         PR lto/69254
4143         * lto-wrapper.c (merge_and_complain): Handle -fcilkplus.
4144         (append_compiler_options): Handle -fcilkplus.
4145         (append_linker_options): Ignore -fno-{openmp,openacc,cilkplus}.
4147 2016-01-26  Nick Clifton  <nickc@redhat.com>
4149         PR target/66655
4150         * config/i386/winnt.c (i386_pe_binds_local_p): If a function has
4151         been marked as DECL_ONE_ONLY but we do not the means to make it
4152         so, then do not allow it to bind locally.
4154 2016-01-26  Jakub Jelinek  <jakub@redhat.com>
4156         PR lto/69254
4157         * opts.h (parse_sanitizer_options): New prototype.
4158         * opts.c (sanitizer_opts): New array.
4159         (parse_sanitizer_options): New function.
4160         (common_handle_option): Use parse_sanitizer_options.
4162 2016-01-26  H.J. Lu  <hongjiu.lu@intel.com>
4164         PR target/68986
4165         * config/i386/i386.c (ix86_compute_frame_layout): Move stack
4166         alignment adjustment to ...
4167         (ix86_update_stack_boundary): Here.  Don't over-align stack for
4168         __tls_get_addr.
4169         (ix86_finalize_stack_realign_flags): Use stack_alignment_needed
4170         if __tls_get_addr is called.
4172 2016-01-26  Christian Bruel  <christian.bruel@st.com>
4174         * doc/sourcebuild.texi (arm_crypto_pragma_ok): Remove.
4176 2016-01-26  Eric Botcazou  <ebotcazou@adacore.com>
4178         * config/ia64/ia64.c (ia64_expand_vecint_compare): Use gen_int_mode.
4180 2016-01-26  Richard Biener  <rguenther@suse.de>
4182         PR middle-end/69467
4183         * match.pd: Guard X * CST CMP 0 pattern with single_use.
4185 2016-01-26  Richard Biener  <rguenther@suse.de>
4187         PR tree-optimization/69452
4188         * tree-ssa-loop-im.c (move_computations_dom_walker): Remove.
4189         (move_computations_dom_walker::before_dom_children): Rename
4190         to ...
4191         (move_computations_worker): This.
4192         (move_computations): Perform an RPO rather than a DOM walk.
4194 2016-01-26  Jakub Jelinek  <jakub@redhat.com>
4196         PR target/69442
4197         * combine.c (combine_instructions): For REG_EQUAL note with
4198         SET_DEST being ZERO_EXTRACT, also temporarily set SET_DEST
4199         to the underlying register.
4200         * doc/rtl.texi (REG_EQUAL): Document the behavior of
4201         REG_EQUAL/REG_EQUIV notes if SET_DEST is ZERO_EXTRACT.
4203 2016-01-26  Roger Ferrer Ibáñez  <rofirrim@gmail.com>
4205         PR target/67896
4206         * config/aarch64/aarch64-builtins.c
4207         (aarch64_init_simd_builtin_types): Do not set structural
4208         equality to __Poly{8,16,64,128}_t types.
4210 2016-01-26  Richard Sandiford  <richard.sandiford@arm.com>
4212         PR tree-optimization/69400
4213         * wide-int.cc (wi_pack): Take the precision as argument and
4214         perform canonicalization here rather than in the callers.
4215         Use the main loop to handle all full-width HWIs.  Add a
4216         zero HWI if in_len isn't a full result.
4217         (wi::divmod_internal): Update accordingly.
4218         (wi::mul_internal): Likewise.  Simplify.
4220 2016-01-25  Aditya Kumar  <aditya.k7@samsung.com>
4221             Sebastian Pop  <s.pop@samsung.com>
4223         * graphite-poly.c (apply_poly_transforms): Simplify.
4224         (print_isl_set): Use more readable format: ISL_YAML_STYLE_BLOCK.
4225         (print_isl_map): Same.
4226         (print_isl_union_map): Same.
4227         (print_isl_schedule): New.
4228         (debug_isl_schedule): New.
4229         * graphite-dependences.c (scop_get_reads): Do not call
4230         isl_union_map_add_map that is undocumented isl functionality.
4231         (scop_get_must_writes): Same.
4232         (scop_get_may_writes): Same.
4233         (scop_get_original_schedule): Remove.
4234         (scop_get_dependences): Do not call isl_union_map_compute_flow that
4235         is deprecated in isl 0.15.  Instead, use isl_union_access_* interface.
4236         (compute_deps): Remove.
4237         * graphite-isl-ast-to-gimple.c (print_schedule_ast): New.
4238         (debug_schedule_ast): New.
4239         (translate_isl_ast_to_gimple::scop_to_isl_ast): Call
4240         set_separate_option.
4241         (graphite_regenerate_ast_isl): Add dump.
4242         (translate_isl_ast_to_gimple::scop_to_isl_ast): Generate code
4243         from scop->transformed_schedule.
4244         (graphite_regenerate_ast_isl): Add more dump.
4245         * graphite-optimize-isl.c (optimize_isl): Set
4246         scop->transformed_schedule.  Check whether schedules are equal.
4247         (apply_poly_transforms): Move here.
4248         * graphite-poly.c (apply_poly_transforms): ... from here.
4249         (free_poly_bb): Static.
4250         (free_scop): Static.
4251         (pbb_number_of_iterations_at_time): Remove.
4252         (print_isl_ast): New.
4253         (debug_isl_ast): New.
4254         (debug_scop_pbb): New.
4255         * graphite-scop-detection.c (print_edge): Move.
4256         (print_sese): Move.
4257         * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove.
4258         (build_scop_scattering): Remove.
4259         (create_pw_aff_from_tree): Assert instead of bailing out.
4260         (add_condition_to_pbb): Remove unused code, do not fail.
4261         (add_conditions_to_domain): Same.
4262         (add_conditions_to_constraints): Remove.
4263         (build_scop_context): New.
4264         (add_iter_domain_dimension): New.
4265         (build_iteration_domains): Initialize pbb->iterators.
4266         Call add_conditions_to_domain.
4267         (nested_in): New.
4268         (loop_at): New.
4269         (index_outermost_in_loop): New.
4270         (index_pbb_in_loop): New.
4271         (outermost_pbb_in): New.
4272         (add_in_sequence): New.
4273         (add_outer_projection): New.
4274         (outer_projection_mupa): New.
4275         (add_loop_schedule): New.
4276         (build_schedule_pbb): New.
4277         (build_schedule_loop): New.
4278         (embed_in_surrounding_loops): New.
4279         (build_schedule_loop_nest): New.
4280         (build_original_schedule): New.
4281         (build_poly_scop): Call build_original_schedule.
4282         * graphite.h: Declare print_isl_schedule and debug_isl_schedule.
4283         (free_poly_dr): Remove.
4284         (struct poly_bb): Add iterators.  Remove schedule, transformed, saved.
4285         (free_poly_bb): Remove.
4286         (debug_loop_vec): Remove.
4287         (print_isl_ast): Declare.
4288         (debug_isl_ast): Declare.
4289         (scop_do_interchange): Remove.
4290         (scop_do_strip_mine): Remove.
4291         (scop_do_block): Remove.
4292         (flatten_all_loops): Remove.
4293         (optimize_isl): Remove.
4294         (pbb_number_of_iterations_at_time): Remove.
4295         (debug_scop_pbb): Declare.
4296         (print_schedule_ast): Declare.
4297         (debug_schedule_ast): Declare.
4298         (struct scop): Remove schedule.  Add original_schedule,
4299         transformed_schedule.
4300         (free_gimple_poly_bb): Remove.
4301         (print_generated_program): Remove.
4302         (debug_generated_program): Remove.
4303         (unify_scattering_dimensions): Remove.
4304         * sese.c (print_edge): ... here.
4305         (print_sese): ... here.
4306         (debug_edge): ... here.
4307         (debug_sese): ... here.
4308         * sese.h (print_edge): Declare.
4309         (print_sese): Declare.
4310         (dump_edge): Declare.
4311         (dump_sese): Declare.
4313 2016-01-25  Aditya Kumar  <aditya.k7@samsung.com>
4314             Sebastian Pop  <s.pop@samsung.com>
4316         * Makefile.in: Set ISLVER in site.exp.
4318 2016-01-25  Jakub Jelinek  <jakub@redhat.com>
4320         * omp-low.c (lower_omp_target) <case USE_DEVICE_PTR>: Set
4321         DECL_VALUE_EXPR of new_var even for the non-array case.  Look
4322         through DECL_VALUE_EXPR for expansion.
4324 2016-01-25  Bernd Edlinger  <bernd.edlinger@hotmail.de>
4326         * config/mips/mips.c (mips_compute_frame_info): Skip re-computing
4327         the frame info after reload completed.
4329 2016-01-25  Jeff Law  <law@redhat.com>
4331         PR tree-optimization/69196
4332         PR tree-optimization/68398
4333         * tree-ssa-threadupdate.h (enum bb_dom_status): Moved here from
4334         tree-ssa-threadupdate.c.
4335         (determine_bb_domination_status): Prototype
4336         * tree-ssa-threadupdate.c (enum bb_dom_status): Remove
4337         (determine_bb_domination_status): No longer static.
4338         (valid_jump_thread_path): Remove code to detect characteristics
4339         of the jump thread path not associated with correctness.
4340         * tree-ssa-threadbackward.c (fsm_find_control_statment_thread_paths):
4341         Correct test for thread path length.  Count PHIs for real operands as
4342         statements that need to be copied.  Do not count ASSERT_EXPRs.
4343         Look at all the blocks in the thread path.  Compute and selectively
4344         filter thread paths based on threading through the latch, threading
4345         a multiway branch or crossing a multiway branch.
4347 2016-01-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4349         * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled):  Add
4350         decl with __attribute__ ((unused)) annotation.
4352 2016-01-25  Ilya Enkovich  <enkovich.gnu@gmail.com>
4354         PR target/69421
4355         * tree-vect-stmts.c (vectorizable_condition): Check vectype
4356         of operands is compatible with a statement vectype.
4358 2016-01-25  Eric Botcazou  <ebotcazou@adacore.com>
4360         * doc/extend.texi (scalar_storage_order type attribute): Fix typo and
4361         improve wording for mixed storage order support.
4363 2016-01-25  Bilyan Borisov  <bilyan.borisov@arm.com>
4365         * config/aarch64/arm_neon.h (vcvt_s64_f64): New intrinsic.
4366         (vcvt_u64_f64): Likewise.
4367         (vcvta_s64_f64): Likewise.
4368         (vcvta_u64_f64): Likewise.
4369         (vcvtm_s64_f64): Likewise.
4370         (vcvtm_u64_f64): Likewise.
4371         (vcvtn_s64_f64): Likewise.
4372         (vcvtn_u64_f64): Likewise.
4373         (vcvtp_s64_f64): Likewise.
4374         (vcvtp_u64_f64): Likewise.
4376 2016-01-25  Claudiu Zissulescu  <claziss@synopsys.com>
4378         * config/arc/arc.c (TARGET_DWARF_REGISTER_SPAN): Define.
4379         (arc_init): Check validity mll64 option.
4380         (arc_save_restore): Use double load/store instruction.
4381         (arc_expand_movmem): Likewise.
4382         (arc_split_move): Don't split if we have double load/store
4383         instructions. Returns a boolean.
4384         (arc_process_double_reg_moves): Change function to return boolean
4385         instead of a sequence of instructions.
4386         (arc_dwarf_register_span): New function.
4387         * config/arc/arc-protos.h (arc_split_move): Change prototype.
4388         * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __ARC_LL64__.
4389         * config/arc/arc.md (*movdi_insn): Emit ldd/std instructions.
4390         (*movdf_insn): Likewise.
4391         * config/arc/arc.opt (mll64): New option.
4392         * config/arc/predicates.md (even_register_operand): New predicate.
4393         * doc/invoke.texi (ARC Options): Add mll64 documentation.
4395 2016-01-25  Richard Biener  <rguenther@suse.de>
4397         PR lto/69393
4398         * dwarf2out.c (is_naming_typedef_decl): Not when DECL_NAMELESS.
4399         * tree-streamer-out.c (pack_ts_base_value_fields): Stream
4400         DECL_NAMELESS.
4401         * tree-streamer-in.c (unpack_ts_base_value_fields): Likewise.
4403 2016-01-25  Richard Biener  <rguenther@suse.de>
4405         PR tree-optimization/69376
4406         * tree-ssa-sccvn.h (struct vn_ssa_aux): Add range_info_anti_range_p
4407         flag.
4408         (VN_INFO_ANTI_RANGE_P): New inline.
4409         (VN_INFO_RANGE_TYPE): Likewise.
4410         * tree-ssa-sccvn.c (set_ssa_val_to): Also record and copy
4411         SSA_NAME_ANTI_RANGE_P.
4412         (free_scc_vn): Restore SSA_NAME_ANTI_RANGE_P.
4413         * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
4414         Properly query VN_INFO_RANGE_TYPE.
4416 2016-01-25  Nick Clifton  <nickc@redhat.com>
4418         PR target/66655
4419         * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Remove definition.
4421 2016-01-23  Tom de Vries  <tom@codesourcery.com>
4423         PR tree-optimization/69426
4424         * tree-parloops.c (eliminate_local_variables_stmt): Handle vdef of
4425         removed clobber.
4427 2016-01-23  Jakub Jelinek  <jakub@redhat.com>
4429         * tree-ssanames.c (release_free_names_and_compact_live_names): Replace
4430         "the the" with "the" in the comments.
4431         * ipa-devirt.c (build_type_inheritance_graph,
4432         update_type_inheritance_graph): Likewise.
4433         * tree.c (build_function_type_list_1): Likewise.
4434         * cfgloopmanip.c (scale_loop_profile): Likewise.
4435         * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Likewise.
4436         * gimple-ssa-split-paths.c
4437         (find_block_to_duplicate_for_splitting_paths): Likewise.
4438         * tree-sra.c (init_subtree_with_zero, clobber_subtree): Likewise.
4439         * expr.c (convert_move): Likewise.
4440         * var-tracking.c (vt_stack_adjustments): Likewise.
4441         * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
4442         * tree-vrp.c (test_for_singularity): Likewise.
4444         * tree-vect-stmts.c (vectorizable_condition): Build a VEC_COND_EXPR
4445         directly instead of building a temporary tree.
4447         PR bootstrap/69434
4448         * genrecog.c: Define INCLUDE_ALGORITHM before including system.h,
4449         remove <algorithm> include.
4451 2016-01-22  Jakub Jelinek  <jakub@redhat.com>
4453         PR target/69432
4454         * config/i386/i386.c: Include dojump.h.
4455         (expand_small_movmem_or_setmem,
4456         expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Spelling
4457         fixes.
4458         (ix86_expand_set_or_movmem): Call do_pending_stack_adjust () early
4459         if dynamic_check != -1.
4461 2016-01-21  Jeff Law  <law@redhat.com>
4463         PR middle-end/69347
4464         * tree-ssa-dom.c (back_propagate_equivalences): Factored out of
4465         record_temporary_equivalences.  Rewritten to avoid unnecessary calls
4466         into dominated_by_p.
4467         (cprop_into_successor_phis): Avoid unnecessary tests.
4469 2016-01-22  Richard Henderson  <rth@redhat.com>
4471         PR target/69416
4472         * config/aarch64/aarch64.md (UNSPEC_NZCV): New.
4473         (ccmp<mode>, fccmp<mode>, fccmpe<mode>): Use it.
4475 2016-01-22  Michael Matz  <matz@suse.de>
4477         * system.h (string, algorithm): Include only conditionally.
4478         (new): Include always under C++.
4479         * bb-reorder.c (toplevel): Define INCLUDE_ALGORITHM.
4480         * final.c (toplevel): Ditto.
4481         * ipa-chkp.c (toplevel): Define INCLUDE_STRING.
4482         * genconditions.c (write_header): Make gencondmd.c define
4483         INCLUDE_STRING.
4484         * mem-stats.h (mem_usage::print_dash_line): Don't use std::string.
4486         * config/aarch64/aarch64.c (toplevel): Define INCLUDE_STRING.
4487         * common/config/aarch64/aarch64-common.c (toplevel): Ditto.
4489 2016-01-22  Christian Bruel  <christian.bruel@st.com>
4491         PR target/68674
4492         * expr.c (expand_expr_real_1): Reset DECL_MODE if VECTOR_TYPE_P changed.
4494 2016-01-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4496         PR target/69403
4497         * config/arm/thumb2.md (*thumb2_ior_scc_strict_it): Convert to
4498         define_insn_and_split.  Ensure operands[1] and operands[0] do not
4499         get assigned the same register.
4501 2016-01-22  Kugan Vivekanandarajah  <kuganv@linaro.org>
4503         * ipa-prop.c (ipa_set_jf_constant): Remove redundant unshare_expr.
4505 2016-01-22  Christian Bruel  <christian.bruel@st.com>
4507         * config/arm/arm-c.c (arm_pragma_target_parse):
4508         Remove warn_builtin_macro_redefined overwrite.
4510 2016-01-22  Eric Botcazou  <ebotcazou@adacore.com>
4512         * ipa-inline.c (can_inline_edge_p): Back out overzealous check on
4513         flag_non_call_exceptions compatibility.
4515 2016-01-22  Jakub Jelinek  <jakub@redhat.com>
4517         PR debug/66668
4518         * dwarf2out.c (add_child_die_after): New function.
4519         (dwarf_qual_info_t): New type.
4520         (dwarf_qual_info): New variable.
4521         (qualified_die_p): New function.
4522         (modified_type_die): For -fdebug-types-section, ensure
4523         canonical order of qualifiers.  Put qualified DIEs adjacent
4524         to the corresponding non-qualified type DIE and search there
4525         for existing qualified DIEs.
4527 2016-01-22  Eric Botcazou  <ebotcazou@adacore.com>
4529         * doc/extend.texi (scalar_storage_order type attribute): Document
4530         restriction on type punning and aliasing, and remove future tense.
4532 2016-01-21  Roman Zhuykov  <zhroma@ispras.ru>
4534         PR target/69252
4535         * modulo-sched.c (optimize_sc): Allow branch-scheduling to add a new
4536         first stage.
4538 2016-01-21  Jeff Law  <law@redhat.com>
4540         PR middle-end/69347
4541         * tree-ssa-dom.c (dom_opt_dom_walker::thread_across_edge): Avoid
4542         useless call to record_temporary_equivalences.
4543         * tree-ssa-threadbackward.c (find_jump_threads_backwards): Just
4544         allocate 10 slots in the bb_path vector and let it grow as needed.
4545         (fsm_find_control_statement_thread_paths): Similarly for the next_path
4546         vector.
4548 2016-01-21  David Edelsohn  <dje.gcc@gmail.com>
4550         * configure.ac (gcc_cv_as_powerpc_mfcrf, gcc_cv_as_machine_directive):
4551         Detangle.
4552         * configure: Regenerate.
4554 2016-01-21  Pat Haugen  <pthaugen@us.ibm.com>
4556         * config/rs6000/aix71.h (ASM_CPU_SPEC): Add entry for Power9.
4557         * config/rs6000/driver-rs6000.c (struct asm_names): Likewise.
4559 2016-01-21  Bernd Schmidt  <bschmidt@redhat.com>
4561         PR middle-end/66178
4562         * expr.c (expand_expr_real_2) [PLUS_EXPR, MINUS_EXPR]: Don't
4563         drop EXPAND_INITIALIZER.
4564         * rtl.h (contains_symbolic_reference_p): Declare.
4565         * rtlanal.c (contains_symbolic_reference_p): New function.
4566         * simplify-rtx.c (simplify_binary_operation_1): Don't turn
4567         a subtraction into a NOT if symbolic constants are involved.
4569 2016-01-21  Anton Blanchard  <anton@samba.org>
4570             Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4572         PR target/63354
4573         * config/rs6000/linux64.h (TARGET_KEEP_LEAF_WHEN_PROFILED): New
4574         #define.
4575         * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): New
4576         function.
4578 2016-01-21  Ajit Agarwal  <ajitkum@xilinx.com>
4580         * config/microblaze/microblaze.c
4581         (get_branch_target): New.
4582         (insert_wic_for_ilb_runout): New.
4583         (insert_wic): New.
4584         (microblaze_machine_dependent_reorg): New.
4585         (TARGET_MACHINE_DEPENDENT_REORG): Define macro.
4586         * config/microblaze/microblaze.md
4587         (UNSPEC_IPREFETCH): Define.
4588         (iprefetch): New pattern
4589         * config/microblaze/microblaze.opt
4590         (mxl-prefetch): New flag.
4592 2016-01-21  Ajit Agarwal  <ajitkum@xilinx.com>
4594         * config/microblaze/microblaze.h
4595         (FIXED_REGISTERS): Update in macro.
4596         (CALL_USED_REGISTERS): Update in macro.
4598 2016-01-21  Yuri Rumyantsev  <ysrumyan@gmail.com>
4600         PR rtl-optimization/68920
4601         * ifcvt.c (cond_move_process_if_block): Limit number of conditional
4602         moves.
4604 2016-01-21  Vladimir Makarov  <vmakarov@redhat.com>
4606         PR rtl-optimization/68990
4607         * lra-coalesce.c (lra_coalesce): Invalidate value for the result
4608         pseudo instead of inheritance ones.
4610 2016-01-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
4611             Nick Clifton  <nickc@redhat.com>
4613         PR target/69129
4614         PR target/69012
4615         * config/mips/mips.c (mips_compute_frame_info): Initialise
4616         args_size and hard_frame_pointer_offset fields of the frame
4617         structure before calling mips_global_pointer.
4619 2016-01-21  David Edelsohn  <dje.gcc@gmail.com>
4621         * configure.ac (gcc_cv_as_dwloc): Test support for debug frame section
4622         label reference.
4623         * configure: Regenerate.
4625 2016-01-21  Richard Biener  <rguenther@suse.de>
4627         * graphite-optimize-isl.c (get_schedule_map): Fix typo.
4629 2016-01-21  Marcin Kościelnicki  <koriakin@0x04.net>
4631         * config/s390/s390.c (s390_asm_declare_function_size): Add code
4632         to actually emit the .size directive.
4634 2016-01-21   Stefan Sørensen  <stefan.sorensen@spectralink.com>
4635              Jakub Jelinek  <jakub@redhat.com>
4637         PR target/69187
4638         PR target/65624
4639         * config/arm/arm-builtins.c (arm_expand_neon_builtin): Increase
4640         args array size by one to avoid buffer overflow.
4642 2016-01-21  Marcin Kościelnicki  <koriakin@0x04.net>
4644         * config/s390/s390.md (pool_section_start): Use switch_to_section
4645         to select proper read-only data section instead of hardcoding
4646         .rodata.
4647         (pool_section_end): Use switch_to_section to match the above.
4649 2016-01-21  Richard Biener  <rguenther@suse.de>
4651         PR tree-optimization/69378
4652         * tree-ssa-sccvn.c (dominated_by_p_w_unex): New function.
4653         (set_ssa_val_to): Use it for dominance checks taking into
4654         account not executable edges.
4656 2016-01-21  Jakub Jelinek  <jakub@redhat.com>
4658         PR c++/69355
4659         * tree-dfa.c (get_ref_base_and_extent): Use GET_MODE_BITSIZE (mode)
4660         for bitsize instead of GET_MODE_PRECISION (mode).
4662 2016-01-20  Martin Sebor  <msebor@redhat.com>
4664         PR c/52291
4665         * extend.texi (__sync Builtins): Clarify the semantics of
4666         __sync_fetch_and_OP built-ins on pointers.
4667         (__atomic Builtins): Same.
4669 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
4670             Sebastian Pop  <s.pop@samsung.com>
4672         * graphite-isl-ast-to-gimple.c (enum phi_node_kind): New.
4673         (class translate_isl_ast_to_gimple): Use phi_node_kind instead of bool.
4674         (is_valid_rename): Same.
4675         (translate_isl_ast_to_gimple::get_rename): Same.
4676         (translate_isl_ast_to_gimple::rename_all_uses): Same.
4677         (translate_isl_ast_to_gimple::rename_uses): Same.
4678         (get_new_name): Check for close_phi nodes.
4679         (copy_loop_phi_args): Use phi_node_kind.
4680         (translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same.
4681         (translate_isl_ast_to_gimple::copy_cond_phi_args): Same.
4683 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
4684             Sebastian Pop  <s.pop@samsung.com>
4686         Revert commit r229783.
4687         * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
4688         Remove use of parameter_rename_map.
4689         (copy_def): Remove.
4690         (copy_internal_parameters): Remove.
4691         (graphite_regenerate_ast_isl): Remove call to copy_internal_parameters.
4692         * sese.c (new_sese_info): Do not initialize parameter_rename_map.
4693         (free_sese_info): Do not free parameter_rename_map.
4694         (set_rename): Do not use parameter_rename_map.
4695         (rename_uses): Update call to set_rename.
4696         (graphite_copy_stmts_from_block): Do not use parameter_rename_map.
4697         * sese.h (parameter_rename_map_t): Remove.
4698         (struct sese_info_t): Remove field parameter_rename_map.
4700 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
4701             Sebastian Pop  <s.pop@samsung.com>
4703         * graphite-isl-ast-to-gimple.c: Fix comment.
4704         * graphite-scop-detection.c (defined_in_loop_p): New.
4705         (canonicalize_loop_closed_ssa): Do not add close phi nodes for SSA
4706         names defined in loop.
4708 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
4709             Sebastian Pop  <s.pop@samsung.com>
4711         * graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
4712         Discard unstructured if-then-else regions.
4714 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
4715             Sebastian Pop  <s.pop@samsung.com>
4717         * graphite-sese-to-poly.c (set_scop_parameter_dim): Remove.
4718         (cleanup_loop_iter_dom): Remove.
4719         (build_loop_iteration_domains): Remove.
4720         (build_scop_context): Remove.
4721         (build_scop_iteration_domain): Remove.
4722         (add_loop_constraints): New.
4723         (build_iteration_domains): New.
4724         (build_poly_scop): Call build_iteration_domains.
4726 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
4727             Sebastian Pop  <s.pop@samsung.com>
4729         * graphite-scop-detection.c
4730         (scop_detection::harmful_loop_in_region): Free dom and loops.
4731         (scop_detection::loop_body_is_valid_scop): Free bbs.
4733 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
4734             Sebastian Pop  <s.pop@samsung.com>
4736         * graphite-scop-detection.c (record_loop_in_sese): New.
4737         (gather_bbs::before_dom_children): Call record_loop_in_sese.
4738         (build_scops): Remove call to build_sese_loop_nests.
4739         * sese.c (sese_record_loop): Remove.
4740         (build_sese_loop_nests): Remove.
4741         (new_sese_info): Remove region->loops.
4742         (free_sese_info): Same.
4743         * sese.h (sese_contains_loop): Same.
4744         (build_sese_loop_nests): Remove.
4745         (sese_contains_loop): Remove.
4747 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
4748             Sebastian Pop  <s.pop@samsung.com>
4750         * graphite-scop-detection.c (loop_is_valid_scop): Renamed
4751         loop_is_valid_in_scop.
4752         (scop_detection::harmful_stmt_in_region): Renamed
4753         harmful_loop_in_region.
4754         Call loop_is_valid_in_scop.
4756 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
4757             Sebastian Pop  <s.pop@samsung.com>
4759         * graphite-isl-ast-to-gimple.c (translate_isl_ast): Also handle
4760         isl_ast_node_mark.
4762 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
4763             Sebastian Pop  <s.pop@samsung.com>
4765         * graphite-poly.c (new_poly_bb): Remove use of PBB_IS_REDUCTION.
4766         * graphite.h (struct poly_bb): Remove field is_reduction.
4767         (PBB_IS_REDUCTION): Remove.
4769 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
4770             Sebastian Pop  <s.pop@samsung.com>
4772         * graphite-dependences.c (constrain_domain): Add call to isl_*_coalesce.
4773         (add_pdr_constraints): Same.
4774         (scop_get_reads): Same.
4775         (scop_get_must_writes): Same.
4776         (scop_get_may_writes): Same.
4777         (scop_get_original_schedule): Same.
4778         (extend_schedule): Same.
4779         (apply_schedule_on_deps): Same.
4780         (carries_deps): Same.
4781         (compute_deps): Same.
4782         (scop_get_dependences): Same.
4783         * graphite-isl-ast-to-gimple.c
4784         (translate_isl_ast_to_gimple::generate_isl_schedule): Same.
4785         * graphite-optimize-isl.c (get_schedule_for_band): Same.
4786         (get_schedule_for_band_list): Same.
4787         (get_schedule_map): Same.
4788         (apply_schedule_map_to_scop): Same.
4789         * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
4790         (build_loop_iteration_domains): Same.
4791         (add_condition_to_pbb): Same.
4792         (add_param_constraints): Same.
4793         (pdr_add_memory_accesses): Same.
4794         (pdr_add_data_dimensions): Same.
4796 2016-01-20  Sandra Loosemore  <sandra@codesourcery.com>
4798         * doc/invoke.texi (Instrumentation Options): Clarify -mmpx linking
4799         requirements.
4801 2016-01-20  Sandra Loosemore  <sandra@codesourcery.com>
4803         * common.opt (feliminate-dwarf2-dups): Replace references to
4804         "DWARF 2" with just "DWARF".
4805         * config/ia64/ia64.opt (mdwarf2-asm): Likewise.
4806         * doc/extend.texi: Likewise.
4807         * doc/cpp.texi: Likewise.
4808         * doc/invoke.texi: Likewise.
4809         (Option Summary): Add -gdwarf to list of Debugging Options.
4810         (Debugging Options): Document -gdwarf.
4811         * doc/contrib.texi: Spell "DWARF" like that.
4813 2016-01-21  Jakub Jelinek  <jakub@redhat.com>
4815         * omp-low.c (expand_omp_target): Avoid -Wmaybe-uninitialized
4816         warning.  Fix up formatting.
4818         PR middle-end/67653
4819         * gimplify.c (gimplify_asm_expr): Warn if it is too late to
4820         attempt to mark memory input operand addressable and
4821         call prepare_gimple_addressable in that case.  Don't adjust
4822         input_location for diagnostics, use error_at instead.
4824 2016-01-20  Peter Bergner  <bergner@vnet.ibm.com>
4826         * config/rs6000/ppc-auxv.h: New file.
4827         * config/rs6000/rs6000-builtin.def (cpu_init): Add new builtin.
4828         (cpu_is): Likewise.
4829         (cpu_supports): Likewise.
4830         * config/rs6000/rs6000.c: include "ppc-auxv.h".
4831         (cpu_is_info): New variable.
4832         (cpu_supports_info): Likewise.
4833         (tcb_verification_symbol): Likewise.
4834         (cpu_builtin_p): Likewise.
4835         (cpu_expand_builtin): New function.
4836         (rs6000_expand_ternop_builtin): Add support for CPU builtin functions.
4837         (rs6000_init_builtins): Likewise.
4838         (rs6000_elf_file_end): Emit HWCAP in TCB verification symbol.
4839         * config/rs6000/rs6000.h (TLS_REGNUM): New define.
4840         * configure.ac (gcc_cv_libc_provides_hwcap_in_tcb): New test.
4841         * configure: Regenerate.
4842         * config.in: Likewise.
4843         * doc/extend.texi (PowerPC Built-in Functions): Document
4844         __builtin_cpu_init, __builtin_cpu_is and __builtin_cpu_supports.
4846 2016-01-20  David Edelsohn  <dje.gcc@gmail.com>
4848         PR target/68609
4849         * config/rs6000/rs6000.c (rs6000_emit_swsqrt): Add vector sqrt
4850         domain check.
4851         * config/rs6000/vector.md (sqrt<mode>2): Call rs6000_emit_swsqrt
4852         for V4SFmode.
4854 2016-01-20  Richard Henderson  <rth@redhat.com>
4856         PR bootstrap/69343
4857         PR bootstrap/69339
4858         PR tree-opt/68964
4859         Revert:
4860         * tree.c (tm_define_builtin): New.
4861         (find_tm_vector_type): New.
4862         (build_tm_vector_builtins): New.
4863         (build_common_builtin_nodes): Call it.
4865 2016-01-20  Christophe Lyon  <christophe.lyon@linaro.org>
4867         * doc/sourcebuild.texi (arm_crypto_pragma_ok): Document new entry.
4868         (arm_fp_ok): Likewise.
4869         (arm_fp): Likewise.
4870         (arm_crypto): Likewise.
4872 2016-01-20  Ilya Enkovich  <enkovich.gnu@gmail.com>
4873             Richard Biener  <rguenther@suse.de>
4875         PR tree-optimization/69328
4876         * tree-vect-stmts.c (vect_is_simple_cond): Check compared
4877         vectors have same number of elements.
4878         (vectorizable_condition): Fix masked version recognition.
4880 2016-01-20  Richard Biener  <rguenther@suse.de>
4882         PR tree-optimization/69345
4883         * tree-ssa-sccvn.h (VN_INFO_RANGE_INFO): New inline function.
4884         (VN_INFO_PTR_INFO): Likewise.
4885         * tree-ssa-sccvn.c (set_ssa_val_to): Avoid clearing points-to
4886         info when it is equal between non-dominating SSA names.
4887         * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
4888         Make sure to look at original SSA infos.
4890 2016-01-20  Jeff Law  <law@redhat.com>
4892         PR target/25114
4893         * config/m68k/predicates.md (pow2_m1_operand): New predicate
4894         extracted from ...
4895         (reg_or_pow2_m1_operand): Call pow2_m1_operand.
4896         (pc_or_label_operand): New predicate.
4897         * config/m68k/m68k.md: Add new peephole2 patterns for GTU/LEU
4898         tests for small integers that are 2^n - 1.
4900 2016-01-20  Jonathan Wakely  <jwakely@redhat.com>
4902         * doc/invoke.texi (Options Summary): Add '.' after @xref.
4904 2016-01-19  Jeff Law  <law@redhat.com>
4906         PR middle-end/69347
4907         * tree-ssa-threadbackwards.c
4908         (fsm_find_control_statement_thread_paths): Do not try to lookup
4909         FSM paths for SSA_NAMEs appearing in abnormal PHIs.
4911 2016-01-20  Kugan Vivekanandarajah  <kuganv@linaro.org>
4913         * doc/lto.texi: Remove text that says only Gold has linker plugin
4914         support.
4916 2016-01-19  Eric Botcazou  <ebotcazou@adacore.com>
4918         * dwarf2out.c (need_endianity_attribute_p): New inline predicate.
4919         (base_type_die): Add REVERSE parameter and attach DW_AT_endianity to
4920         the DIE accordingly.
4921         (modified_type_die): Add REVERSE parameter and pass it recursively,
4922         as well as to base_type_die.  Adjust presence check accordingly.
4923         (base_type_for_mode): Adjust call to modified_type_die.
4924         (add_type_attribute): Add REVERSE parameter and pass it to
4925         modified_type_die.
4926         (generic_parameter_die): Adjust call to add_type_attribute.
4927         (add_scalar_info): Likewise.
4928         (add_subscript_info): Likewise.
4929         (gen_array_type_die): Likewise.
4930         (gen_descr_array_type_die): Likewise.
4931         (gen_entry_point_die): Likewise.
4932         (gen_enumeration_type_die): Likewise.
4933         (gen_formal_parameter_die): Likewise.
4934         (gen_subprogram_die): Likewise.
4935         (gen_variable_die ): Likewise.
4936         (gen_const_die): Likewise.
4937         (gen_field_die): Likewise.
4938         (gen_pointer_type_die): Likewise.
4939         (gen_reference_type_die): Likewise.
4940         (gen_ptr_to_mbr_type_die): Likewise.
4941         (gen_inheritance_die): Likewise.
4942         (gen_subroutine_type_die): Likewise.
4943         (gen_typedef_die): Likewise.
4944         (force_type_die): Adjust call to modified_type_die.
4946 2016-01-19  Sandra Loosemore  <sandra@codesourcery.com>
4948         * doc/standards.texi: Copy-editing for grammar, markup, and sentence
4949         flow throughout the file.  Fix broken link to Objective-C 2.0
4950         documentation.
4951         * doc/invoke.texi: More copy-editing; fix numerous typos and spelling
4952         errors.
4954 2016-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
4956         * ccmp.c (expand_ccmp_expr_1): Avoid spurious unused warnings.
4958 2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
4960         PR ipa/66223
4961         * ipa-devirt.c (is_cxa_pure_virtual_p): New function.
4962         (maybe_record_node): Record cxa_pure_virtual as the only possible
4963         target if there are not ohter candidates.
4964         (possible_polymorphic_call_target_p): Accept cxa_pure_virtual.
4966 2016-01-19  Richard Biener  <rguenther@suse.de>
4968         * hsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants.
4969         (get_memory_order): Likewise.
4971 2016-01-19  Kirill Yukhin  <kirill.yukhin@intel.com>
4973         * tree-vect-stmts.c (vectorizable_store): Check
4974         rhs vectype.
4976 2016-01-19  David Malcolm  <dmalcolm@redhat.com>
4978         PR jit/68446
4979         * gcc.c (driver::decode_argv): Add call to
4980         init_opts_obstack before init_options_struct.
4981         * opts.c (init_opts_obstack): Remove idempotency.
4982         (init_options_struct): Replace call to init_opts_obstack
4983         with a gcc_assert to verify that it has already been called.
4984         * toplev.c (toplev::main): Add call to init_opts_obstack before
4985         calls to init_options_struct.
4986         (toplev::finalize): Move cleanup of opts_obstack next to
4987         cleanup of save_decoded_options, clearing the latter, and
4988         save_decoded_options_count.
4990 2016-01-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4992         PR target/69135
4993         * config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Set "conds"
4994         attribute to unconditional.  Remove %? from output template.
4996 2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
4997             Jiong Wang  <jiong.wang@arm.com>
4999         * ccmp.c (expand_ccmp_expr_1): Cost the instruction sequences
5000         generated from different expand order.
5002 2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
5004         * /config/aarch64/aarch64.c (aarch64_if_then_else_costs):
5005         Add support for CCMP costing.
5007 2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
5009         * ccmp.c (ccmp_candidate_p): Remove integer-only restriction.
5010         * config/aarch64/aarch64.md (fccmp<mode>): New pattern.
5011         (fccmpe<mode>): Likewise.
5012         (fcmp): Rename to fcmp and globalize pattern.
5013         (fcmpe): Likewise.
5014         * config/aarch64/aarch64.c (aarch64_gen_ccmp_first): Add FP support.
5015         (aarch64_gen_ccmp_next): Add FP support.
5017 2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
5019         * target.def (gen_ccmp_first): Update documentation.
5020         (gen_ccmp_next): Likewise.
5021         * doc/tm.texi (gen_ccmp_first): Update documentation.
5022         (gen_ccmp_next): Likewise.
5023         * ccmp.c (expand_ccmp_expr): Extract cmp_code from return value of
5024         expand_ccmp_expr_1.  Improve comments.
5025         * config/aarch64/aarch64.md (ccmp_and): Use if_then_else for ccmp.
5026         (ccmp_ior<mode>): Remove pattern.
5027         (cmp<mode>): Remove expand.
5028         (cmp): Globalize pattern.
5029         (cstorecc4): Use cc_register.
5030         (mov<mode>cc): Remove ccmp_cc_register check.
5031         * config/aarch64/aarch64.c (aarch64_get_condition_code_1):
5032         Simplify after removal of CC_DNE/* modes.
5033         (aarch64_ccmp_mode_to_code): Remove.
5034         (aarch64_print_operand): Remove 'K' case.  Merge 'm' and 'M' cases.
5035         In 'k' case use integer as condition.
5036         (aarch64_nzcv_codes): Remove inverted cases.
5037         (aarch64_code_to_ccmode): Remove.
5038         (aarch64_gen_ccmp_first): Use cmp pattern directly.  Return the correct
5039         comparison with CC register to be used in folowing CCMP/branch/CSEL.
5040         (aarch64_gen_ccmp_next): Use previous comparison and mode in CCMP
5041         pattern.  Return the comparison with CC register.  Invert conditions
5042         when bitcode is OR.
5043         * config/aarch64/aarch64-modes.def: Remove CC_DNE/* modes.
5044         * config/aarch64/predicates.md (ccmp_cc_register): Remove.
5046 2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
5048         * cgraphunit.c (cgraph_node::reset): Clear thunk info and
5049         instrumented_version.
5051 2016-01-19  Richard Biener  <rguenther@suse.de>
5053         PR tree-optimization/69336
5054         * tree-ssa-scopedtables.c (avail_expr_hash): Handle all
5055         handled components with get_ref_base_and_extent.
5056         (equal_mem_array_ref_p): Adjust.
5058 2016-01-19  Jakub Jelinek  <jakub@redhat.com>
5060         PR debug/65779
5061         * shrink-wrap.c: Include valtrack.h.
5062         (move_insn_for_shrink_wrap): Add DEBUG argument.  If
5063         MAY_HAVE_DEBUG_INSNS, call dead_debug_add on DEBUG_INSNs
5064         in between insn and where it will be moved to.  Call
5065         dead_debug_insert_temp.
5066         (prepare_shrink_wrap): Adjust caller.  Call dead_debug_local_init
5067         first and dead_debug_local_finish at the end.
5068         For uses and defs bitmap, handle all regs in between REGNO and
5069         END_REGNO, not just the first one.
5071 2016-01-19  Richard Biener  <rguenther@suse.de>
5073         PR tree-optimization/69352
5074         * tree-ssa-scopedtables.c (avail_expr_hash): Check for size == -1.
5075         (equal_mem_array_ref_p): Constrain size and max size properly.
5076         Compare the reverse flag.
5078 2016-01-19  Bernd Schmidt  <bschmidt@redhat.com>
5080         * ira.c (ira): Update regstat data if we deleted insns.
5082 2016-01-19  Jakub Jelinek  <jakub@redhat.com>
5084         PR rtl-optimization/68955
5085         PR rtl-optimization/64557
5086         * dse.c (record_store, check_mem_read_rtx): Don't call get_addr
5087         here.  Fix up formatting.
5088         * alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P.
5090 2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
5092         PR lto/69133
5093         * cgraphunit.c (cgraph_node::expand_thunk): When forcing gimple
5094         assume that the node has body.
5095         * cgraph.c (cgraph_node::get_untransformed_body): Use gimple_body_p
5096         check.
5098 2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
5100         * lto-streamer-out.c (lto_output): Do not stream instrumentation
5101         thunks.
5103 2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
5105         * symtab.c (symtab_node::asm_name): Do not call printable name directly.
5106         (symtab_node::name): Report name as unnamed if DECL_NAME is not set.
5108 2016-01-19  Martin Jambor  <mjambor@suse.cz>
5109             Martin Liska  <mliska@suse.cz>
5110             Michael Matz  <matz@suse.de>
5112         * Makefile.in (OBJS): Add new source files.
5113         (GTFILES): Add hsa.c.
5114         * common.opt (disable_hsa): New variable.
5115         (-Whsa): New warning.
5116         * config.in (ENABLE_HSA): New.
5117         * configure.ac: Treat hsa differently from other accelerators.
5118         (OFFLOAD_TARGETS): Define ENABLE_OFFLOADING according to
5119         $enable_offloading.
5120         (ENABLE_HSA): Define ENABLE_HSA according to $enable_hsa.
5121         * doc/install.texi (Configuration): Document --with-hsa-runtime,
5122         --with-hsa-runtime-include, --with-hsa-runtime-lib and
5123         --with-hsa-kmt-lib.
5124         * doc/invoke.texi (-Whsa): Document.
5125         (hsa-gen-debug-stores): Likewise.
5126         * lto-wrapper.c (compile_images_for_offload_targets): Do not attempt
5127         to invoke offload compiler for hsa acclerator.
5128         * opts.c (common_handle_option): Determine whether HSA offloading
5129         should be performed.
5130         * params.def (PARAM_HSA_GEN_DEBUG_STORES): New parameter.
5131         * builtin-types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
5132         (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
5133         (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
5134         * gimple-low.c (lower_stmt): Also handle GIMPLE_OMP_GRID_BODY.
5135         * gimple-pretty-print.c (dump_gimple_omp_for): Also handle
5136         GF_OMP_FOR_KIND_GRID_LOOP.
5137         (dump_gimple_omp_block): Also handle GIMPLE_OMP_GRID_BODY.
5138         (pp_gimple_stmt_1): Likewise.
5139         * gimple-walk.c (walk_gimple_stmt): Likewise.
5140         * gimple.c (gimple_build_omp_grid_body): New function.
5141         (gimple_copy): Also handle GIMPLE_OMP_GRID_BODY.
5142         * gimple.def (GIMPLE_OMP_GRID_BODY): New.
5143         * gimple.h (enum gf_mask): Added GF_OMP_PARALLEL_GRID_PHONY,
5144         GF_OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY and
5145         GF_OMP_TEAMS_GRID_PHONY.
5146         (gimple_statement_omp_single_layout): Updated comments.
5147         (gimple_build_omp_grid_body): New function.
5148         (gimple_has_substatements): Also handle GIMPLE_OMP_GRID_BODY.
5149         (gimple_omp_for_grid_phony): New function.
5150         (gimple_omp_for_set_grid_phony): Likewise.
5151         (gimple_omp_parallel_grid_phony): Likewise.
5152         (gimple_omp_parallel_set_grid_phony): Likewise.
5153         (gimple_omp_teams_grid_phony): Likewise.
5154         (gimple_omp_teams_set_grid_phony): Likewise.
5155         (gimple_return_set_retbnd): Also handle GIMPLE_OMP_GRID_BODY.
5156         * omp-builtins.def (BUILT_IN_GOMP_OFFLOAD_REGISTER): New.
5157         (BUILT_IN_GOMP_OFFLOAD_UNREGISTER): Likewise.
5158         (BUILT_IN_GOMP_TARGET): Updated type.
5159         * omp-low.c: Include symbol-summary.h, hsa.h and params.h.
5160         (adjust_for_condition): New function.
5161         (get_omp_for_step_from_incr): Likewise.
5162         (extract_omp_for_data): Moved parts to adjust_for_condition and
5163         get_omp_for_step_from_incr.
5164         (build_outer_var_ref): Handle GIMPLE_OMP_GRID_BODY.
5165         (fixup_child_record_type): Bail out if receiver_decl is NULL.
5166         (scan_sharing_clauses): Handle OMP_CLAUSE__GRIDDIM_.
5167         (scan_omp_parallel): Do not create child functions for phony
5168         constructs.
5169         (check_omp_nesting_restrictions): Handle GIMPLE_OMP_GRID_BODY.
5170         (scan_omp_1_op): Checking assert we are not remapping to
5171         ERROR_MARK.  Also also handle GIMPLE_OMP_GRID_BODY.
5172         (parallel_needs_hsa_kernel_p): New function.
5173         (expand_parallel_call): Register apprpriate parallel child
5174         functions as HSA kernels.
5175         (grid_launch_attributes_trees): New type.
5176         (grid_attr_trees): New variable.
5177         (grid_create_kernel_launch_attr_types): New function.
5178         (grid_insert_store_range_dim): Likewise.
5179         (grid_get_kernel_launch_attributes): Likewise.
5180         (get_target_argument_identifier_1): Likewise.
5181         (get_target_argument_identifier): Likewise.
5182         (get_target_argument_value): Likewise.
5183         (push_target_argument_according_to_value): Likewise.
5184         (get_target_arguments): Likewise.
5185         (expand_omp_target): Call get_target_arguments instead of looking
5186         up for teams and thread limit.
5187         (grid_expand_omp_for_loop): New function.
5188         (grid_arg_decl_map): New type.
5189         (grid_remap_kernel_arg_accesses): New function.
5190         (grid_expand_target_kernel_body): New function.
5191         (expand_omp): Call it.
5192         (lower_omp_for): Do not emit phony constructs.
5193         (lower_omp_taskreg): Do not emit phony constructs but create for them
5194         a temporary variable receiver_decl.
5195         (lower_omp_taskreg): Do not emit phony constructs.
5196         (lower_omp_teams): Likewise.
5197         (lower_omp_grid_body): New function.
5198         (lower_omp_1): Call it.
5199         (grid_reg_assignment_to_local_var_p): New function.
5200         (grid_seq_only_contains_local_assignments): Likewise.
5201         (grid_find_single_omp_among_assignments_1): Likewise.
5202         (grid_find_single_omp_among_assignments): Likewise.
5203         (grid_find_ungridifiable_statement): Likewise.
5204         (grid_target_follows_gridifiable_pattern): Likewise.
5205         (grid_remap_prebody_decls): Likewise.
5206         (grid_copy_leading_local_assignments): Likewise.
5207         (grid_process_kernel_body_copy): Likewise.
5208         (grid_attempt_target_gridification): Likewise.
5209         (grid_gridify_all_targets_stmt): Likewise.
5210         (grid_gridify_all_targets): Likewise.
5211         (execute_lower_omp): Call grid_gridify_all_targets.
5212         (make_gimple_omp_edges): Handle GIMPLE_OMP_GRID_BODY.
5213         * tree-core.h (omp_clause_code): Added OMP_CLAUSE__GRIDDIM_.
5214         (tree_omp_clause): Added union field dimension.
5215         * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__GRIDDIM_.
5216         * tree.c (omp_clause_num_ops): Added number of arguments of
5217         OMP_CLAUSE__GRIDDIM_.
5218         (omp_clause_code_name): Added name of OMP_CLAUSE__GRIDDIM_.
5219         (walk_tree_1): Handle OMP_CLAUSE__GRIDDIM_.
5220         * tree.h (OMP_CLAUSE_GRIDDIM_DIMENSION): New.
5221         (OMP_CLAUSE_SET_GRIDDIM_DIMENSION): Likewise.
5222         (OMP_CLAUSE_GRIDDIM_SIZE): Likewise.
5223         (OMP_CLAUSE_GRIDDIM_GROUP): Likewise.
5224         * passes.def: Schedule pass_ipa_hsa and pass_gen_hsail.
5225         * tree-pass.h (make_pass_gen_hsail): Declare.
5226         (make_pass_ipa_hsa): Likewise.
5227         * ipa-hsa.c: New file.
5228         * lto-section-in.c (lto_section_name): Add hsa section name.
5229         * lto-streamer.h (lto_section_type): Add hsa section.
5230         * timevar.def (TV_IPA_HSA): New.
5231         * hsa-brig-format.h: New file.
5232         * hsa-brig.c: New file.
5233         * hsa-dump.c: Likewise.
5234         * hsa-gen.c: Likewise.
5235         * hsa.c: Likewise.
5236         * hsa.h: Likewise.
5237         * toplev.c (compile_file): Call hsa_output_brig.
5238         * hsa-regalloc.c: New file.
5240 2016-01-18  Jeff Law  <law@redhat.com>
5242         PR tree-optimization/69320
5243         * tree-ssa-dom.c (record_edge_info): For comparisons against a boolean
5244         ranged object, do nothing if the RHS constant is not [0..1].
5245         (optimize_stmt): Comparing a boolean ranged object against a
5246         constant outside [0..1] results in a compile-time constant.
5248         * tree-ssanames.c (ssa_name_has_boolean_range): Remove unnecessary
5249         test.
5251 2016-01-18  Sandra Loosemore  <sandra@codesourcery.com>
5253         * doc/invoke.texi (Invoking GCC): Add new section to menu.
5254         (Option Summary): Update to reflect new section and moved options.
5255         (C++ Dialect Options): Move -fstats to new section.
5256         (Debugging Options): Move all dump, statistics, and other GCC
5257         developer options to new section.  Rewrite section introduction
5258         and re-order remaining options to put the more basic ones first.
5259         (Optimization Options): Move -fira-verbose and -flto-report* to
5260         new section.
5261         (Developer Options): New section incorporating moved options.
5262         * doc/cppopts.texi (-dM): Update cross-reference.
5264 2016-01-18  Richard Henderson  <rth@redhat.com>
5266         PR target/69176
5267         * config/aarch64/aarch64.md (add<GPI>3): Move long immediate
5268         operands to pseudo only if CSE is expected.  Split long immediate
5269         operands only after reload, and for the stack pointer.
5270         (*add<GPI>3_pluslong): Remove.
5271         (*addsi3_aarch64, *adddi3_aarch64): Merge into...
5272         (*add<GPI>3_aarch64): ... here.  Add r/rk/Upl alternative.
5273         (*addsi3_aarch64_uxtw): Add r/rk/Upl alternative.
5274         (*add<GPI>3 peepholes): New.
5275         (*add<GPI>3 splitters): New.
5276         * config/aarch64/constraints.md (Upl): New.
5277         * config/aarch64/predicates.md (aarch64_pluslong_strict_immedate): New.
5279 2016-01-18  Richard Biener  <rguenther@suse.de>
5281         PR tree-optimization/69297
5282         * tree-vect-slp.c (vect_bb_slp_scalar_cost): Count each scalar
5283         stmt at most once.
5284         (vect_bb_vectorization_profitable_p): Clear visited flag again.
5286 2016-01-18  Yuri Rumyantsev  <ysrumyan@gmail.com>
5288         PR middle-end/68542
5289         * fold-const.c (fold_binary_op_with_conditional_arg): Bail out for case
5290         of mixind vector and scalar types.
5291         (fold_relational_const): Add handling of vector
5292         comparison with boolean result.
5293         * tree-cfg.c (verify_gimple_comparison): Add argument CODE, allow
5294         comparison of vector operands with boolean result for EQ/NE only.
5295         (verify_gimple_assign_binary): Adjust call for verify_gimple_comparison.
5296         (verify_gimple_cond): Likewise.
5297         * tree-vrp.c (extract_code_and_val_from_cond_with_ops): Modify check on
5298         valid type of VAL.
5300 2016-01-18  Joseph Myers  <joseph@codesourcery.com>
5302         * config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): Require
5303         !TARGET_OCTEON.
5305 2016-01-18  Richard Biener  <rguenther@suse.de>
5307         PR middle-end/69308
5308         * gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND.
5310 2016-01-18  Tom de Vries  <tom@codesourcery.com>
5312         * passes.def: Add pass_parallelize_loops to pass_oacc_kernels.
5314 2016-01-18  Tom de Vries  <tom@codesourcery.com>
5316         * omp-low.c (set_oacc_fn_attrib): Make extern.
5317         * omp-low.h (set_oacc_fn_attrib): Declare.
5318         * tree-parloops.c (struct reduction_info): Add reduc_addr field.
5319         (create_call_for_reduction_1): Handle case that reduc_addr is non-NULL.
5320         (create_parallel_loop, gen_parallel_loop, try_create_reduction_list):
5321         Add and handle function parameter oacc_kernels_p.
5322         (find_reduc_addr, get_omp_data_i_param): New function.
5323         (ref_conflicts_with_region, oacc_entry_exit_ok_1)
5324         (oacc_entry_exit_single_gang, oacc_entry_exit_ok): New function.
5325         (parallelize_loops): Add and handle function parameter oacc_kernels_p.
5326         Calculate dominance info.  Skip loops that are not in a kernels region
5327         in oacc_kernels_p mode.  Skip inner loops of parallelized loops.
5328         (pass_parallelize_loops::execute): Call parallelize_loops with
5329         oacc_kernels_p argument.
5330         (pass_parallelize_loops::clone, pass_parallelize_loops::set_pass_param):
5331         New member function.
5332         (pass_parallelize_loops::bool oacc_kernels_p): New member var.
5333         * passes.def: Add argument to pass_parallelize_loops instantation.
5335 2016-01-18  Tom de Vries  <tom@codesourcery.com>
5337         * tree-parloops.c (pass_parallelize_loops::execute): Allow
5338         pass_parallelize_loops to be run outside the loop pipeline.
5340 2016-01-18  Alan Lawrence  <alan.lawrence@arm.com>
5342         * tree-scalar-evolution.c (follow_copies_to_constant): New.
5343         (analyze_initial_condition, analyze_scalar_evolution_1): Call previous.
5345 2016-01-18  Alan Lawrence  <alan.lawrence@arm.com>
5347         PR target/63679
5348         * tree-ssa-scopedtables.c (avail_expr_hash): Hash MEM_REF and ARRAY_REF
5349         using get_ref_base_and_extent.
5350         (equal_mem_array_ref_p): New.
5351         (hashable_expr_equal_p): Add call to previous.
5353 2016-01-18  Alan Lawrence  <alan.lawrence@arm.com>
5355         PR target/63679
5356         * tree-sra.c (disqualified_constants, constant_decl_p): New.
5357         (sra_initialize): Allocate disqualified_constants.
5358         (sra_deinitialize): Free disqualified_constants.
5359         (disqualify_candidate): Update disqualified_constants when appropriate.
5360         (create_access): Scan for constant-pool entries as we go along.
5361         (scalarizable_type_p): Add check against type_contains_placeholder_p.
5362         (maybe_add_sra_candidate): Allow constant-pool entries.
5363         (load_assign_lhs_subreplacements): Bind debug for constant pool vars.
5364         (initialize_constant_pool_replacements): New.
5365         (sra_modify_assign): Avoid mangling assignments created by previous,
5366         and don't generate writes into constant pool.
5367         (sra_modify_function_body): Call initialize_constant_pool_replacements.
5369 2016-01-18  Ilya Enkovich  <enkovich.gnu@gmail.com>
5371         * config/i386/i386.c (scalar_to_vector_candidate_p): Support
5372         andnot instruction.
5373         (scalar_chain::convert_op): Likewise.
5374         * config/i386/i386.md (*andndi3_doubleword): New.
5376 2016-01-18  Richard Biener  <rguenther@suse.de>
5378         PR tree-optimization/69170
5379         * tree-vect-slp.c (vect_build_slp_tree): Verify we are not
5380         building a vector from scalar results of a pattern stmt.
5382 2016-01-18  Jakub Jelinek  <jakub@redhat.com>
5384         * haifa-sched.c (autopref_multipass_init): Work around
5385         -Wmaybe-uninitialized warning.
5387 2016-01-18  Thomas Preud'homme  <thomas.preudhomme@arm.com>
5389         * config/arm/arm.c (thumb1_reorg): Check that the comparison is
5390         against the constant 0.
5392 2016-01-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5394         PR tree-optimization/68799
5395         * gimple-ssa-strength-reduction.c (create_phi_basis): Directly
5396         look up phi candidates in the statement-candidate map.
5397         (phi_add_costs): Likewise.
5398         (record_phi_increments): Likewise.
5399         (phi_incr_cost): Likewise.
5400         (ncd_with_phi): Likewise.
5401         (all_phi_incrs_profitable): Likewise.
5403 2016-01-17  Jakub Jelinek  <jakub@redhat.com>
5405         * omp-low.c (mark_loops_in_oacc_kernels_region): Work around
5406         -Wmaybe-uninitialized warning.
5408 2016-01-16  Sandra Loosemore  <sandra@codesourcery.com>
5410         * doc/invoke.texi (Invoking GCC): Add new section to menu.
5411         (Option Summary): Update to reflect new section and moved options.
5412         (C++ Dialect Options): Move -fvtable-verify and related options.
5413         (Debugging Options): Move Sanitizer, Pointer Bounds Checker,
5414         and profiling-related options.
5415         (Optimization Options): Move profile generation options and
5416         -fstack-protector and related options.
5417         (Instrumentation Options): New section incorporating moved options.
5418         (Code Generation Options): Move -finstrument-functions and
5419         related options, -fstack-check, -fstack-limit*, and -fbounds-check.
5421 2016-01-16  Tom de Vries  <tom@codesourcery.com>
5423         * passes.def: Move pass_expand_omp_ssa out of pass_parallelize_loops.
5425 2016-01-16  Tom de Vries  <tom@codesourcery.com>
5427         * omp-low.c (expand_omp_atomic_fetch_op):  Release defs of update stmt.
5429 2016-01-16  Richard Sandiford  <richard.sandiford@arm.com>
5431         * hash-table.h (hash_table::empty): Turn into an inline wrapper
5432         that checks whether the table is already empty.  Rename the
5433         original implementation to...
5434         (hash_table::empty_slot): ...this new private function.
5436 2016-01-15  David Malcolm  <dmalcolm@redhat.com>
5438         PR diagnostic/68899
5439         * diagnostic-show-locus.c (layout::print_source_line): Move x
5440         offset of line until after call to
5441         get_line_width_without_trailing_whitespace.
5443 2016-01-15  Jeff Law  <law@redhat.com>
5445         PR tree-optimization/69270
5446         * tree-ssanames.c (ssa_name_has_boolean_range): Moved here from
5447         tree-ssa-dom.c.  Improve test for [0..1] ranve from VRP.
5448         * tree-ssa-dom.c (ssa_name_has_boolean_range): Remove.
5449         * tree-ssanames.h (ssa_name_has_boolean_range): Prototype.
5450         * tree-ssa-uncprop.c (associate_equivalences_with_edges): Use
5451         ssa_name_has_boolean_range and constant_boolean_node.
5453 2016-01-15  Vladimir Makarov  <vmakarov@redhat.com>
5455         PR rtl-optimization/69030
5456         * lra-spills.c (remove_pseudos): Check nrefs and make the function
5457         returning bool.
5458         (spill_pseudos): Delete debug insn for dead pseudo.
5459         (lra_spill): Initiate spill_hard_reg and slots memory separately.
5461 2016-01-15  Jiong Wang  <jiong.wang@arm.com>
5463         * config/aarch64/aarch64-builtins.c (aarch64_types_unopus_qualifiers):
5464         New.
5465         (TYPES_UNOPUS): Likewise.
5466         * config/aarch64/aarch64-simd-builtins.def (lbtruncuv2sf): Correct
5467         builtin type, from UNOP to UNOPUS.
5468         (lbtruncuv4sf): Likewise.
5469         (lbtruncuv2df): Likewise.
5470         (lrounduv2sf): Likewise.
5471         (lrounduv4sf): Likewise.
5472         (lrounduv2df): Likewise.
5473         (lroundusf): Likewise.
5474         (lroundusf): Likewise.
5475         (lceiluv2sf): Likewise.
5476         (lceiluv4sf): Likewise.
5477         (lceiluv2df): Likewise.
5478         (lceilusf): Likewise.
5479         (lceiludf): Likewise.
5480         (lflooruv2sf): Likewise.
5481         (lflooruv4sf): Likewise.
5482         (lflooruv2df): Likewise.
5483         (lfloorusf): Likewise.
5484         (lfloorudf): Likewise.
5485         (lfrintnuv2sf): Likewise.
5486         (lfrintnuv4sf): Likewise.
5487         (lfrintnuv2df): Likewise.
5488         (lfrintnusf): Likewise.
5489         (lfrintnudf): Likewise.
5490         * config/aarch64/arm_neon.h (vcvt_u32_f32): Remove unncessary type
5491         conversion.
5492         (vcvtq_u32_f32): Likewise.
5493         (vcvtq_u64_f64): Likewise.
5494         (vcvta_u32_f32): Likewise.
5495         (vcvtaq_u32_f32): Likewise.
5496         (vcvtaq_u64_f64): Likewise.
5497         (vcvtm_u32_f32): Likewise.
5498         (vcvtmq_u32_f32): Likewise.
5499         (vcvtmq_u64_f64): Likewise.
5500         (vcvtn_u32_f32): Likwise.
5501         (vcvtnq_u32_f32): Likewise.
5502         (vcvtnq_u64_f64): Likewise.
5503         (vcvtp_u32_f32): Likewise.
5504         (vcvtpq_u32_f32): Likewise.
5505         (vcvtpq_u64_f64): Likewise.
5506         (vcvtmd_u64_f64): Likewise.
5507         (vcvtms_u32_f32): Likewise.
5508         (vcvtad_u64_f64): Likewise.
5509         (vcvtas_u32_f32): Likewise.
5510         (vcvtnd_u64_f64): Likewise.
5511         (vcvtns_u32_f32): Likewise.
5512         (vcvtpd_u64_f64): Likewise.
5513         (vcvtps_u32_f32): Likewise.
5515 2016-01-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5517         * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Handle
5518         CSEL of zero_extended registers.
5520 2016-01-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5522         * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
5523         Handle COMPARE of ZERO_EXTRACT against zero form of TST-immediate.
5525 2016-01-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5527         * config/aarch64/aarch64.c (aarch64_process_one_target_attr): Return
5528         false when argument string is not found in the attributes table
5529         at all.
5531 2016-01-15  David Edelsohn  <dje.gcc@gmail.com>
5533         PR target/68609
5534         * config/rs6000/rs6000.c (rs6000_emit_msub): Delete.
5535         (rs6000_emit_swsqrt): Convert to Goldschmidt's Algorithm
5536         * config/rs6000/rs6000.md (sqrt<mode>2): Limit swsqrt to high
5537         precision estimate.
5539 2016-01-15  Richard Biener  <rguenther@suse.de>
5541         PR tree-optimization/66856
5542         * tree-vect-loop.c (vect_transform_loop): Free SLP instances here.
5543         * tree-vect-slp.c (vect_free_slp_tree): Decrement stmt reference count.
5544         (vect_create_new_slp_node): Increment stmt reference count.
5545         (vect_get_and_check_slp_defs): Make sure stmts are nor already in
5546         an SLP tree before swapping operands.
5547         (vect_build_slp_tree): Likewise.
5548         (destroy_bb_vec_info): Free stmt info after SLP instances.
5549         * tree-vect-stmts.c (new_stmt_vec_info): Initialize reference count.
5550         * tree-vectorizer.h (struct _stmt_vec_info): Add num_slp_uses field.
5551         (STMT_VINFO_NUM_SLP_USES): New macro.
5553 2016-01-15  Richard Biener  <rguenther@suse.de>
5555         PR debug/69137
5556         * dwarf2out.c (add_linkage_name_raw): New function split out from ...
5557         (add_linkage_name): ... here.
5558         (gen_typedef_die): Use add_linkage_name_raw instead of
5559         add_linkage_attr to delay DECL_ASSEMBLER_NAME computation
5560         if necessary.
5562 2016-01-15  Cesar Philippidis  <cesar@codesourcery.com>
5564         * gimplify.c (oacc_default_clause): Decode reference and pointer
5565         types for both kernels and parallel regions.
5567 2016-01-15  Richard Sandiford  <richard.sandiford@arm.com>
5569         PR middle-end/69246
5570         * calls.c (emit_call_1): Force n_popped to zero for sibcalls.
5572 2016-01-15  Ilya Enkovich  <enkovich.gnu@gmail.com>
5574         * config/i386/i386.c (scalar_chain::compute_convert_gain): Fix typo.
5575         (convert_scalars_to_vector): Likewise.
5577 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
5579         * doc/extend.texi (Type Traits): Fix grammar.
5581 2016-01-15  Martin Jambor  <mjambor@suse.cz>
5583         * tree-inline.c (remap_decl): Use existing dclarations if
5584         remapping a type and prevent_decl_creation_for_types.
5585         (replace_locals_stmt): Do an initial remapping of non-VLA typed
5586         decls first.  Do real remapping with
5587         prevent_decl_creation_for_types set.
5588         * tree-inline.h (copy_body_data): New field
5589         prevent_decl_creation_for_types, moved remap_var_for_cilk to avoid
5590         padding.
5592 2016-01-15  Dominik Vogt  <vogt@linux.vnet.ibm.com>
5594         * config/s390/s390.opt (mmvcle): More verbose help text.
5596 2016-01-15  Dominik Vogt  <vogt@linux.vnet.ibm.com>
5598         * config/s390/s390.opt: Add period to -mzvector option text.
5600 2016-01-15  Richard Biener  <rguenther@suse.de>
5602         PR tree-optimization/68961
5603         * tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost
5604         of invariants in stores again.
5606 2016-01-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5608         * config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib.
5610 2016-01-15  Ilya Enkovich  <enkovich.gnu@gmail.com>
5612         * config/i386/i386.c (ix86_expand_branch): Don't split
5613         DI mode xor instruction to SI mode.
5615 2016-01-15  Jan Hubicka  <hubicka@ucw.cz>
5617         PR ipa/68148
5618         * ipa-icf.c (sem_function::merge): Virtual functions may become
5619         reachable even if they address is not taken and there are no
5620         idrect calls.
5622 2016-01-15  Jan Hubicka  <hubicka@ucw.cz>
5624         * lto-streamer-out.c (subtract_estimated_size): New function.
5625         (get_symbol_initial_value): Use it.
5627 2016-01-15  Christian Bruel  <christian.bruel@st.com>
5629         PR target/65837
5630         * config/arm/arm-builtins.c (ARM_BUILTIN_CRYPTO_BASE): New enum tag.
5631         (arm_init_neon_builtins_internal): Rename arm_init_neon_builtins,
5632         (arm_init_crypto_builtins_internal): Rename arm_init_crypto_builtins.
5633         use add_builtin_function_ext_scope instead of add_builtin_function.
5634         (neon_set_p, neon_crypto_set_p): Remove.
5635         (arm_init_builtins): Always call arm_init_neon_builtins and
5636         arm_init_crypto_builtins.
5637         (arm_expand_builtin): Check that builtins are allowed for the arch.
5638         * config/arm/arm-protos.h (arm_init_neon_builtins): Remove prototype.
5639         * config/arm/arm.c (arm_valid_target_attribute_tree): Remove
5640         arm_init_neon_builtins call.
5642 2016-01-15  Richard Biener  <rguenther@suse.de>
5644         PR tree-optimization/69117
5645         * tree-ssa-sccvn.h (struct vn_ssa_aux): Add info member.
5646         * tree-ssa-sccvn.c (set_ssa_val_to): Save and adjust SSA name info
5647         of the leader conservatively.
5648         (free_scc_vn): Restore original SSA name infos.
5650 2016-01-14  Jeff Law  <law@redhat.com>
5652         PR tree-optimization/69270
5653         * tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a
5654         single bit of precision, verify it's also unsigned.
5655         (record_edge_info): Use constant_boolean_node rather than fold_convert
5656         to convert boolean_true/boolean_false to the right type.
5658 2016-01-14  Richard Henderson  <rth@redhat.com>
5660         PR rtl-opt/69014
5661         * loop-doloop.c (record_reg_sets): New.
5662         (doloop_optimize): Reject the transform if the sequence
5663         clobbers registers live at the end of the loop block.
5664         (doloop_optimize_loops): Enable df_live if needed.
5666 2016-01-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
5668         * config/rs6000/rs6000-builtin.def: Revert 2016-01-13 change.
5669         * gcc/config/rs6000/rs6000.c: Likewise.
5670         * gcc/config/rs6000/rs6000.h: Likewise.
5671         * gcc/config/rs6000/rs6000.md: Likewise.
5672         * gcc/doc/extend.texi: Likewsie.
5674 2016-01-14  Jeff Law  <law@redhat.com>
5676         * tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment
5677         typo.
5679 2016-01-14  Richard Henderson  <rth@redhat.com>
5681         PR c/69272
5682         PR tree-opt/68964
5683         * trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size.
5684         * tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p
5685         instead of builtin_decl_declared_p to test for declaration.
5687 2016-01-14  Nicklas Bo Jensen  <nbjensen@gmail.com>
5689         * doc/loop.texi (Loop Analysis and Representation): Document
5690         loop_depth function.
5692 2016-01-14  Tom de Vries  <tom@codesourcery.com>
5694         PR tree-optimization/68773
5695         * omp-low.c (expand_omp_target): Don't set force_output.
5696         * varpool.c (varpool_node::get_create): Same.
5697         * lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and
5698         offload_funcs with force_output.
5700 2016-01-14  Jakub Jelinek  <jakub@redhat.com>
5702         PR debug/69244
5703         * lra-eliminations.c (move_plus_up): Don't change anything if either
5704         the outer or inner subreg mode is not MODE_INT.
5705         * dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is
5706         integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards.
5708 2016-01-14  Alan Lawrence  <alan.lawrence@arm.com>
5710         * doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m},
5711         reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m},
5712         reduc_uplus_@var{m}): Remove.
5713         * expr.c (expand_expr_real_2): Remove expansion path for
5714         reduc_[us](min|max|plus) optabs.
5715         * optabs-tree.c (scalar_reduc_to_vector): Remove.
5716         * optabs-tree.h (scalar_reduc_to_vector): Remove.
5717         * optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab,
5718         reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove.
5719         * tree-vect-loop.c (vectorizable_reduction): Remove test for
5720         reduc_[us](min|max|plus) optabs.
5722 2016-01-14  Alan Lawrence  <alan.lawrence@arm.com>
5724         * config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove.
5725         (reduc_plus_scal_v2sf): New.
5726         (reduc_smax_v2sf): Rename to...
5727         (reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract.
5728         (reduc_smin_v2sf): Rename to...
5729         (reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract.
5731 2016-01-14  Jan Hubicka  <hubicka@ucw.cz>
5733         * alias.c (compare_base_symbol_refs): New function.
5734         (rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use
5735         it.
5737 2016-01-14  Jakub Jelinek  <jakub@redhat.com>
5739         PR middle-end/68146
5740         PR tree-optimization/69155
5741         * tree-complex.c: Include cfganal.h.
5742         (phis_to_revisit): New variable.
5743         (extract_component): Add phiarg_p argument.  Assert that returned
5744         SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true.
5745         (update_phi_components): Partly rewrite to use loop over real/imag
5746         components instead of code duplication.  If extract_component returns
5747         SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or
5748         create_tmp_reg into the PHI node instead, and mention the phi triplet
5749         in phis_to_revisit.
5750         (tree_lower_complex): Walk bbs in rpo order.  Adjust phis recorded
5751         in phis_to_revisit at the end.
5753 2016-01-14  Richard Biener  <rguenther@suse.de>
5755         PR tree-optimization/68060
5756         * tree-vect-loop.c (vect_is_simple_reduction): Check the
5757         outer loop reduction is only used in the inner loop before
5758         detecting a double reduction.
5760 2016-01-14  Jakub Jelinek  <jakub@redhat.com>
5762         PR target/68269
5763         * combine.c (expand_field_assignment): Punt if compute_mode is
5764         unsupported scalar mode.
5766 2016-01-14  Richard Biener  <rguenther@suse.de>
5768         PR tree-optimization/66856
5769         * tree-vect-slp.c (vect_build_slp_tree): Refactor to build
5770         SLP node only if it built successfully.
5771         (vect_analyze_slp_instance): Adjust.
5773 2016-01-14  Jeff Law  <law@redhat.com>
5775         PR tree-optimization/69270
5776         * tree-ssa-dom.c (ssa_name_has_boolean_range): New function.
5777         (record_edge_info): Use it.  Convert boolean_{true,false}_node
5778         to the type of op0.
5780 2016-01-13  Jan Hubicka  <hubicka@ucw.cz>
5782         PR ipa/66487
5783         * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p):
5784         use block_ultimate_origin
5785         (noncall-stmt_may_be_vtbl_ptr_store): Likewise.
5787 2016-01-13  Sandra Loosemore  <sandra@codesourcery.com>
5789         * doc/invoke.texi (Submodel Options): Rename section to
5790         "Machine-Dependent Options" to better reflect its content.
5791         Rewrite introductory text to remove archaic CPU names.
5792         Update references.
5794 2016-01-13  Sandra Loosemore  <sandra@codesourcery.com>
5796         * doc/invoke.texi (Code Gen Options): Move section up in file,
5797         before target-specific options.  Update menu and option summary
5798         to reflect the new section ordering.
5800 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
5802         * doc/invoke.texi (C Dialect Options): Adjust -std default for C++.
5803         (C++ Dialect Options): Add cross-reference to -std option.
5804         * doc/standards.texi (C++ Language): Document C++14 support.
5806 2016-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
5808         * config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support
5809         for pack/unpack functions for __ibm128.
5810         (PACK_IF): Likewise.
5811         (UNPACK_IF): Likewise.
5813         * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
5814         support for __ibm128 pack/unpack functions.
5815         (rs6000_invalid_builtin): Likewise.
5816         (rs6000_init_builtins): Likewise.
5817         (rs6000_opt_masks): Likewise.
5819         * config/rs6000/rs6000.h (MASK_FLOAT128): Add short name.
5820         (RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack
5821         functions
5822         (RS6000_BTM_COMMON): Likewise.
5824         * config/rs6000/rs6000.md (f128_vsx): New mode attribute.
5825         (unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to
5826         disallow __builtin_{pack,unpack}_longdouble if long double is IEEE
5827         128-bit floating point.  Add support for the double values to be
5828         in Altivec registers for TF/IF packing and unpacking, but restrict
5829         TD packing sub-fields to be FPR registers.  Don't allow overlapped
5830         register support for packing.  Allow pack inputs to be memory
5831         locations.  Don't build generator functions for unpack<mode>_dm
5832         and unpack<mode>_nodm.
5833         (unpack<mode>_dm): Likewise.
5834         (unpack<mode>_nodm): Likewise.
5835         (pack<mode>): Likewise.
5837         * config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add
5838         built-in functions to pack/unpack explicit __ibm128 values.
5839         (__builtin_unpack_ibm128): Likewise.
5841         * doc/extend.texi (PowerPC Built-in Functions): Document
5842         __builtin_pack_ibm128 and __builtin_unpack_ibm128.
5844 2016-01-13  Bernd Schmidt  <bschmidt@redhat.com>
5846         PR c/66208
5847         * c-common.c (check_function_nonnull): Remove unnecessary declaration.
5848         Add new arg loc and pass it down as context.
5849         (check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer
5850         to the location to use for the warning.
5851         (check_function_arguments): New arg loc.  All callers changed.  Pass
5852         it to check_function_nonnull.
5853         * c-common.h (check_function_arguments): Adjust declaration.
5855 2016-01-13  Jakub Jelinek  <jakub@redhat.com>
5857         PR tree-optimization/69156
5858         * gimple.c (validate_type): Removed.
5859         (gimple_builtin_call_types_compatible_p): Use
5860         useless_type_conversion_p instead of validate_type.
5861         * value-prof.c (gimple_stringop_fixed_value): Fold
5862         icall_size to correct type.
5864 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
5866         * doc/extend.texi (__atomic Builtins): Clarify compare_exchange
5867         effects.
5869 2016-01-13  Richard Henderson  <rth@redhat.com>
5871         PR tree-opt/68964
5872         * target.def (builtin_tm_load, builtin_tm_store): Remove.
5873         * config/i386/i386.c (ix86_builtin_tm_load): Remove.
5874         (ix86_builtin_tm_store): Remove.
5875         (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
5876         (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
5877         * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
5878         (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
5879         * doc/tm.texi: Rebuild.
5881         * gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New.
5882         (BUILT_IN_TM_MEMCPY_RTWN): New.
5883         * trans-mem.c (tm_log_emit_stmt): Rearrange code for better
5884         fallback from vector to integer helpers.
5885         (build_tm_load): Handle vector types directly, instead of
5886         via target hook.
5887         (build_tm_store): Likewise.
5888         (expand_assign_tm): Prepare for register types not handled by
5889         the above.  Copy them to memory and use memcpy.
5890         * tree.c (tm_define_builtin): New.
5891         (find_tm_vector_type): New.
5892         (build_tm_vector_builtins): New.
5893         (build_common_builtin_nodes): Call it.
5895 2016-01-13  Uros Bizjak  <ubizjak@gmail.com>
5897         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for
5898         TARGET_SSE_MATH without TARGET_SSE2.  Rewrite.
5900 2016-01-13  Tom de Vries  <tom@codesourcery.com>
5902         PR tree-optimization/69169
5903         * tree-ssa-structalias.c (create_variable_info_for_1): Add and handle
5904         handled_struct_type param.
5905         (create_variable_info_for, intra_create_variable_infos): Call
5906         create_variable_info_for_1 with extra arg.
5908 2016-01-13  Yvan Roux  <yvan.roux@linaro.org>
5910         * config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a"
5911         and "armv8.1-a+crc" entries.
5913 2016-01-13  Alexander Fomin  <alexander.fomin@intel.com>
5915         PR target/69228
5916         * config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"):
5917         Change first operand predicate from register_or_constm1_operand
5918         to register_operand.
5919         (define_expand "avx512pf_gatherpf<mode>df"): Likewise.
5920         (define_expand "avx512pf_scatterpf<mode>sf"): Likewise.
5921         (define_expand "avx512pf_scatterpf<mode>df"): Likewise.
5922         (define_insn "*avx512pf_gatherpf<mode>sf"): Remove.
5923         (define_insn "*avx512pf_gatherpf<mode>df"): Likewise.
5924         (define_insn "*avx512pf_scatterpf<mode>sf"): Likewise.
5925         (define_insn "*avx512pf_scatterpf<mode>df"): Likewise.
5926         * config/i386/i386.c (ix86_expand_builtin): Remove first operand
5927         comparison with constm1_rtx from vec_prefetch_gen part.
5929 2016-01-13  Richard Biener  <rguenther@suse.de>
5931         PR tree-optimization/69013
5932         * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths):
5933         Exchange assert for a test.
5935 2016-01-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
5937         PR target/69247
5938         * config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg.
5940 2016-01-13  Richard Biener  <rguenther@suse.de>
5942         PR tree-optimization/69242
5943         * tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus
5944         assert with a check.
5946 2016-01-13  Richard Biener  <rguenther@suse.de>
5948         PR tree-optimization/69186
5949         * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
5950         Properly guard vect_update_misalignment_for_peel call.
5952 2016-01-12  Jeff Law  <law@redhat.com>
5954         PR tree-optimization/pr67755
5955         * tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field
5956         "need_profile_correction".
5957         (thread_block_1): Initialize new field to false by default.  If we
5958         have multiple thread paths through a common joiner to different
5959         final targets, then set new field to true.
5960         (compute_path_counts): Only do count adjustment when it's really
5961         needed.
5963 2016-01-12  Sandra Loosemore  <sandra@codesourcery.com>
5965         * doc/invoke.texi (Spec Files): Move section down in file, past
5966         all command-line option descriptions.
5968 2016-01-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
5970         PR middle-end/54809
5971         * doc/gty.texi: Remove documentation of mark_hook.
5972         * gengtype.c (struct write_types_data): Remove code to support
5973         mark_hook attribute.
5974         (walk_type): Likewise.
5975         (write_func_for_structure): Likewise.
5977 2016-01-12  Sandra Loosemore  <sandra@codesourcery.com>
5979         * doc/invoke.texi (Option Summary) Move -no-canonical-prefixes to
5980         Directory Options, and -specs= to Overall Options.
5981         (Overall Options): Adjust similarly.  Reorder to group related
5982         options together.  Make -specs= cross-reference the spec file details.
5983         (Directory Options): Adjust similarly.
5985 2016-01-12  Jeff Law  <law@redhat.com>
5987         * tree-ssa-threadupdate.c: Various whitespace and typo fixes.
5989 2016-01-12  Olivier Hainque  <hainque@adacore.com>
5991         * gcc.c (spec_undefvar_allowed): New global.
5992         (process_command): Set to true when running for --version or --help,
5993         alone or together.
5994         (getenv_spec_function): When the variable is not defined, use the
5995         variable name as the variable value if we're allowed not to issue
5996         a fatal error.
5998 2016-01-12  Bin Cheng  <bin.cheng@arm.com>
6000         PR tree-optimization/68911
6001         * tree-vrp.c (adjust_range_with_scev): Check overflow in range
6002         information computed for expression "init + nit * step".
6004 2016-01-12  Sandra Loosemore  <sandra@codesourcery.com>
6006         * doc/invoke.texi (Invoking GCC): Copy-edit.  Incorporate information
6007         about name of GCC executable.  Remove deleted node from menu.
6008         (Directory Options) <-B>: Remove cross-reference to deleted node.
6009         (Target Options): Delete section.
6011 2016-01-12  Christian Bruel  <christian.bruel@st.com>
6013         PR target/69180
6014         * config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL
6015         for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX.
6017 2016-01-12  Jakub Jelinek  <jakub@redhat.com>
6019         PR target/69198
6020         * config/i386/i386.c (ix86_expand_special_args_builtin): Ensure
6021         aligned_mem is properly set for AVX512-VL floating point masked
6022         stores.
6024         PR target/69175
6025         * ifcvt.c (cond_exec_process_if_block): When removing the last
6026         insn from then_bb, remove also any possible barriers that follow it.
6028 2016-01-12  H.J. Lu  <hongjiu.lu@intel.com>
6030         PR target/68456
6031         PR target/69226
6032         * config/i386/iamcu.h (SIZE_TYPE): New macro.
6033         (PTRDIFF_TYPE): Likewise.
6034         (WCHAR_TYPE): Likewise.
6035         (WCHAR_TYPE_SIZE): Likewise.
6036         (STDINT_LONG32): Likewise.
6038 2016-01-12  Richard Biener  <rguenther@suse.de>
6040         PR tree-optimization/69053
6041         * tree-vect-loop.c (get_initial_def_for_reduction): Properly
6042         convert initial value for cond reductions.
6044 2016-01-12  Richard Biener  <rguenther@suse.de>
6046         PR tree-optimization/69007
6047         * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move
6048         widen_sum after dot_prod and sad.
6050 2016-01-12  Richard Biener  <rguenther@suse.de>
6052         PR tree-optimization/69168
6053         * tree-vect-loop.c (vect_analyze_loop_2): Reset both main and
6054         pattern stmt SLP type.
6055         * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may
6056         end up unused so cope with that case.
6058 2016-01-12  Richard Biener  <rguenther@suse.de>
6060         PR tree-optimization/69157
6061         * tree-vect-stmts.c (vectorizable_mask_load_store): Check
6062         stmts def type only during analyze phase.
6063         (vectorizable_call): Likewise.
6064         (vectorizable_simd_clone_call): Likewise.
6065         (vectorizable_conversion): Likewise.
6066         (vectorizable_assignment): Likewise.
6067         (vectorizable_shift): Likewise.
6068         (vectorizable_operation): Likewise.
6069         (vectorizable_store): Likewise.
6070         (vectorizable_load): Likewise.
6072 2016-01-12  Richard Biener  <rguenther@suse.de>
6074         PR tree-optimization/69174
6075         * tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical
6076         space.
6077         (vectorizable_load): Properly compute the number of loads needed
6078         for permuted strided SLP loads and do not spuriously assign
6079         to SLP_TREE_VEC_STMTS.
6081 2016-01-12  Andris Pavenis  <andris.pavenis@iki.fi>
6083         * config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2
6084         (TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive
6085         (MD_EXEC_PREFIX): Remove.
6086         (MD_STARTFILE_PREFIX) Removee.
6087         (FILE_NAME_ABSOLUTE_P): Remove.
6088         (CPP_SPEC): Do not read macros from sys/version.h.
6089         (LINK_COMMAND_SPEC): Remove.
6090         (LOCAL_INCLUDE_DIR): Remove.
6091         (TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section
6092         (TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix.
6093         (POST_LINK_SPEC): Define to invoke stubify after linker
6094         (LIBSTDCXX): Remove define
6095         (DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map.
6096         (DEFAULT_PCC_STRUCT_RETURN): Define to 1.
6097         (SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210.
6098         (SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message.
6099         (SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info.
6100         (IX86_MAYBE_NO_LIBGCC_TFMODE): Remove.
6101         (i386_djgpp_asm_named_section): Add propotype of new procedure
6103         * config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define.
6104         (MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h).
6105         (STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX
6106         in config/i386/djgpp.h).
6107         (STANDARD_STARTFILE_PREFIX_2): Define identical to
6108         STANDARD_STARTFILE_PREFIX_1.
6109         (LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h).
6110         (GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal
6111         installation errors.
6112         (MAX_OFILE_ALIGNMENT): Define to 128.
6113         (HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h.
6115         * config/i386/djgpp.c: New file. Add implementation of
6116         i386_djgpp_asm_named_section.
6118         * config/i386/djgpp.opt: Remove obsolete option -mbnu210.
6120         * config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS.
6121         Add rule for building djgpp.o.
6123 2016-01-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6125         * config/rs6000/rs6000.c (v2df_reduction_p): New function.
6126         (rtx_is_swappable_p): Reductions are swappable.
6127         (insn_is_swappable_p): V2DF reductions are swappable.
6129 2016-01-11  John David Anglin  <danglin@gcc.gnu.org>
6131         * config/pa/pa.c (pa_emit_move_sequence): Handle floating point
6132         reloads for other unsupported memory operands.
6134 2016-01-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
6135             Jim Wilson  <jim.wilson@linaro.org>
6137         PR target/69194
6138         * config/arm/arm-builtins.c (arm_expand_neon_args): Call
6139         copy_to_mode_reg instead of force_reg.
6141 2016-01-11  H.J. Lu  <hongjiu.lu@intel.com>
6143         PR target/69225
6144         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if
6145         TARGET_80387 is true.
6147 2016-01-11  Jakub Jelinek  <jakub@redhat.com>
6149         PR target/69071
6150         * lra-eliminations.c (move_plus_up): Only move plus up
6151         if subreg of the constant can be simplified into constant
6152         and use the simplified subreg of the constant instead of
6153         the original constant.
6155         * fold-const.c (fold_convertible_p): Don't return true
6156         for conversion of VECTOR_TYPE to same sized integral type.
6157         (fold_convert_loc): Fix up formatting.  Fold conversion of
6158         VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR
6159         instead of NOP_EXPR.
6161         PR tree-optimization/69214
6162         * tree-vrp.c (simplify_cond_using_ranges): Don't propagate
6163         innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
6164         Formatting fix.
6166         PR tree-optimization/69207
6167         * tree-vect-slp.c (vect_get_constant_vectors): For
6168         VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of
6169         fold_convertible_p to vector_type's element type, and always
6170         use VCE for non-VECTOR_BOOLEAN_TYPE_P.
6172 2016-01-11  Richard Biener  <rguenther@suse.de>
6174         PR tree-optimization/69173
6175         * tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Only
6176         fixup the cycle if all stmts are in a pattern.
6178 2016-01-11  Uros Bizjak  <ubizjak@gmail.com>
6180         PR middle-end/68999
6181         * alias.c (base_alias_check): Move check for addresses with
6182         alignment ANDs before the call for compare_base_decls.
6183         (memrefs_conflict_p): Return -1 for different decls
6184         that went through alignment adjustments.
6186 2016-01-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
6188         PR rtl-optimization/68796
6189         * config/aarch64/aarch64.md (*and<mode>_compare0): New pattern.
6190         * config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode
6191         and QImode comparisons against zero with CC_NZmode.
6192         * config/aarch64/iterators.md (short_mask): New mode_attr.
6194 2016-01-11  H.J. Lu  <hongjiu.lu@intel.com>
6196         * config/i386/sse.md (<avx512>_load<mode>_mask): Remove snprintf.
6197         (<avx512>_store<mode>_mask): Likewise.
6199 2016-01-11  Bernd Schmidt  <bschmidt@redhat.com>
6200             Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
6202         PR rtl-optimization/68841
6203         * ifcvt.c (struct noce_if_info): Add orig_x field.
6204         (bbs_ok_for_cmove_arith): Add to_rename parameter.
6205         Don't record conflicts on to_rename if it's present.
6206         Allow memory destinations in sets.
6207         (noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple
6208         blocks, passing orig_x to the checks.
6209         (noce_process_if_block): Set if_info->orig_x appropriately.
6211 2016-01-11  Tom de Vries  <tom@codesourcery.com>
6213         PR tree-optimization/69069
6214         * tree-parloops.c (create_parallel_loop): Add missing phi args.
6216 2016-01-11  Yuri Rumyantsev  <ysrumyan@gmail.com>
6218         PR rtl-optimization/68920
6219         * config/i386/i386.c (ix86_option_override_internal): Restrict number
6220         of conditional moves for  RTL if-conversion to 1 for
6221         TARGET_ONE_IF_CONV_INSN.
6222         * config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros.
6223         * config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros.
6224         * params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new
6225         parameter to restirct number of conditional moves for
6226         RTL if-conversion.
6227         * doc/invoke.texi (max-rtl-if-conversion-insns): Document it.
6228         * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of
6229         conditionl moves.
6231 2016-01-11  Alexandre Oliva  <aoliva@redhat.com>
6233         PR bootstrap/69123
6234         * var-tracking.c (drop_overlapping_mem_locs): Operate on all
6235         onepart vars.  Fix typo in comment.  Fix reversed condition in
6236         unshare test.
6237         (dataflow_set_remove_mem_locs): Operate on all onepart vars.
6239         PR bootstrap/69123
6240         * var-tracking.c (dump_onepart_variable_differences): New.
6241         (dataflow_set_different): If a detailed dump is requested,
6242         delay early returns and dump differences between onepart
6243         variables present before and after, and added variables.
6245 2016-01-11  Ilya Enkovich  <enkovich.gnu@gmail.com>
6247         PR target/69010
6248         * expr.c (expand_expr_real_1): For boolean vector constants
6249         with a scalar mode use const_scalar_mask_from_tree.
6250         (const_scalar_mask_from_tree): New.
6251         * optabs.c (expand_vec_cond_mask_expr): Use mask mode
6252         assigned to a mask type to handle constants.
6254 2016-01-11  Martin Jambor  <mjambor@suse.cz>
6256         PR ipa/69044
6257         * ipa-cp.c (estimate_local_effects): Do not clone for removal of
6258         useless parameters if we cannot change function signature.
6260 2016-01-11  Martin Jambor  <mjambor@suse.cz>
6262         PR ipa/66616
6263         * cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
6264         flag.
6266 2016-01-11  Tom de Vries  <tom@codesourcery.com>
6268         PR tree-optimization/69109
6269         * tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow
6270         latch with phi.
6272 2016-01-11  Tom de Vries  <tom@codesourcery.com>
6274         PR tree-optimization/69108
6275         * tree-parloops.c (gather_scalar_reductions): Handle case that outer phi
6276         res is not used in a phi.
6278 2016-01-11  Yury Gribov  <y.gribov@samsung.com>
6280         PR 67425
6281         * common.opt (frandom-seed): Fix parameter name.
6282         * doc/invoke.texi (frandom-seed): Ditto and describe parameter.
6284 2016-01-11  Tom de Vries  <tom@codesourcery.com>
6286         PR tree-optimization/69058
6287         * tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp
6288         not supported.
6290 2016-01-11  Andrew Burgess  <andrew.burgess@embecosm.com>
6292         * config/arc/arc.opt (mdiv-rem): Add period to the end.
6293         (mcode-density): Likewise.
6295 2016-01-10  Tom de Vries  <tom@codesourcery.com>
6297         PR tree-optimization/69062
6298         * tree-parloops.c (loop_has_phi_with_address_arg): New function.
6299         (parallelize_loops): Don't paralelize loop that has phi with address
6300         arg.
6302 2016-01-10  Tom de Vries  <tom@codesourcery.com>
6304         PR tree-optimization/69039
6305         * tree-parloops.c (try_create_reduction_list): Only allow single exit
6306         phi for reduction.
6308 2016-01-09  John David Anglin  <danglin@gcc.gnu.org>
6310         PR middle-end/68743
6311         * match.pd: Require target has function_c99_misc before doing
6312         truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.
6314 2016-01-09  Gerald Pfeifer  <gerald@pfeifer.com>
6316         * configure.ac (isl_options_set_schedule_serialize_sccs): Also
6317         use GMPINC.
6318         * configure: Regenerate.
6320 2016-01-09  Jakub Jelinek  <jakub@redhat.com>
6322         PR middle-end/50865
6323         PR tree-optimization/69097
6324         * fold-const.h (expr_not_equal_to): New prototype.
6325         * fold-const.c: Include stringpool.h and tree-ssanames.h.
6326         (expr_not_equal_to): New function.
6327         * match.pd (X % -Y is the same as X % Y): Don't optimize
6328         unless X is known not to be equal to minimum or Y is known
6329         not to be equal to -1.
6330         * tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument.
6331         fold TRUNC_MOD_EXPR if the second argument is not a power of two.
6332         (simplify_stmt_using_ranges): Adjust caller.
6333         (vrp_finalize): Call set_value_range on SSA_NAMEs before calling
6334         substitute_and_fold.
6336 2016-01-09  Jan Hubicka  <hubicka@ucw.cz>
6338         * ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
6339         w/o DECL_NAME.
6341 2016-01-08  Jakub Jelinek  <jakub@redhat.com>
6343         PR tree-optimization/69167
6344         * gimple-fold.c (replace_stmt_with_simplification): Also punt if
6345         new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of
6346         ops[0] comparison.
6347         * gimple-match-head.c (maybe_push_res_to_seq): Likewise.
6349 2016-01-08  Alan Lawrence  <alan.lawrence@arm.com>
6350             Richard Biener  <rguenther@suse.de>
6352         PR tree-optimization/68707
6353         * tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP
6354         instances that can be handled via vect_load_lanes.
6356 2016-01-08  Uros Bizjak  <ubizjak@gmail.com>
6358         * symtab.c (symtab_node::equal_address_to): Return -1 instead of 2
6359         if we can't determine address equivalence.
6360         * alias.c (compare_base_decl): Update for changed return value of
6361         symtab_node::equal_address_to.
6363 2016-01-08  Jason Merrill  <jason@redhat.com>
6365         PR c++/68983
6366         PR c++/67557
6367         * function.c (assign_temp): Guard against TREE_ADDRESSABLE types here.
6368         * expr.c (store_field): Not here.
6369         * tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a
6370         call with TREE_ADDRESSABLE type.
6371         * tree-cfg.c (verify_gimple_call): Adjust.
6373 2016-01-08  Olivier Hainque  <hainque@adacore.com>
6375         * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
6376         libc_internal.
6378 2016-01-08  Alan Lawrence  <alan.lawrence@arm.com>
6380         * gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to...
6381         (reduc_smax_scal_v2sf): ...here, make result SFmode, extract element.
6382         (reduc_smin_v2sf): Rename to...
6383         (reduc_smin_scal_v2sf): ...here, make result SFmode, extract element.
6384         (reduc_splus_v2sf): Rename to...
6385         (reduc_plus_scal_v2sf): ...here, make result SFmode, extract element.
6387 2016-01-08  Jakub Jelinek  <jakub@redhat.com>
6389         PR tree-optimization/69162
6390         * gimplify.c (gimplify_va_arg_expr): Encode original type of
6391         valist argument in another argument.
6392         (gimplify_modify_expr): Adjust for the above change.  Cleanup.
6393         * tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument
6394         to determine the va_list type, build a MEM_REF instead of
6395         build_fold_indirect_ref.
6397         PR tree-optimization/69172
6398         * gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to
6399         gimple_build.
6401 2016-01-08  Thomas Preud'homme  <thomas.preudhomme@arm.com>
6403         PR tree-optimization/67781
6404         * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
6405         and cmpnop in two steps: first the ones not accessed in original
6406         gimple expression in a endian independent way and then the ones not
6407         accessed in the final result in an endian-specific way.
6409 2016-01-08  Jakub Jelinek  <jakub@redhat.com>
6411         PR tree-optimization/69083
6412         * tree-vect-slp.c (vect_get_constant_vectors): For
6413         VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's
6414         element type.  If op is fold_convertible_p to vector_type's element
6415         type, use NOP_EXPR instead of VCE.
6417 2016-01-08  Segher Boessenkool  <segher@kernel.crashing.org>
6419         PR rtl-optimization/67778
6420         PR rtl-optimization/68634
6421         PR rtl-optimization/68909
6422         * shrink-wrap.c (try_shrink_wrapping): Add comment.  Don't pop
6423         block from the stack until done with it.  Remove a superfluous
6424         bitmap set.  Remove a superfluous bitmap test.
6426 2016-01-07  Martin Sebor  <msebor@redhat.com>
6428         PR c/68966
6429         * doc/extend.texi (__atomic Builtins, __sync Builtins): Document
6430         constraint on the type of arguments.
6432 2016-01-07  Andreas Tobler  <andreast@gcc.gnu.org>
6434         * config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to
6435         SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check
6436         unaligned_access on the gcc_options set.
6437         * config/arm/arm.c (arm_option_override_internal): Use
6438         SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.
6440 2016-01-07  Uros Bizjak  <ubizjak@gmail.com>
6442         PR target/69140
6443         * config/i386/i386.c (ix86_frame_pointer_required): Enable
6444         frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned.
6446 2016-01-07  Uros Bizjak  <ubizjak@gmail.com>
6448         Revert
6449         2016-01-06  Uros Bizjak  <ubizjak@gmail.com>
6451         PR target/69140
6452         * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
6453         depending on frame_pointer_needed before remaining integer and SSE
6454         registers are saved.
6456 2016-01-07  Sandra Loosemore  <sandra@codesourcery.com>
6458         PR 1078
6459         * doc/extend.texi (Nvidia PDX Function Attributes): New section.
6461 2016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
6463         PR target/69171
6464         * config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
6465         Use the "xBm" constraint.
6466         (float<sseintvecmodelower><mode>2<mask_name><round_name):
6467         Likewise.
6468         (sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
6469         (sse_cvtsi2ssq<round_name>): Likewise.
6470         (sse_cvtss2si<round_name>): Likewise.
6471         (sse_cvtss2siq<round_name>): Likewise.
6472         (sse2_cvtsi2sdq<round_name>): Likewise.
6473         (sse2_cvtsd2si<round_name>): Likewise.
6474         (sse2_cvtsd2siq<round_name>): Likewise.
6475         * config/i386/subst.md (round_nimm_scalar_predicate): New
6476         predicate.
6478 2015-12-15  Bernd Schmidt  <bschmidt@redhat.com>
6480         PR middle-end/67639
6481         * varasm.c (make_decl_rtl): Mark invalid register vars as
6482         DECL_EXTERNAL.
6484         PR rtl-optimization/66206
6485         * bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx.
6486         All callers changed.
6488 2016-01-07  Jakub Jelinek  <jakub@redhat.com>
6490         PR tree-optimization/69141
6491         * tree-ssa-pre.c: Include langhooks.h.
6492         (eliminate_dom_walker::before_dom_children): Use
6493         lang_hooks.decl_printable_name instead of
6494         cgraph_node::get ()->name ().
6496         PR middle-end/68960
6497         * gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy
6498         it and DECL_ALIGN too.
6500 2016-01-06  Robert Suchanek  <robert.suchanek@imgtec.com>
6502         * config/mips/mips-ftypes.def: Sort to lexicographical order.
6504 2016-01-06  Uros Bizjak  <ubizjak@gmail.com>
6506         PR target/69140
6507         * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
6508         depending on frame_pointer_needed before remaining integer and SSE
6509         registers are saved.
6511 2015-01-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6513         * config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M
6514         mode iterator with VSX_M2.
6515         (*p9_vecstore_<mode>): Likewise.
6516         (*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR.
6517         (*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise.
6518         (*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise.
6519         (define_split for VSX_LE128 stores): Likewise.
6520         (define_peephole2 for TImode LE swaps): Likewise.
6521         (define_split for VSX_LE128 post-reload stores): Likewise.
6523 2016-01-06  Marek Polacek  <polacek@redhat.com>
6525         PR sanitizer/69099
6526         * convert.c (convert_to_integer_1): Adjust call to
6527         ubsan_instrument_float_cast.  Use NULL_TREE instead of NULL.
6528         * ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter.  Use
6529         EXPR instead of ARG.
6530         * ubsan.h (ubsan_instrument_float_cast): Adjust declaration.
6532 2016-01-05  Sandra Loosemore  <sandra@codesourcery.com>
6534         PR 1078
6535         * doc/extend.texi (RL78 Variable Attributes): New section.
6537 2016-01-05  Marek Polacek  <polacek@redhat.com>
6539         PR c/69104
6540         * builtins.c (get_memmodel): Use expansion point location rather than
6541         the input location.  Call warning_at rather than warning.
6542         (expand_builtin_atomic_compare_exchange): Likewise.
6543         (expand_builtin_atomic_load): Likewise.
6544         (expand_builtin_atomic_store): Likewise.
6545         (expand_builtin_atomic_clear): Likewise.
6547 2016-01-05  H.J. Lu  <hongjiu.lu@intel.com>
6549         PR target/68991
6550         * config/i386/i386.c (ix86_expand_vector_logical_operator):
6551         Replace nonimmediate_operand with vector_operand.
6552         * config/i386/predicates.md (vector_operand): New predicate.
6553         (general_vector_operand): Replace nonimmediate_operand with
6554         vector_operand.
6555         * config/i386/sse.md: Replace nonimmediate_operand with
6556         vector_operand and m constraint with Bm constraint on SSE
6557         patterns with 16-byte memory operand.
6558         * config/i386/subst.md (round_nimm_predicate): Replace
6559         nonimmediate_operand with vector_operand.
6560         (round_saeonly_nimm_predicate): Likewise.
6561         (round_saeonly_nimm_scalar_predicate): New.
6563 2016-01-05  H.J. Lu  <hongjiu.lu@intel.com>
6565         PR target/68991
6566         * config/i386/constraints.md (Bm): New constraint.
6567         * config/i386/predicates.md (vector_memory_operand): New
6568         predicate.
6569         * config/i386/sse.md: Replace xm with xBm in plusminus and
6570         any_logic patterns.
6572 2016-01-05  Sandra Loosemore  <sandra@codesourcery.com>
6574         PR 1078
6575         * doc/extend.texi (V850 Function Attributes): New section.
6576         (V850 Variable Attributes): New section.
6578 2016-01-05  Sandra Loosemore  <sandra@codesourcery.com>
6580         PR 1078
6581         * doc/extend.texi (MicroBlaze Function Attributes): Document
6582         interrupt_handler and fast_interrupt attributes.
6584 2016-01-05  Sergei Trofimovich  <siarheit@google.com>
6586         PR other/60465
6587         * config/ia64/ia64.c (ia64_expand_load_address): Use gprel64
6588         for local symbolic operands.
6589         * config/ia64/predicates.md (local_symbolic_operand64): New
6590         predicate.
6592 2016-01-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
6594         PR rtl-optimization/68651
6595         * combine.c (combine_simplify_rtx): Canonicalize x + x into
6596         x << 1.
6598 2016-01-05  Nathan Sidwell  <nathan@acm.org>
6600         * alias.c (compare_base_decls): Use symtab_node::get.
6602 2016-01-05  Nick Clifton  <nickc@redhat.com>
6604         PR target/68770
6605         * ira-costs.c (copy_cost): Initialise the t_icode field of the
6606         secondary_reload_info structure.
6608         PR target/66655
6609         * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak
6610         decls if weak support is available.
6612 2016-01-04  Martin Sebor  <msebor@redhat.com>
6614         * doc/invoke.texi (Warning Options): Document -Winvalid-memory-model.
6616 2016-01-04  Michael Meissner  <meissner@linux.vnet.ibm.com>
6618         * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
6619         OPTION_MASK_P9_DFORM.
6621         * config/rs6000/constraints.md (wo constraint): New constraint for
6622         ISA 3.0 (power9).
6624         * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
6625         for wo constraint.
6626         (rs6000_init_hard_regno_mode_ok): Likewise.
6628         * config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
6629         wo constraint.
6631         * config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm
6632         expanders not to have constraints.  Add support for ISA 3.0 xxperm
6633         instruction.  Add support for fusing xxlor with xxperm.
6634         (altivec_vperm_<mode>_internal): Likewise.
6635         (altivec_vperm_v8hiv16qi): Likewise.
6636         (altivec_vperm_<mode>v16q): Likewise.
6637         (altivec_vperm_<mode>_uns): Likewise.
6638         (vperm_v8hiv4si): Likewise.
6639         (vperm_v16qiv8hi): Likewise.
6641         * doc/md.texi (RS/6000 constraints): Document wo constraint.
6643 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
6645         Update copyright years.
6647         * gcc.c (process_command): Update copyright notice dates.
6648         * gcov-dump.c (print_version): Ditto.
6649         * gcov.c (print_version): Ditto.
6650         * gcov-tool.c (print_version): Ditto.
6651         * gengtype.c (create_file): Ditto.
6652         * doc/cpp.texi: Bump @copying's copyright year.
6653         * doc/cppinternals.texi: Ditto.
6654         * doc/gcc.texi: Ditto.
6655         * doc/gccint.texi: Ditto.
6656         * doc/gcov.texi: Ditto.
6657         * doc/install.texi: Ditto.
6658         * doc/invoke.texi: Ditto.
6660 2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
6662         * config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
6663         modes larger than TImode as TImode if NEON is not enabled.
6665 2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
6667         PR target/69100
6668         * config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
6669         mode for %f0-%f31 only if TARGET_FPU.
6671 2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
6673         PR target/69072
6674         * config/sparc/sparc.c (scan_record_type): Take into account subfields
6675         to compute the PACKED_P predicate.
6676         (function_arg_record_value): Minor tweaks.
6678 2016-01-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
6680         * doc/install.texi (--with-multilib-list): Describe the meaning of the
6681         option for arm*-*-* targets.
6683 2016-01-03  Sandra Loosemore  <sandra@codesourcery.com>
6685         * doc/extend.texi (Common Function Attributes): Move docs for
6686         MSP430-specific attributes to....
6687         (MSP430 Function Attributes): ...here.  Delete the redundant
6688         entries and copy-edit the remaining text.
6689         (MSP430 Variable Attributes): Use uniform format for index
6690         entries and add a cross-reference to the corresponding function
6691         attribute docs.
6693 2016-01-03  Vladimír Čunát  <vcunat@gmail.com>
6695         * doc/invoke.texi (RS/6000 and PowerPC Options): Fix
6696         -finite-math typo.
6697         (x86 Options): Likewise.
6699 2016-01-01  Sandra Loosemore  <sandra@codesourcery.com>
6701         PR 1078
6703         * extend.texi (Common Function Attributes) <no_stack_limit>: New.
6704         * invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer
6705         to corresponding attribute.
6707 2016-01-01  Sandra Loosemore  <sandra@codesourcery.com>
6709         * doc/extend.texi (Common Function Attributes) <noplt>: Move
6710         to correct alphabetization of table.  Copy-edit and correct
6711         markup.
6712         <stack_protect>: Likewise.
6713         <target_clones>: Likewise.
6714         <simd>: Likewise.
6715         * doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>:
6716         Correct punctuation.
6717         (Code Gen Options) <-fno-plt>: Copy-edit.
6719 2016-01-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
6721         PR target/68917
6722         * config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of
6723         SI values.  Explicitly convert SI to DI and vice-versa.
6725 2016-01-01  Jakub Jelinek  <jakub@redhat.com>
6727         PR tree-optimization/69070
6728         * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test
6729         REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST.
6731         PR sanitizer/69055
6732         * ubsan.c (ubsan_instrument_float_cast): Call
6733         initialize_sanitizer_builtins.
6735         PR target/69015
6736         * ifcvt.c (find_cond_trap): Give up if returnjump_p (jump).
6738 Copyright (C) 2016 Free Software Foundation, Inc.
6740 Copying and distribution of this file, with or without modification,
6741 are permitted in any medium without royalty provided the copyright
6742 notice and this notice are preserved.