Add -funconstrained-commons to work around PR/69368 (and others) in SPEC2006
[official-gcc.git] / gcc / ChangeLog
blobb6db5dec92e4c814b47b0230b37c9537407b76d3
1 2016-03-10  Alan Lawrence  <alan.lawrence@arm.com>
2         Jakub Jelinek <jakub@redhat.com>
4         * common.opt (funconstrained-commons, flag_unconstrained_commons): New.
5         * tree.c (array_at_struct_end_p): Do not limit to size of decl for
6         DECL_COMMONS if flag_unconstrained_commons is set.
7         * tree-dfa.c (get_ref_base_and_extent): Likewise.
8         * doc/invoke.texi (Optimize Options): Add -funconstrained-commons.
9         (funconstrained-commons): Document.
11 2016-03-10  Christophe Lyon  <christophe.lyon@linaro.org>
13         * config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add
14         aarch64-fusion-pairs.def and aarch64-tuning-flags.def
16 2016-03-10  Ilya Enkovich  <enkovich.gnu@gmail.com>
18         * tree-vect-stmts.c (vectorizable_mask_load_store): Check mask
19         has a proper number of elements.
21 2016-03-10  Alan Modra  <amodra@gmail.com>
23         PR rtl-optimization/69195
24         PR rtl-optimization/47992
25         * ira.c (recorded_label_ref): Delete.
26         (update_equiv_regs): Return void.
27         (indirect_jump_optimize): New function.
28         (ira): Call indirect_jump_optimize and delete_trivially_dead_insns
29         before regstat_compute_ri.  Don't rebuild_jump_labels here.
30         Delete update_regstat.
32 2016-03-10  Richard Biener  <rguenther@suse.de>
34         PR tree-optimization/70128
35         * tree-ssa-structalias.c (set_uids_in_ptset): Set
36         vars_contains_nonlocal for any FUNCTION_DECL or LABEL_DECL.
38 2016-03-09  Jakub Jelinek  <jakub@redhat.com>
40         PR tree-optimization/70152
41         * tree-sra.c (replace_removed_params_ssa_names): Copy over
42         SSA_NAME_OCCURS_IN_ABNORMAL_PHI from old_name to new_name.
44         PR target/70086
45         * config/i386/i386.md (truncdfsf2 splitter): Use gen_vec_concatv2df
46         instead of gen_sse2_loadlpd.
47         * config/i386/sse.md (*vec_concatv2df): Rename to...
48         (vec_concatv2df): ... this.
50         PR tree-optimization/70127
51         * fold-const.c (operand_equal_p): Revert the 2015-10-28 change.
53 2016-03-09  David Malcolm  <dmalcolm@redhat.com>
55         PR c/68473
56         PR c++/70105
57         * diagnostic-show-locus.c (compatible_locations_p): New function.
58         (layout::layout): Sanitize ranges using compatible_locations_p.
60 2016-03-09  David Malcolm  <dmalcolm@redhat.com>
62         PR c/68473
63         PR c++/70105
64         * diagnostic-show-locus.c (layout_range::layout_range): Replace
65         location_range param with three const expanded_locations * and a
66         bool.
67         (layout::layout): Replace call to
68         rich_location::lazily_expand_location with get_expanded_location.
69         Extract the range and perform location expansion here, passing
70         the results to the layout_range ctor.
71         * diagnostic.c (source_range::debug): Delete.
72         * diagnostic.h (diagnostic_expand_location): Reimplement in terms
73         of rich_location::get_expanded_location.
74         * gcc-rich-location.c (get_range_for_expr): Delete.
75         (gcc_rich_location::add_expr): Reimplement to avoid the
76         rich_location::add_range overload that took a location_range,
77         passing a location_t instead.
79 2016-03-09  Richard Biener  <rguenther@suse.de>
80         Jakub Jelinek  <jakub@redhat.com>
82         PR tree-optimization/70138
83         * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
84         Also skip vect_double_reduction_def.
86 2016-03-09  Jakub Jelinek  <jakub@redhat.com>
88         PR target/70049
89         * config/i386/sse.md (*vec_extract<mode>): Use %0 instead of %k0
90         if the operand is "m".
92 2016-03-09  Nathan Sidwell  <nathan@acm.org>
94         * config/nvptx/nvptx.c (nvptx_option_override): Don't kill debug level.
96 2016-03-09  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
98         * config/i386/i386.c (processor_target_table): Fix cost table
99         intialization order for znver1.
101 2016-03-08  Jakub Jelinek  <jakub@redhat.com>
103         * ipa-polymorphic-call.c (walk_ssa_copies): Fix spelling
104         - becuase -> because.
105         * ipa-reference.c (ignore_module_statics): Likewise.
106         * cgraph.c (cgraph_node::get_body): Likewise.
107         * ipa-inline.c (early_inliner): Likewise.
108         * ipa-devirt.c (types_same_for_odr): Likewise.
109         * tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise.
110         * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Likewise.
112 2016-03-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
114         * tree-ssa-math-opts.c: Fix typo in comment.
116 2016-03-08  Jakub Jelinek  <jakub@redhat.com>
118         PR target/70110
119         * config/i386/i386.c (scalar_chain::make_vector_copies,
120         scalar_chain::convert_reg): Call end_sequence in between
121         get_insns and emit_conversion_insns rather than after both
122         calls.
124 2016-03-07  Uros Bizjak  <ubizjak@gmail.com>
126         PR target/70064
127         * config/i386/i386.h (machine_function): Add
128         pc_thunk_call_expanded flag.
129         (ix86_pc_thunk_call_expanded): New define.
130         * config/i386/i386.md (set_got, set_got_labelled): New expanders.
131         (*set_got): Rename insn pattern from set_got.
132         (*set_got_labelled): Rename inst pattern from set_got_labelled.
133         * config/i386/i386.c (ix86_compute_frame_layout): Use
134         ix86_pc_thunk_call_expanded to prevent red-zone.
136 2016-03-07  Martin Jambor  <mjambor@suse.cz>
138         * hsa.h (hsa_get_ctor_statements): Declare.
139         (hsa_get_dtor_statements): Likewise.
140         (hsa_get_kernel_dispatch_type): Likewise.
141         * hsa.c (hsa_get_ctor_statements): New function.
142         (hsa_get_dtor_statements): Likewise.
143         (hsa_get_kernel_dispatch_type): Likewise.
144         * hsa-brig.c (hsa_cdtor_statements): Removed.
145         (hsa_output_libgomp_mapping): Use hsa_get_ctor_statements and
146         hsa_get_dtor_statements.
147         * hsa-gen.c (hsa_kernel_dispatch_type): Removed.
148         (get_hsa_kernel_dispatch_offset): Use hsa_get_kernel_dispatch_type.
150 2016-03-07  Andre Vieira  <andre.simoesdiasvieira@arm.com>
152         * config/arm/arm-cores.def (cortex-r8): New.
153         * config/arm/arm-tables.opt (cortex-r8): Regenerate.
154         * config/arm/arm-tune.md: Likewise.
155         * gcc/doc/invoke.texi: Add cortex-r8 to list of cpu values.
157 2016-03-07  Martin Sebor  <msebor@redhat.com>
159         PR rtl-optimization/19705
160         * doc/invoke.texi (Options That Control Optimization): Clarify
161         -fno-branch-count-reg.
163 2016-02-26  Richard Biener  <rguenther@suse.de>
164             Jeff Law  <law@redhat.com>
166         PR tree-optimization/69740
167         * cfghooks.c (remove_edge): Request loop fixups if we delete
168         an edge that might turn an irreducible loop into a natural
169         loop.
170         * cfgloop.h (check_verify_loop_structure): Clear LOOPS_NEED_FIXUP.
171         Move after definition of loops_state_clear.
173 2016-03-07  Bin Cheng  <bin.cheng@arm.com>
175         PR rtl-optimization/69052
176         * rtlanal.c (commutative_operand_precedence): Set higher precedence
177         to CONST_WIDE_INT.
179 2016-03-07  Tom de Vries  <tom@codesourcery.com>
181         PR tree-optimization/70116
182         * tree-ssa-tail-merge.c (merge_stmts_p): New function, handling
183         is_tm_ending stmts and ubsan/asan internal functions.
184         (find_duplicate): Use it.  Don't test is_tm_ending here.
186 2016-03-07  Richard Biener  <rguenther@suse.de>
188         PR tree-optimization/70115
189         * tree-ssa-loop-ivcanon.c (propagate_into_all_uses): Remove.
190         (propagate_constants_for_unrolling): Use replace_uses_by.
192 2016-03-07  Nathan Sidwell  <nathan@codesourcery.com>
194         PR middle-end/69916
195         * omp-low.c (struct oacc_loop): Add ifns.
196         (new_oacc_loop_raw): Initialize it.
197         (finish_oacc_loop): Clear mask & flags if no ifns.
198         (oacc_loop_discover_walk): Count IFN_GOACC_LOOP calls.
199         (oacc_loop_xform_loop): Add ifns arg & adjust.
200         (oacc_loop_process): Adjust oacc_loop_xform_loop call.
202 2016-03-07  Richard Henderson  <rth@redhat.com>
204         PR rtl-opt/70061
205         * tree-outofssa.c (emit_partition_copy): Flush pending stack adjust.
206         (insert_value_copy_on_edge): Likewise.
208 2016-03-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
210         * config/arm/arm_neon.h: Show error if using with soft-float ABI.
212 2016-03-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
214         PR target/62281
215         * config/i386/sol2.h (STACK_REALIGN_DEFAULT): Define.
217 2016-03-05  Venkataramanan Kumar  <Venkataramanan.kumar@amd.com>
219         * config/i386/i386.c (znver1_cost): Fix Multiply cost.
221 2016-03-05  Venkataramanan Kumar  <Venkataramanan.kumar@amd.com>
223         Fix sseimul type attribute.
224         * config/i386/znver1.md
225         (znver1_sseimul, znver1_sseimul_avx256, znver1_sseimul_load,
226         znver1_sseimul_avx256_load) : Fix the type attribute.
227         (znver1_sseimul_di, znver1_sseimul_load_di): Fix type attribute,
228         pipe usage and latency.
230 2016-03-05  Jakub Jelinek  <jakub@redhat.com>
232         PR c++/70084
233         * tree-inline.c (copy_tree_body_r): When cancelling ADDR_EXPR
234         of INDIRECT_REF and ADDR_EXPR changed type, fold_convert it
235         to the right type.
237 2016-03-04  Bernd Schmidt  <bschmidt@redhat.com>
239         PR c/69973
240         * targhooks.c (default_vector_alignment): Limit to MAX_OFILE_ALIGNMENT.
242         PR rtl-optimization/69941
243         * postreload.c (reload_combine_recognize_pattern): Ensure all uses of
244         the reg share its mode.
246 2016-03-04  Jeff Law  <law@redhat.com>
248         PR tree-optimization/69196
249         * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
250         If the both SSA_NAMEs are anonymous, then consider them unassociated
251         and include the PHI in the statement count.
253 2016-03-05  Tom de Vries  <tom@codesourcery.com>
255         * omp-low.c (check_omp_nesting_restrictions): Check for non-oacc
256         construct in oacc routine.  Check for oacc region in oacc routine.
258 2016-03-04  Jakub Jelinek  <jakub@redhat.com>
260         PR target/70062
261         * config/i386/i386.c (decide_alg): Add RECUR argument.  Revert
262         2016-02-22 changes, instead don't recurse if RECUR is already true.
263         Don't change *dynamic_check if RECUR.  Adjust recursive caller
264         to pass true to the new argument.
265         (ix86_expand_set_or_movmem): Adjust decide_alg caller.
267         PR target/70059
268         * config/i386/sse.md (vec_set_lo_<mode><mask_name>,
269         <extract_type_2>_vinsert<shuffletype><extract_suf_2>_mask): Formatting
270         fixes.
271         (vec_set_hi_<mode><mask_name>): Likewise.  Swap VEC_CONCAT operands.
273 2016-03-04  Bernd Schmidt  <bschmidt@redhat.com>
275         PR rtl-optimization/57676
276         * lra-assigns.c (lra_assign): Guard test for maximum iterations
277         with flag_checking.
279 2016-03-04  Ilya Enkovich  <enkovich.gnu@gmail.com>
281         * tree-vect-patterns.c (search_type_for_mask): Handle
282         comparison of booleans.
284 2016-03-04  Jakub Jelinek  <jakub@redhat.com>
286         * doc/extend.texi (__builtin_alloca, __builtin_alloca_with_align):
287         Fix @xref usage.
289         PR debug/69947
290         * dwarf2out.c (prune_unused_types_walk_loc_descr): Handle
291         all other ops that have dw_val_class_die_ref operands,
292         and DW_OP_GNU_entry_value.
294 2016-03-03  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
296         PR rtl-optimization/69904
297         * config/arm/arm.c (arm_cannot_copy_insn_p):
298         Return true for load-exclusive instructions.
300 2016-03-03  Jakub Jelinek  <jakub@redhat.com>
302         PR target/70021
303         * tree-vect-stmts.c (vect_mark_relevant): Remove USED_IN_PATTERN
304         argument, if STMT_VINFO_IN_PATTERN_P (stmt_info), always mark
305         the pattern no matter if it is used just by non-pattern, pattern
306         or mix thereof.
307         (process_use, vect_mark_stmts_to_be_vectorized): Adjust callers.
308         * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
309         oprnd1 def_stmt is in pattern, don't look through it.
311 2016-03-03  Marek Polacek  <polacek@redhat.com>
313         PR middle-end/70050
314         * match.pd (X % -Y): Add INTEGRAL_TYPE_P check.
316 2016-03-03  Martin Liska  <mliska@suse.cz>
318         PR tree-optimization/70043
319         * tree-vect-loop.c (optimize_mask_stores): Move iterator to
320         previous statement if we see a debug statement.
322 2016-03-03  Richard Biener  <rguenther@suse.de>
324         PR tree-optimization/55936
325         * tree-vrp.c (compare_name_with_value): Add use_equiv_p
326         parameter and guard unsafe equivalence use.
327         (vrp_evaluate_conditional_warnv_with_ops): Always use
328         safe equivalences but not via the quadratic compare_names
329         helper.
331 2016-03-03  Michael Collison  <michael.collison@linaro.org>
333         PR target/70014
334         * config/arm/arm.md (*subsi3_carryin_const): Change predicate
335         for operand 1 to s_register_operand. Change predicate for operand
336         2 to arm_not_immediate_operand.
338 2016-03-02  H.J. Lu  <hongjiu.lu@intel.com>
340         * doc/tm.texi: Regenerated.
342 2016-03-02  Richard Henderson  <rth@redhat.com>
344         PR rtl-opt/67145
345         * simplify-rtx.c (simplify_plus_minus): Allow reassoc without
346         simplification when all args are positive non-fixed registers.
348 2016-03-02  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
350         * target.def (lra_p): Specify that new ports should use LRA.
352 2016-03-02  Jakub Jelinek  <jakub@redhat.com>
354         PR libgomp/69555
355         * gimplify.c (gimplify_decl_expr): For decls with REFERENCE_TYPE, also
356         gimplify_type_sizes the type they refer to.
357         (omp_notice_variable): Handle reference vars to VLAs.
358         * omp-low.c (lower_omp_target): Emit setup of OMP_CLAUSE_PRIVATE
359         reference to VLA decls in the second pass instead of first pass.
361 2016-03-02  Tom de Vries  <tom@codesourcery.com>
363         PR tree-optimization/68659
364         * graphite-isl-ast-to-gimple.c (collect_all_ssa_names): Handle
365         new_expr == NULL_TREE.
366         (get_new_name): Handle ADDR_EXPR.
368 2016-03-02  Bin Cheng  <bin.cheng@arm.com>
370         PR rtl-optimization/69052
371         * loop-invariant.c (canonicalize_address): New function.
372         (inv_can_prop_to_addr_use): Check validity of address expression
373         which is canonicalized by above function.
375 2016-03-02  Alan Modra  <amodra@gmail.com>
377         PR ipa/69990
378         * ipa-icf.c (sem_variable::merge): Do not merge an alias with
379         larger alignment.
381 2016-03-02  Jakub Jelinek  <jakub@redhat.com>
383         PR target/70028
384         * config/i386/i386.md (kmovw): Move m constraint to 2nd alternative.
385         (*movhi_internal): Put mask moves from and to memory separately
386         from moves from/to GPRs.
388 2016-03-02  Richard Biener  <rguenther@suse.de>
390         * genmatch.c (dt_node::gen_kids): Fix match code-gen for embedded
391         GENERIC expressions in GIMPLE.
393 2016-03-02  Richard Biener  <rguenther@suse.de>
395         * config/i386/i386.c (type_natural_mode): Fix typo.
397 2016-03-02  Nick Clifton  <nickc@redhat.com>
399         * config.gcc (mep-*-elf): Add newlib-stdint.h to tm_file.
401 2016-03-02  Richard Biener  <rguenther@suse.de>
402             Uros Bizjak  <ubizjak@gmail.com>
404         PR target/67278
405         * config/i386/i386.c (type_natural_mode): Handle XFmode vectors.
407 2016-03-02  Richard Biener  <rguenther@suse.de>
409         PR middle-end/67278
410         * tree-cfg.c (verify_expr): Adjust BIT_FIELD_REF case.
412 2016-03-02  Marek Polacek  <polacek@redhat.com>
414         PR c/67854
415         * gimplify.c (gimplify_va_arg_expr): Use expanded location for the
416         "is promoted to" warning.
418 2016-03-01  DJ Delorie  <dj@redhat.com>
420         * config.gcc: Deprecate mep-*.
422 2016-03-01  Vladimir Makarov  <vmakarov@redhat.com>
424         PR middle-end/70025
425         * lra-constraints.c (regno_val_use_in): New.
426         (match_reload): Use it instead of regno_use_in.
428 2016-03-01  Eric Botcazou  <ebotcazou@adacore.com>
430         PR rtl-optimization/70007
431         * gcse.c (compute_ld_motion_mems): Tidy up and also invalidate memory
432         references present in REG_EQUAL notes attached to non-SET patterns.
434 2016-03-01  Jeff Law  <law@redhat.com>
436         PR tree-optimization/69196
437         * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
438         Appropriately clamp the number of statements to copy when the
439         thread path does not traverse a loop backedge.
441         PR tree-optimization/69196
442         * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
443         Do count some PHIs in the thread path against the insn count.  Decrease
444         final statement count by one as the control statement in the last
445         block will get removed.  Remove special cased code for handling PHIs
446         in the last block.
448 2016-03-01  Uros Bizjak  <ubizjak@gmail.com>
450         PR target/70027
451         * config/i386/i386.c (ix86_output_call_insn): Add -masm=intel
452         asm dialect alternatives to explicit GOTPCREL calls.
454 2016-03-01  Eric Botcazou  <ebotcazou@adacore.com>
456         PR ada/70017
457         * ira.c (do_reload): Issue warning for generic stack checking here...
458         * reload1.c (reload): ...instead of here and streamline it.
460 2016-03-01  Nick Clifton  <nickc@redhat.com>
462         * config.gcc (cr16-*-elf): Add newlib-stdint.h to tm_file.
464 2016-03-01  Richard Biener  <rguenther@suse.de>
466         PR tree-optimization/69983
467         * tree-chrec.c (eq_evolutions_p): Handle conversions, compare
468         types and fall back to operand_equal_p.
470 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
472         Revert
473         2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
475         * config/s390/constraints.md ("jm8"): New constraint.
476         * config/s390/predicates.md ("const_int_8bitset_operand"): New
477         predicate.
478         * config/s390/s390.md ("*setmem_long", "*setmem_long_and"): Merge
479         into ...
480         ("*setmem_long<setmem_and>"): New pattern.
481         ("*setmem_long_31z", "*setmem_long_and_31z"): Merge
482         into ...
483         ("*setmem_long_31z<setmem_and>"): New pattern.
484         * config/s390/subst.md ("setmem_31z_subst", "setmem_and_subst"):
485         New substitution rules with the required attributes.
488 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
490         Revert
491         2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
493         * gensupport.c (process_substs_on_one_elem): Split loop to
494         complete mark_operands_used_in_match_dup on all expressions in the
495         vector first.
496         (adjust_operands_numbers): Inline into process_substs_on_one_elem
497         and remove function.
499 2016-03-01  Richard Biener  <rguenther@suse.de>
501         PR middle-end/70022
502         * fold-const.c (fold_indirect_ref_1): Fix range checking for
503         vector BIT_FIELD_REF extract.
505 2016-03-01  Richard Biener  <rguenther@suse.de>
507         PR tree-optimization/69994
508         * tree-ssa-reassoc.c (ops_equal_values_p): Handle missing case.
510 2016-03-01  Ilya Enkovich  <enkovich.gnu@gmail.com>
512         PR tree-optimization/69956
513         * tree-vect-stmts.c (supportable_widening_operation): Support
514         multi-step conversion of boolean vectors.
515         (supportable_narrowing_operation): Likewise.
517 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
519         * config/s390/s390.c (s390_decompose_address): Don't accept SImode
520         anymore.
522 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
524         * config/s390/subst.md (DSI_VI): New mode iterator.
525         ("addr_style_op_subst"): Use DSI_VI instead of DSI.
526         * config/s390/vector.md ("vec_set<mode>"): Move expander before
527         the insn definition.
528         ("*vec_set<mode>"): Change predicate and add alternative to
529         support only either register or const_int operands as element
530         selector.
531         ("*vec_set<mode>_plus"): New pattern to support reg + const_int
532         operands.
533         ("vec_extract<mode>"): New expander.
534         ("*vec_extract<mode>"): New insn definition supporting reg and
535         const_int element selectors.
536         ("*vec_extract<mode>_plus"): New insn definition supporting
537         reg+const_int element selectors.
538         ("rotl<mode>3", "ashl<mode>3", "ashr<mode>3"): Merge into the
539         following expander+insn definition.
540         ("<vec_shifts_name><mode>3"): New expander.
541         ("*<vec_shifts_name><mode>3<addr_style_op>"): New insn definition.
543 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
545         * config/s390/s390.md ("*tabort_1"): Change predicate to
546         nonmemory_operand.  Add a second alternative to cover
547         register as well as const int operands.
548         ("*tabort_1_plus"): New pattern definition.
550 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
552         * config/s390/s390.md ("*ashrdi3_cc_31")
553         ("*ashrdi3_cconly_31""*ashrdi3_cc_31_and")
554         ("*ashrdi3_cconly_31_and", "*ashrdi3_31_and", "*ashrdi3_31"):
555         Merge insn definitions into ...
556         ("*ashrdi3_31<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
557         New pattern definition.
558         ("*ashr<mode>3_cc", "*ashr<mode>3_cconly", "ashr<mode>3", )
559         ("*ashr<mode>3_cc_and", "*ashr<mode>3_cconly_and")
560         ("*ashr<mode>3_and"): Merge insn definitions into ...
561         ("*ashr<mode>3<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
562         New pattern definition.
563         * config/s390/subst.md ("addr_style_op_cc_subst")
564         ("masked_op_cc_subst", "setcc_subst", "cconly_subst"): New
565         substitutions patterns plus attributes.
566         Add ashiftrt to SUBST iterator.
568 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
570         * config/s390/s390.md ("<shift><mode>3"): Change predicate of
571         op2 to nonmemory_operand.
572         ("*<shift>di3_31", "*<shift>di3_31_and"):
573         Merge into single pattern definition ...
574         ("*<shift>di3_31<addr_style_op><masked_op>"): New pattern.
575         ("*<shift><mode>3", "*<shift><mode>3_and"): Merge into single
576         pattern definition ...
577         ("*<shift><mode>3<addr_style_op><masked_op>"): New pattern.
578         * config/s390/subst.md: Add ashift and lshiftrt to SUBST
579         iterator.
581 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
583         * config/s390/predicates.md (const_int_6bitset_operand): New
584         predicate.
585         * config/s390/s390.md: Include subst.md.
586         ("rotl<mode>3"): New expander.
587         ("rotl<mode>3", "*rotl<mode>3_and"): Merge insn definitions into
588         ...
589         ("*rotl<mode>3<addr_style_op><masked_op>"): New insn definition.
590         * config/s390/subst.md: New file.
592 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
594         * config/s390/s390.md ("op_type", "atype", "length" attributes):
595         Remove RRR type.  It doesn't really exist.
596         ("RRer", "f0", "v0", "vf", "vd", "op1", "Rf"): Remove mode
597         attributes.
598         ("BFP", "DFP", "nDSF", "nDFDI"): Add mode attributes.
599         ("*cmp<mode>_ccs", "floatdi<mode>2", "add<mode>3")
600         ("*add<mode>3_cc", "*add<mode>3_cconly", "sub<mode>3")
601         ("*sub<mode>3_cc", "*sub<mode>3_cconly", "mul<mode>3")
602         ("fma<mode>4", "fms<mode>4", "div<mode>3", "*neg<mode>2")
603         ("*abs<mode>2", "*negabs<mode>2", "sqrt<mode>2"): Override
604         `enabled' attribute.
606 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
608         * gensupport.c (process_substs_on_one_elem): Split loop to
609         complete mark_operands_used_in_match_dup on all expressions in the
610         vector first.
611         (adjust_operands_numbers): Inline into process_substs_on_one_elem
612         and remove function.
614 2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
616         PR target/69706
617         * config/sparc/sparc.c (NWORDS_UP): Rename to...
618         (CEIL_NWORDS): ...this.  Use CEIL macro.
619         (compute_fp_layout): Adjust to above renaming.
620         (function_arg_union_value): Likewise.
621         (sparc_arg_partial_bytes): Likewise.
622         (sparc_function_arg_advance): Likewise.
624 2016-02-29  Jeff Law  <law@redhat.com>
626         PR tree-optimization/70005
627         * tree-ssa-uncprop.c (associate_equivalences_with_edges): Handle case
628         where an object with a boolean range is compared against a value
629         outside [0..1].
631         PR tree-optimization/69999
632         * gimple-ssa-split-paths.c (split_paths): When duplicating a block
633         with an outgoing edge marked with EDGE_IRREDUCIBLE_LOOP, schedule
634         loop cleanups.
636 2016-02-29  Richard Biener  <rguenther@suse.de>
638         PR tree-optimization/69994
639         * tree-ssa-reassoc.c (gimple_nop_conversion_p): New function.
640         (get_unary_op): Look through nop conversions.
641         (ops_equal_values_p): New function, look for equality diregarding
642         nop conversions.
643         (eliminate_plus_minus_pair): Use ops_equal_values_p
644         (repropagate_negates): Do not use get_unary_op here.
646 2016-02-29  Martin Liska  <mliska@suse.cz>
648         * system.h: Poison ENABLE_CHECKING macro.
650 2016-02-29  Martin Liska  <mliska@suse.cz>
652         * hsa-gen.c (gen_body_from_gimple): Dump only if TDF_DETAILS
653         is presented in dump flags.
654         * hsa-regalloc.c (linear_scan_regalloc): Likewise.
655         (hsa_regalloc): Likewise.
657 2016-02-19  Richard Biener  <rguenther@suse.de>
659         PR tree-optimization/69980
660         * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Update
661         permutation of those we need to keep.
663 2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
665         PR target/69706
666         * config/sparc/sparc.c (ROUND_ADVANCE): Rename to...
667         (NWORDS_UP): ...this
668         (init_cumulative_args): Minor tweaks.
669         (sparc_promote_function_mode): Likewise.
670         (scan_record_type): Delete.
671         (traverse_record_type): New function template.
672         (classify_data_t): New structure type.
673         (classify_registers): New inline function.
674         (function_arg_slotno): In 64-bit mode, bail out early if FP slots are
675         exhausted.  Instantiate traverse_record_type on classify_registers and
676         deal with the case of a structure passed in slot #15 with no FP field
677         in the first word.
678         (assign_data_t): New structure type.
679         (compute_int_layout): New static function.
680         (compute_fp_layout): Likewise.
681         (count_registers): New inline function.
682         (assign_int_registers): New static function.
683         (assign_fp_registers): Likewise.
684         (assign_registers): New inline function.
685         (function_arg_record_value_1): Delete.
686         (function_arg_record_value_2): Likewise.
687         (function_arg_record_value_3): Likewise.
688         (function_arg_record_value): Adjust to above changes.  Instantiate
689         traverse_record_type on count_registers to first count the number of
690         registers to be used and then on assign_registers to assign them.
691         (function_arg_union_value): Adjust to above renaming.
692         (sparc_function_arg_1); Minor tweaks.  Remove commented out code.
693         (sparc_arg_partial_bytes): Adjust to above renaming.  Deal with the
694         case of a structure passed in slot #15
695         (sparc_function_arg_advance): Likewise.
696         (function_arg_padding): Minor tweak.
698 2016-02-29  Richard Biener  <rguenther@suse.de>
700         PR tree-optimization/69720
701         * tree-vect-loop.c (get_initial_def_for_reduction): Avoid
702         the adjustment_def path for possibly vectorized defs.
703         (vect_create_epilog_for_reduction): Handle vectorized initial
704         defs properly.
706 2016-02-28  Eric Botcazou  <ebotcazou@adacore.com>
708         * config/i386/cygming.h (STACK_REALIGN_DEFAULT): Define.
710 2016-02-27  Jeff Law  <law@redhat.com>
712         Revert
713         2016-02-26  Richard Biener  <rguenther@suse.de>
714                     Jeff Law  <law@redhat.com>
716         PR tree-optimization/69740
717         * cfghooks.c (remove_edge): Request loop fixups if we delete
718         an edge that might turn an irreducible loop into a natural
719         loop.
721 2016-02-27  Jakub Jelinek  <jakub@redhat.com>
723         PR rtl-optimization/69896
724         * tree-vect-generic.c (get_compute_type): Avoid single element
725         vector types.
727 2016-02-26  Evandro Menezes  <e.menezes@samsung.com>
729         Rename the AArch64 tuning option and related functions to enable the
730         Newton series for the reciprocal square root to reflect its
731         approximative characteristic.
733         * config/aarch64/aarch64-protos.h (aarch64_emit_swrsqrt): Rename
734         function to "aarch64_emit_approx_rsqrt".
735         * config/aarch64/aarch64-tuning-flags.def: Rename tuning flag to
736         AARCH64_EXTRA_TUNE_APPROX_RSQRT.
737         * config/aarch64/aarch64.c (exynosm1_tunigs): Use new flag name.
738         (xgene1_tunings): Likewise.
739         (use_rsqrt_p): Likewise.
740         (aarch64_emit_swrsqrt): Use new function name.
741         * config/aarch64/aarch64-simd.md (aarch64_rsqrts_*): Likewise.
742         * config/aarch64/aarch64.opt (mlow-precision-recip-sqrt): Reword the
743         text explaining this option.
744         * doc/invoke.texi (-mlow-precision-recip-sqrt): Likewise.
746 2016-02-26  Jakub Jelinek  <jakub@redhat.com>
748         PR target/69969
749         * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
750         complain about -mallow-movmisalign without -mvsx if
751         TARGET_ALLOW_MOVMISALIGN was not set explicitly.
753 2016-02-26  Joel Sherrill  <joel@rtems.org>
755         * config.gcc: Add x86_64-*-rtems*.
756         * gcc/config/i386/rtems-64.h: New file.
758 2016-02-26  Joel Sherrill  <joel@rtems.org>
760         * config.gcc: Add aarch64-*-rtems*.
761         * gcc/config/aarch64/rtems.h: New file.
763 2016-02-26  Segher Boessenkool  <segher@kernel.crashing.org>
765         PR target/69946
766         * config/rs6000/rs6000.c (rs6000_insn_for_shift_mask): Print rlwinm
767         shift amount using %h.  Add comment.
769 2016-02-26  Richard Biener  <rguenther@suse.de>
770             Jeff Law  <law@redhat.com>
772         PR tree-optimization/69740
773         * cfghooks.c (remove_edge): Request loop fixups if we delete
774         an edge that might turn an irreducible loop into a natural
775         loop.
777 2016-02-26  Martin Jambor  <mjambor@suse.cz>
779         PR middle-end/69920
780         * tree-sra.c (sra_modify_assign): Do not remove loads of
781         uninitialized aggregates to SSA_NAMEs.
783 2016-02-26  Richard Henderson  <rth@redhat.com>
785         PR target/69709
786         * config/s390/s390.md (risbg and risbgn splitters): Allocate new
787         pseudo in case the target rtx matches the source of the left
788         shift.
790 2016-02-26  Martin Jambor  <mjambor@suse.cz>
792         PR hsa/69568
793         * hsa.h (hsa_type_packed_p): Declare.
794         * hsa.c (hsa_type_packed_p): New function.
795         * hsa-gen.c (mem_type_for_type): Use unsigned type for packed
796         loads.
797         (gen_hsa_insns_for_store): Use hsa_type_packed_p.
798         * hsa-brig.c (emit_basic_insn): Likewise.
800 2016-02-26  Martin Jambor  <mjambor@suse.cz>
802         pr hsa/69674
803         * hsa-gen.c (gen_hsa_phi_from_gimple_phi): Use proper hsa type for
804         pointers.
805         (gen_hsa_addr): Allow integer constants in TMR_INDEX2.
807 2016-02-26  Martin Jambor  <mjambor@suse.cz>
809         * hsa.h (is_a_helper): New overload for hsa_op_immed for
810         hsa_op_with_type operands.
811         (hsa_unsigned_type_for_type): Declare.
812         * hsa.c (hsa_unsigned_type_for_type): New function.
813         * hsa-gen.c (gen_hsa_binary_operation): Use hsa_unsigned_type_for_type.
814         (gen_hsa_insns_for_operation_assignment): Satisfy constrains of
815         the finalizer.  Do not emit extra move.
817 2016-02-26  Martin Jambor  <mjambor@suse.cz>
819         * hsa-gen.c (gen_hsa_ternary_atomic_for_builtin): Fail in presence of
820         atomic operations in private segment.
822 2016-02-26  Martin Jambor  <mjambor@suse.cz>
824         * omp-low.c (grid_find_ungridifiable_statement): Store problematic
825         statements to wi->info.  Also disallow omp simd constructs.
826         (grid_target_follows_gridifiable_pattern): Use wi.info to dump reason
827         for not gridifying.  Dump special string for omp_for.
829 2016-02-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
831         PR target/69245
832         * config/aarch64/aarch64.c (aarch64_set_current_function):
833         Save/restore target globals when switching to
834         target_option_default_node.
836 2016-02-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
838         PR target/69613
839         * config/aarch64/aarch64.c (aarch64_shift_truncation_mask):
840         Return 0 if !SHIFT_COUNT_TRUNCATED.
842 2016-02-26  Jakub Jelinek  <jakub@redhat.com>
843             Eric Botcazou  <ebotcazou@adacore.com>
845         PR rtl-optimization/69891
846         * dse.c (scan_insn): If we can't figure out memset arguments
847         or they are non-constant, call clear_rhs_from_active_local_stores.
849 2016-02-26  Martin Liska  <mliska@suse.cz>
851         * doc/extend.texi: Mention clog10, clog10f an clog10l
852         in Builtins section.
854 2016-02-26  Martin Liska  <mliska@suse.cz>
856         * dwarf2out.c (new_loc_descr): Replace ENABLE_CHECKING with
857         CHECKING_P.
858         (resolve_args_picking_1): Likewise.
859         * dwarf2out.h (struct GTY): Likewise.
861 2016-02-26  Martin Liska  <mliska@suse.cz>
863         * hsa-gen.c (generate_hsa): Replace ENABLE_CHECKING macro
864         with flag_checking.
865         * hsa-regalloc.c (linear_scan_regalloc): Likewise.
867 2016-02-26  Markus Trippelsdorf  <markus@trippelsdorf.de>
868             Martin Liska  <mliska@suse.cz>
870         * doc/install.texi: Mention --enable-valgrind-annotations.
872 2016-02-26  Richard Biener  <rguenther@suse.de>
874         PR tree-optimization/69551
875         * tree-ssa-structalias.c (get_constraint_for_ssa_var): When
876         looking through aliases adjust DECL_PT_UID to refer to the
877         ultimate alias target.
879 2016-02-25  Martin Liska  <mliska@suse.cz>
881         PR middle-end/69919
882         * alloc-pool.c (after_memory_report): New variable.
883         * alloc-pool.h (base_pool_allocator ::release): Do not use
884         the infrastructure if after_memory_report.
885         * toplev.c (toplev::main): Mark after memory report.
887 2016-02-25  Richard Biener  <rguenther@suse.de>
889         PR tree-optimization/48795
890         * tree-vrp.c (check_array_ref): Use array_at_struct_end_p.
892 2016-02-25  Ilya Verbin  <ilya.verbin@intel.com>
894         PR driver/68463
895         * config/gnu-user.h (CRTOFFLOADBEGIN): Define.  Add crtoffloadbegin.o if
896         offloading is enabled and -fopenacc or -fopenmp is specified.
897         (CRTOFFLOADEND): Likewise.
898         (GNU_USER_TARGET_STARTFILE_SPEC): Add CRTOFFLOADBEGIN.
899         (GNU_USER_TARGET_ENDFILE_SPEC): Add CRTOFFLOADEND.
900         * lto-wrapper.c (offloadbegin, offloadend): Remove static vars.
901         (offload_objects_file_name): New static var.
902         (tool_cleanup): Remove offload_objects_file_name file.
903         (find_offloadbeginend): Replace with ...
904         (find_crtoffloadtable): ... this.
905         (run_gcc): Remove offload_argc and offload_argv.
906         Get offload_objects_file_name from -foffload-objects=... option.
907         Read names of object files with offload from this file, pass them to
908         compile_images_for_offload_targets.  Don't call find_offloadbeginend and
909         don't pass offloadbegin and offloadend to the linker.  Don't pass
910         offload non-LTO files to the linker, because now they're not claimed.
912 2016-02-25  Jan Hubicka  <hubicka@ucw.cz>
914         PR ipa/69630
915         * ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
916         on builtin_unreachable.
918 2016-02-25  Jakub Jelinek  <jakub@redhat.com>
920         PR rtl-optimization/69896
921         * regcprop.c: Include cfgrtl.h.
922         (copyprop_hardreg_forward_1): If noop_p insn uses narrower
923         than remembered mode, either delete it (if noop_move_p), or
924         treat like copy_p but not noop_p instruction.
926 2016-02-24  Jakub Jelinek  <jakub@redhat.com>
928         PR debug/69705
929         * dwarf2out.c (gen_variable_die): Work around buggy LTO
930         - allow NULL decl for Fortran DW_TAG_common_block variables.
932 2016-02-24  Jason Merrill  <jason@redhat.com>
934         * common.opt (flifetime-dse): Add -flifetime-dse=1.
936 2016-02-24  Richard Biener  <rguenther@suse.de>
937             Jakub Jelinek  <jakub@redhat.com>
939         PR middle-end/69760
940         * tree-scalar-evolution.c (interpret_rhs_expr): Re-write
941         conditionally executed ops to well-defined overflow behavior.
943 2016-02-24  Jakub Jelinek  <jakub@redhat.com>
945         PR middle-end/69915
946         * tree.c (build_vector_from_ctor): Fix handling of VECTOR_CST
947         elements.
949 2016-02-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
951         PR rtl-optimization/69886
952         * gcse.c (can_assign_to_reg_without_clobbers_p): Accept mode
953         argument.  Use it when checking validity of set instructions.
954         (want_to_gcse_p): Pass mode to can_assign_to_reg_without_clobbers_p.
955         (compute_ld_motion_mems): Update can_assign_to_reg_without_clobbers_p
956         callsite.
957         * rtl.h (can_assign_to_reg_without_clobbers_p): Update prototype.
958         * store-motion.c (find_moveable_store): Update
959         can_assign_to_reg_without_clobbers_p callsite.
961 2016-02-24  Richard Biener  <rguenther@suse.de>
963         PR middle-end/68963
964         * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Fix
965         bogus check.
966         (record_nonwrapping_iv): Do not fall back to the low/high bound
967         for non-constant IV bases if the stmt is not always executed.
969 2016-02-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
971         * config/arm/arm-cores.def (cortex-a32): New entry.
972         * config/arm/arm-tables.opt: Regenerate.
973         * config/arm/arm-tune.md: Regenerate.
974         * config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a32.
975         * config/arm/t-aprofile: Handle mcpu=cortex-a32.
976         * doc/invoke.texi (ARM Options): Document cortex-a32 as value
977         for -mcpu and -mtune.
979 2016-02-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
981         PR target/69875
982         * config/arm/arm.h (TARGET_HAVE_LPAE): Define.
983         * config/arm/unspecs.md (VUNSPEC_LDRD_ATOMIC): New value.
984         * config/arm/sync.md (arm_atomic_loaddi2_ldrd): New pattern.
985         (atomic_loaddi_1): Delete.
986         (atomic_loaddi): Rewrite expander using the above changes.
988 2016-02-24  Jakub Jelinek  <jakub@redhat.com>
990         PR c/69918
991         * params.def (PARAM_MAX_SSA_NAME_QUERY_DEPTH): Bump default from
992         2 to 3.
994 2016-02-24  Jakub Jelinek  <jakub@redhat.com>
995             Richard Biener  <rguenth@suse.de>
997         PR middle-end/69909
998         * expr.c (expand_expr_real_1) <normal_inner_ref>: Avoid
999         set_mem_attributes if tem is SSA_NAME which got expanded
1000         as a MEM.
1002 2016-02-24  Richard Biener  <rguenther@suse.de>
1004         PR tree-optimization/69907
1005         * tree-vect-stmts.c (vectorizable_load): Check for gaps at the
1006         end of permutations for BB vectorization.
1008 2016-02-24  Christian Bruel  <christian.bruel@st.com>
1010         * config/arm/arm-c.c (arm_option_override): Initialize
1011         target_option_current_node.
1012         * config/arm/arm.c (arm_pragma_target_parse): Replace
1013         build_target_option_node call by target_option_current_node.
1014         Set target_option_current_node.
1015         Fix comments.
1017 2016-02-23  David Edelsohn  <dje.gcc@gmail.com>
1019         PR target/69810
1020         * config/rs6000/rs6000.md (zero_extendqi<mode>2_dot): Convert from
1021         define_insn_and_split to define_insn.
1022         (zero_extendqi<mode>2_dot2): Same.
1023         (extendqi<mode>2_dot): Same.
1024         (extendqi<mode>2_dot2): Same.
1026 2016-02-23  Evandro Menezes  <e.menezes@samsung.com>
1028         * config/arm/exynos-m1.md: Change cost of STP, fix bypass for stores
1029         and add bypass for AES{D,E} and AESMC pairs.
1030         * config/aarch64/aarch64.c (exynosm1_tunings): Enable fusion of AES{D,E}
1031         and AESMC pairs.
1033 2016-02-23  Evandro Menezes  <e.menezes@samsung.com>
1035         * config/aarch64/aarch64.c (exynosm1_tunings): Enable the Newton
1036         series for reciprocal square root in Exynos M1.
1038 2016-02-23  Martin Sebor  <msebor@redhat.com>
1040         PR c/69759
1041         * doc/extend.texi (Other Builtins): Document __builtin_alloca and
1042         __builtin_alloca_with_align.
1044 2016-02-23  Richard Henderson  <rth@redhat.com>
1046         * config/i386/i386-c.c (ix86_target_macros): Remove __SEG_TLS.
1047         (ix86_register_pragmas): Remove __seg_tls.
1048         * config/i386/i386-protos.h (ADDR_SPACE_SEG_TLS): Remove.
1049         * config/i386/i386.c (ix86_print_operand_address_as): Don't handle it.
1050         (ix86_addr_space_subset_p, TARGET_ADDR_SPACE_SUBSET_P): Remove.
1051         (ix86_addr_space_convert, TARGET_ADDR_SPACE_CONVERT): Remove.
1052         (ix86_addr_space_debug, TARGET_ADDR_SPACE_DEBUG): Remove.
1053         * doc/extend.texi (__seg_tls): Remove item.
1055 2016-02-23  Richard Biener  <rguenther@suse.de>
1057         * alloc-pool.h (struct allocation_object): Make id member
1058         conditional on CHECKING_P again.
1059         (get_instance): Adjust.
1060         (base_pool_allocator): Likewise.
1062 2016-02-23  Thomas Schwinge  <thomas@codesourcery.com>
1064         * tree-parloops.c (create_parallel_loop, gen_parallel_loop)
1065         (parallelize_loops): In OpenACC kernels mode, set n_threads to
1066         zero.
1067         (pass_parallelize_loops::gate): In OpenACC kernels mode, gate on
1068         flag_openacc.
1069         * tree-ssa-loop.c (gate_oacc_kernels): Likewise.
1071 2016-02-23  Richard Biener  <rguenther@suse.de>
1073         * mem-stats.h (struct mem_usage): Use PRIu64 for printing size_t.
1074         * bitmap.h (struct bitmap_usage): Likewise.
1075         (bitmap_move): Declare.
1076         * bitmap.c (register_overhead): Take size_t argument.
1077         (bitmap_move): New function.
1078         * df-problems.c (df_rd_transfer_function): Use bitmap_move
1079         to properly account overhead.
1080         * tree.c (free_node): Use tree_size.
1082 2016-02-23  Jakub Jelinek  <jakub@redhat.com>
1084         PR c++/69902
1085         * fold-const.c (fold_truth_not_expr): Propagate TREE_NO_WARNING
1086         when inverting comparison.
1088         PR c/69900
1089         * common.opt (Wunreachable-code): Add Warning flag.
1091 2016-02-23  Mark Wielaard  <mjw@redhat.com>
1092             Jakub Jelinek  <jakub@redhat.com>
1094         PR c/69911
1095         * cgraphunit.c (check_global_declaration): Check main_input_filename
1096         and DECL_SOURCE_FILE are not NULL.
1098 2016-02-23  Martin Jambor  <mjambor@suse.cz>
1100         PR tree-optimization/69666
1101         * tree-sra.c (sra_modify_assign): Do not attempt to create
1102         default_def replacements for unscalarizable regions.
1104 2016-02-20  Mark Wielaard  <mjw@redhat.com>
1106         PR c/28901
1107         * cgraphunit.c (check_global_declaration): Check level of
1108         warn_unused_const_variable and main_input_filename.
1109         * doc/invoke.texi (Warning Options): Add -Wunused-const-variable=.
1110         (-Wunused-variable): For C implies -Wunused-const-variable=1.
1111         (-Wunused-const-variable): Explain levels 1 and 2.
1113 2016-02-22  Jakub Jelinek  <jakub@redhat.com>
1115         PR target/69888
1116         * config/i386/i386.c (decide_alg): Ensure we don't recurse with
1117         identical arguments.  Formatting and spelling fixes.
1119         PR target/69885
1120         * doc/md.texi (ashl@var{m}3): Document that mode of operand 2 must
1121         be specified.
1123         PR target/69894
1124         PR target/69895
1125         * config/m68k/t-opts (OPTIONS_H_EXTRA): Add m68k-microarchs.def
1126         and m68k-devices.def.
1127         * config/c6x/t-c6x (OPTIONS_H_EXTRA): Add c6x-isas.def.
1128         * config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add aarch64-arches.def.
1130 2016-02-22  Cesar Philippidis  <cesar@codesourcery.com>
1132         * config/nvptx/nvptx.c (nvptx_gen_shuffle): Add support for QImode
1133         and HImode registers.
1135 2016-02-22  Richard Biener  <rguenther@suse.de>
1137         PR tree-optimization/69882
1138         * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Properly
1139         preserve permutations present because of gaps.
1140         (vect_supported_load_permutation_p): Always continue checking
1141         permutations after vect_attempt_slp_rearrange_stmts.
1143 2016-02-22  Bin Cheng  <bin.cheng@arm.com>
1145         * tree-vect-loop.c (vect_estimate_min_profitable_iters): Dump
1146         min_profitable_estimate, rather than min_profitable_iters.
1148 2016-02-22  Jakub Jelinek  <jakub@redhat.com>
1150         PR target/69885
1151         * config/m68k/m68k.md (ashldi3, ashrdi3, lshrdi3): Use
1152         SImode for last match_operand.
1154 2016-02-22  Martin Liska  <mliska@suse.cz>
1156         * hsa-gen.c (gen_hsa_clrsb): In case of zero value,
1157         return bitsize - 1 as the return value.
1159 2016-02-22  Oleg Endo  <olegendo@gcc.gnu.org>
1161         PR target/69806
1162         PR target/54089
1163         * config/sh/sh.c (sh_lshrsi_clobbers_t_reg_p, sh_dynamicalize_shift_p):
1164         Handle negative shift counts.
1165         * config/sh/sh.md (ashlsi3, lshrsi3_n, lshrsi3_n_clobbers_t): Don't use
1166         force_reg on the shift constant.
1167         (lshrsi3): Likewise.  Expand into lshrsi3_n* instead of lshrsi3_d.
1168         (lshrsi3_d): Handle negative shift counts.
1170 2016-02-22  Richard Biener  <rguenther@suse.de>
1171             Tom de Vries  <tom@codesourcery.com>
1173         * graph.c: Include dumpfile.h.
1174         (print_graph_cfg): Split into three overloads.
1175         * gdbhooks.py (class DotFn): Add and instantiate, adding command dot-fn.
1177 2016-02-22  Tom de Vries  <tom@codesourcery.com>
1179         * gdbhooks.py (class DumpFn): Add and instantiate, adding command
1180         dump-fn.
1182 2016-02-22  Richard Biener  <rguenther@suse.de>
1184         PR ipa/37448
1185         * ipa-inline-transform.c (inline_call): When not updating
1186         overall summaries adjust self size by the growth estimate.
1187         * ipa-inline.c (inline_to_all_callers_1): Add to the callers
1188         hash-set, do not update overall summaries here.  Renamed from ...
1189         (inline_to_all_callers): ... this which is now wrapping the
1190         above and performing delayed overall summary update.
1191         (early_inline_small_functions): Delay updating of the overall
1192         summary.
1194 2016-02-21  Markus Trippelsdorf  <markus@trippelsdorf.de>
1196         * tree-chkp.c (chkp_mark_invalid_bounds_walker): Initialize
1197         variable.
1199 2016-02-19  Jakub Jelinek  <jakub@redhat.com>
1201         PR driver/69805
1202         * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use
1203         :%* in %:gt() argument.
1204         (greater_than_spec_func): Adjust for expecting only numbers,
1205         if there are more than two numbers, compare the last two.
1207 2016-02-19  Jonathan Wakely  <jwakely@redhat.com>
1209         * doc/invoke.texi (C++ Dialect Options): Clarify interaction of
1210         -Wnarrowing with -std.
1212 2016-02-19  Jakub Jelinek  <jakub@redhat.com>
1214         PR c++/69851
1215         * expr.c (store_field): Don't use bit-field path if exp is
1216         COMPONENT_REF with TREE_ADDRESSABLE type, where TYPE_SIZE is
1217         different from bitsize, but DECL_SIZE of FIELD_DECL is bitsize
1218         and the assignment can be performed by bitwise copy.  Formatting
1219         fix.
1221         PR middle-end/69838
1222         * lra.c (lra_process_new_insns): If non-call exceptions are enabled,
1223         call copy_reg_eh_region_note_forward on before and/or after sequences
1224         and remove note from insn if it no longer can throw.
1226         PR target/69820
1227         * config/i386/sse.md (VI_512): Only include V64QImode and V32HImode
1228         if TARGET_AVX512BW.
1230 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
1232         * config/s390/vector.md: Add missing commutative operand markers
1233         to the patterns which qualify for one.
1234         * config/s390/vx-builtins.md: Likewise.
1236 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
1238         * config/s390/vector.md (VI, VI_QHS): Add single element vector
1239         types to mode iterators.
1240         (vec_double): ... and mode attribute.
1241         * config/s390/vx-builtins.md (non_vec_int): Likewise.
1243 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
1245         * config/s390/vector.md ("<ti*>add<mode>3", "<ti*>sub<mode>3"):
1246         Change the predicate of op2 from nonimmediate to general and let
1247         reload fix it if necessary.
1249 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
1251         * config/s390/vecintrin.h (vec_sub_u128): Define missing macro.
1253 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
1255         * config/s390/s390.c (s390_expand_vcond): Use the compare operand
1256         mode.
1258 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
1260         * config/s390/s390-protos.h: Add s390_expand_vec_movstr prototype.
1261         * config/s390/s390.c (s390_expand_vec_movstr): New function.
1262         * config/s390/s390.md ("movstr<P:mode>"): Call
1263         s390_expand_vec_movstr.
1265 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
1267         * config/s390/s390.md: Add missing output modifier for operand 1
1268         to print it as address properly.
1270 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
1272         * config/s390/2827.md: Rename ooo_* insn attributes to zEC12_*.
1273         * config/s390/2964.md: New file.
1274         * config/s390/s390.c (s390_get_sched_attrmask): Use the right set
1275         of insn grouping attributes depending on the CPU level.
1276         (s390_get_unit_mask): New function.
1277         (s390_sched_score): Remove the OOO from the scheduling macros.
1278         Add loop to calculate a score for the instruction mix.
1279         (s390_sched_reorder): Likewise plus improve debug output.
1280         (s390_sched_variable_issue): Rename macros as above.  Calculate
1281         the unit distances after actually scheduling an insn.  Improve
1282         debug output.
1283         (s390_sched_init): Clear last_scheduled_unit_distance array.
1284         * config/s390/s390.md: Include 2964.md.
1286 2016-02-18  Jakub Jelinek  <jakub@redhat.com>
1288         PR target/69671
1289         * config/i386/sse.md (*<floatsuffix>floatv2div2sf2_mask_1,
1290         *avx512vl_<code>v2div2qi2_mask_1, *avx512vl_<code><mode>v4qi2_mask_1,
1291         *avx512vl_<code><mode>v8qi2_mask_1, *avx512vl_<code><mode>v4hi2_mask_1,
1292         *avx512vl_<code>v2div2hi2_mask_1, *avx512vl_<code>v2div2si2_mask_1,
1293         *avx512f_<code>v8div16qi2_mask_1): New insns.
1295 2016-02-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
1297         PR target/68404
1298         * config/rs6000/predicates.md (fusion_gpr_addis): Revert
1299         2016-02-09 change.
1301         * config/rs6000/rs6000.md (fusion_gpr_load_<mode>): Remove
1302         earlyclobber from target.  Use wF constraint for fused memory
1303         address.
1304         (fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise.
1306 2016-02-18  Jakub Jelinek  <jakub@redhat.com>
1307             Martin Liska  <mliska@suse.cz>
1309         PR sanitizer/69863
1310         * cfgexpand.c (asan_sanitize_stack_p): New function.
1311         (partition_stack_vars): Use the function.
1312         (expand_stack_vars): Likewise.
1313         (defer_stack_allocation): Likewise.
1314         (expand_used_vars): Likewise.
1316 2016-02-18  Richard Biener  <rguenther@suse.de>
1318         PR middle-end/69553
1319         * fold-const.c (operand_equal_p): Properly compare offsets for
1320         IMAGPART_EXPR and ARRAY_REF.
1322 2016-02-18  Nick Clifton  <nickc@redhat.com>
1324         PR target/62254
1325         PR target/69610
1326         * config/arm/arm.c (arm_option_override_internal): Disable
1327         interworking if the target does not support thumb instructions.
1328         (arm_reload_in_hi): Handle the case where a register to register
1329         move needs reloading because there is no simple pattern to handle
1330         it.
1331         (arm_reload_out_hi): Likewise.
1333 2016-02-18  Richard Biener  <rguenther@suse.de>
1335         PR middle-end/69854
1336         * match.pd: Don't use fold_binary or fold_unary for folding
1337         constants.
1339 2016-02-17  Jakub Jelinek  <jakub@redhat.com>
1341         PR c++/69850
1342         * gimplify.c (gimplify_cond_expr): Call gimple_set_no_warning
1343         on the cond_stmt from TREE_NO_WARNING on COND_EXPR_COND.
1344         * gimple-ssa-nonnull-compare.c (do_warn_nonnull_compare): Don't
1345         warn on gimple_no_warning_p statements.
1347 2016-02-17  Jonathan Wakely  <jwakely@redhat.com>
1349         * doc/extend.texi (C++ Attributes): Correct description of
1350         warn_unused type attribute.
1352 2016-02-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1354         * config/rs6000/altivec.md (*altivec_lvxl_<mode>_internal): Output
1355         correct instruction.
1357 2016-02-17  Richard Biener  <rguenther@suse.de>
1359         PR rtl-optimization/69609
1360         * bb-reorder.c (struct bbro_basic_block_data): Add priority member.
1361         (find_traces_1_round): When ending a trace update cached priority
1362         of successors.
1363         (bb_to_key): Use cached priority when available.
1364         (copy_bb): Initialize cached priority.
1365         (reorder_basic_blocks_software_trace_cache): Likewise.
1367 2016-02-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1369         PR target/69161
1370         * config/aarch64/predicates.md (aarch64_comparison_operator_mode):
1371         New predicate.
1372         (aarch64_comparison_operator): Break overly long line into two.
1373         (aarch64_comparison_operation): Likewise.
1374         * config/aarch64/aarch64.md (cstorecc4): Use
1375         aarch64_comparison_operator_mode instead of
1376         aarch64_comparison_operator.
1377         (cstore<mode>4): Likewise.
1378         (aarch64_cstore<mode>): Likewise.
1379         (*cstoresi_insn_uxtw): Likewise.
1380         (cstore<mode>_neg): Likewise.
1381         (*cstoresi_neg_uxtw): Likewise.
1383 2016-02-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1385         PR target/69161
1386         * config/arm/predicates.md (arm_comparison_operator_mode):
1387         New predicate.
1388         * config/arm/arm.md (*mov_scc): Use arm_comparison_operator_mode
1389         instead of arm_comparison_operator.
1390         (*mov_negscc): Likewise.
1391         (*mov_notscc): Likewise.
1392         * config/arm/thumb2.md (*thumb2_mov_scc): Likewise.
1393         (*thumb2_mov_negscc): Likewise.
1394         (*thumb2_mov_negscc_strict_it): Likewise.
1395         (*thumb2_mov_notscc): Likewise.
1396         (*thumb2_mov_notscc_strict_it): Likewise.
1398 2016-02-17  Wilco Dijkstra  <wdijkstr@arm.com>
1400         * config/aarch64/aarch64.c (aarch64_internal_mov_immediate):
1401         Add missing return.
1403 2016-02-17  Eric Botcazou  <ebotcazou@adacore.com>
1405         * config/visium/visium.c (machine_libfunc_index): New enum.
1406         (machine_libfuncs): New structure.
1407         (visium_libfuncs): New static variable.
1408         (TARGET_INIT_LIBFUNCS): Define to...
1409         (visium_init_libfuncs): ...this.  New function.
1410         (expand_block_move_4): Use the appropriate libfunc.
1411         (expand_block_move_2): Likewise.
1412         (expand_block_move_1): Likewise.
1413         (expand_block_set_4): Likewise.
1414         (expand_block_set_2): Likewise.
1415         (expand_block_set_1): Likewise.
1416         (visium_trampoline_init): Likewise.
1418 2016-02-17  Nick Clifton  <nickc@redhat.com>
1420         * config/msp430/msp430.c (msp430_mcu_data): Sync with data from
1421         TI's devices.csv file as of March 2016.
1423 2016-02-16  Kelvin Nilsen  <kelvin@gcc.gnu.org>
1425         PR Target/48344
1426         * opts-global.c (handle_common_deferred_options): Introduce and
1427         initialize two global variables to remember command-line options
1428         specifying a stack-limiting register.
1429         * opts.h: Add extern declarations of the two new global variables.
1430         * emit-rtl.c (init_emit_once): Initialize the stack_limit_rtx
1431         variable based on the values of the two new global variables.
1433 2016-02-16  Jakub Jelinek  <jakub@redhat.com>
1435         PR c/69835
1436         * common.opt (Wnonnull-compare): New warning.
1437         * doc/invoke.texi (-Wnonnull): Remove text about comparison
1438         of arguments against NULL.
1439         (-Wnonnull-compare): Document.
1440         * Makefile.in (OBJS): Add gimple-ssa-nonnull-compare.o.
1441         * tree-pass.h (make_pass_warn_nonnull_compare): Declare.
1442         * passes.def (pass_warn_nonnull_compare): Add.
1443         * gimple-ssa-nonnull-compare.c: New file.
1445 2016-02-16  James Greenhalgh  <james.greenhalgh@arm.com>
1447         * config/aarch64/aarch64.c (cortexa57_tunings): Remove
1448         AARCH64_EXTRA_TUNE_RECIP_SQRT.
1450 2016-02-16  James Greenhalgh  <james.greenhalgh@arm.com>
1452         * config/aarch64/aarch64.c (use_rsqrt_p): Always use software
1453         reciprocal sqrt for -mlow-precision-recip-sqrt.
1455 2016-02-16  James Greenhalgh  <james.greenhalgh@arm.com>
1456             Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1458         * config/aarch64/aarch64.c (aarch64_expand_vector_init): Refactor,
1459         always use lane loads to construct non-constant vectors.
1461 2016-02-16  James Greenhalgh  <james.greenhalgh@arm.com>
1463         * config/aarch64/aarch64.md
1464         (arch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): Fix register
1465         constraints for operand 3.
1466         (aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): Likewise.
1468 2016-02-16  Jakub Jelinek  <jakub@redhat.com>
1469             Richard Biener  <rguenther@suse.de>
1471         PR tree-optimization/69820
1472         * tree-vect-patterns.c (type_conversion_p): Return false if
1473         *orig_type is unsigned single precision or boolean.
1474         (vect_recog_dot_prod_pattern, vect_recog_widen_mult_pattern):
1475         Formatting fix.
1477 2016-02-16  Jakub Jelinek  <jakub@redhat.com>
1479         PR rtl-optimization/69764
1480         PR rtl-optimization/69771
1481         * optabs.c (expand_binop): Ensure for shift optabs invalid CONST_INT
1482         op1 is valid for GET_MODE_INNER (mode) and force it into a reg.
1484 2016-02-16  Richard Biener  <rguenther@suse.de>
1486         PR tree-optimization/69776
1487         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Get alias
1488         sets from caller.
1489         (indirect_refs_may_alias_p): Likewise.
1490         (refs_may_alias_p_1): Pass alias sets as from ao_ref.
1491         * tree-ssa-sccvn.c (vn_reference_lookup): Also adjust vr alias-set
1492         according to tbaa_p.
1493         * tree-ssa-dom.c (lookup_avail_expr): Add tbaa_p flag.
1494         (optimize_stmt): For redundant store discovery do not allow tbaa.
1496 2016-02-16  Bernd Schmidt  <bschmidt@redhat.com>
1498         PR tree-optimization/69714
1499         * tree-ssa-math-opts.c (find_bswap_or_nop): Revert previous change.
1500         Return NULL if we have irrelevant high bytes on BIG_ENDIAN.
1502 2016-02-16  Claudiu Zissulescu  <claziss@synopsys.com>
1504         * config/arc/arc-modes.def (CC_FPU, CC_FPU_UNEQ): New modes.
1505         * config/arc/arc-opts.h (FPU_SP, FPU_SF, FPU_SC, FPU_SD, FPU_DP)
1506         (FPU_DF, FPU_DC, FPU_DD, FXP_DP): Define.
1507         * config/arc/arc.c (arc_init): Check FPU options.
1508         (get_arc_condition_code): Handle new CC_FPU* modes.
1509         (arc_select_cc_mode): Likewise.
1510         (arc_conditional_register_usage): Allow 64 bit datum into even-odd
1511         register pair only. Allow access for ARCv2 accumulator.
1512         (gen_compare_reg): Whenever we have FPU support use FPU compare
1513         instructions.
1514         (arc_reorg): Don't generate brcc insns when FPU compare
1515         instructions are involved.
1516         * config/arc/arc.h (TARGET_DPFP): Add TARGET_FP_DPAX condition.
1517         (TARGET_OPTFPE): Add condition when ARC EM can use optimized
1518         floating point emulation.
1519         (ACC_REG_FIRST, ACC_REG_LAST, ACCL_REGNO, ACCH_REGNO): Define.
1520         (REVERSE_CONDITION): Add new CC_FPU* modes.
1521         (TARGET_FP_SP_BASE): Define.
1522         (TARGET_FP_DP_BASE): Likewise.
1523         (TARGET_FP_SP_FUSED): Likewise.
1524         (TARGET_FP_DP_FUSED): Likewise.
1525         (TARGET_FP_SP_CONV): Likewise.
1526         (TARGET_FP_DP_CONV): Likewise.
1527         (TARGET_FP_SP_SQRT): Likewise.
1528         (TARGET_FP_DP_SQRT): Likewise.
1529         (TARGET_FP_DP_AX): Likewise.
1530         * config/arc/arc.md (ARCV2_ACC): New constant.
1531         (type): New fpu type attribute.
1532         (SDF): Conditional iterator.
1533         (cstore<mode>, cbranch<mode>): Change expand condition.
1534         (addsf3, subsf3, mulsf3, adddf3, subdf3, muldf3): New expands,
1535         handles FPU/FPX cases as well.
1536         * config/arc/arc.opt (mfpu): New option.
1537         * config/arc/fpx.md (addsf3_fpx, subsf3_fpx, mulsf3_fpx):
1538         Renamed.
1539         (adddf3, muldf3, subdf3): Removed.
1540         * config/arc/predicates.md (proper_comparison_operator): Recognize
1541         CC_FPU* modes.
1542         * config/arc/fpu.md: New file.
1543         * doc/invoke.texi (ARC Options): Document mfpu option.
1545 2016-02-16  Richard Biener  <rguenther@suse.de>
1547         PR rtl-optimization/69291
1548         * ifcvt.c (noce_try_store_flag_constants): Re-instantiate
1549         noce_operand_ok check.
1551 2016-02-16  Tom de Vries  <tom@codesourcery.com>
1553         PR lto/67709
1554         * omp-low.c (simd_clone_create): Remove call to
1555         symtab->call_cgraph_insertion_hooks.
1557 2016-02-16  Jakub Jelinek  <jakub@redhat.com>
1559         PR tree-optimization/69802
1560         * tree-ssa-reassoc.c (update_range_test): If op is
1561         SSA_NAME_IS_DEFAULT_DEF, give up unless tem is a positive
1562         op == 1 test of precision 1 integral op, otherwise handle
1563         that case as op itself.  Fix up formatting.
1564         (optimize_range_tests_to_bit_test, optimize_range_tests): Fix
1565         up formatting.
1567 2016-02-16  Richard Biener  <rguenther@suse.de>
1569         PR tree-optimization/69586
1570         * tree-vrp.c (register_edge_assert_for_2): Handle all integral
1571         types for conversion sources.
1573 2016-02-16  Richard Biener  <rguenther@suse.de>
1575         PR middle-end/69801
1576         * fold-const.c (operand_equal_p): For COND_EXPR zero operand
1577         mask OEP_ADDRESS_OF.
1579 2016-02-16  Alan Modra  <amodra@gmail.com>
1581         PR target/68973
1582         * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Rewrite splitter.
1583         (p8_mtvsrd_df, p8_mtvsrd_sf): New.
1584         (p8_mtvsrd_1, p8_mtvsrd_2): Delete.
1585         (p8_mtvsrwz): New.
1586         (p8_mtvsrwz_1, p8_mtvsrwz_2): Delete.
1587         (p8_xxpermdi_<mode>): Take two DF inputs rather than one TF.
1588         (p8_fmrgow_<mode>): Likewise.
1589         (reload_vsx_from_gpr<mode>): Make clobber IF.  Adjust for above
1590         changes.
1591         (reload_fpr_from_gpr<mode>): Similarly. Use "d" for op0 constraint.
1592         (reload_vsx_from_gprsf): Use p8_mtvsrd_sf rather than attempting
1593         to use movdi_internal64.  Remove op0_di.
1594         * config/rs6000/vsx.md (vsx_xscvspdpn_directmove): Make op1 SFmode.
1596 2016-02-15  Evandro Menezes  <e.menezes@samsung.com>
1598         Add support for the FCCMP insn types
1600         * config/aarch64/aarch64.md (fccmp): Change insn type.
1601         (fccmpe): Likewise.
1602         * config/aarch64/thunderx.md (thunderx_fcmp): Add "fccmp{s,d}" types.
1603         * config/arm/cortex-a53.md (cortex_a53_fpalu): Likewise.
1604         * config/arm/cortex-a57.md (cortex_a57_fp_cmp): Likewise.
1605         * config/arm/xgene1.md (xgene1_fcmp): Likewise.
1606         * config/arm/exynos-m1.md (exynos_m1_fp_ccmp): New insn reservation.
1607         * config/arm/types.md (fccmps): Add new insn type.
1608         (fccmpd): Likewise.
1610 2016-02-15  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1612         * alias.c (get_alias_set): Fix a typo in comment.
1614 2016-02-15  Richard Biener  <rguenther@suse.de>
1616         PR tree-optimization/69595
1617         * match.pd: Complete range test simplification to true.
1619 2016-02-15  Bernd Schmidt  <bschmidt@redhat.com>
1621         PR rtl-optimization/69648
1622         * lra-constraints.c (update_ebb_live_info): Don't remove sets of
1623         pic_offset_table_rtx.
1625         PR rtl-optimization/69752
1626         * ira.c (update_equiv_regs): When looking for more than a single SET,
1627         also take other side effects into account.
1629 2016-02-15  Marcin Kościelnicki  <koriakin@0x04.net>
1631         * config/s390/s390.c (s390_function_profiler): Add a new sequence
1632         for z900+ CPUs in 31-bit mode.
1634 2016-02-15  Marcin Kościelnicki  <koriakin@0x04.net>
1636         * common/config/s390/s390-common.c (s390_supports_split_stack):
1637         New function.
1638         (TARGET_SUPPORTS_SPLIT_STACK): New macro.
1639         * config/s390/s390-protos.h: Add s390_expand_split_stack_prologue.
1640         * config/s390/s390.c (struct machine_function): New field
1641         split_stack_varargs_pointer.
1642         (s390_register_info): Mark r12 as clobbered if it'll be used as temp
1643         in s390_emit_prologue.
1644         (s390_emit_prologue): Use r12 as temp if r1 is taken by split-stack
1645         vararg pointer.
1646         (morestack_ref): New global.
1647         (SPLIT_STACK_AVAILABLE): New macro.
1648         (s390_expand_split_stack_prologue): New function.
1649         (s390_live_on_entry): New function.
1650         (s390_va_start): Use split-stack vararg pointer if appropriate.
1651         (s390_asm_file_end): Emit the split-stack note sections.
1652         (TARGET_EXTRA_LIVE_ON_ENTRY): New macro.
1653         * config/s390/s390.md (UNSPEC_STACK_CHECK): New unspec.
1654         (UNSPECV_SPLIT_STACK_CALL): New unspec.
1655         (UNSPECV_SPLIT_STACK_DATA): New unspec.
1656         (split_stack_prologue): New expand.
1657         (split_stack_space_check): New expand.
1658         (split_stack_data): New insn.
1659         (split_stack_call): New expand.
1660         (split_stack_call_*): New insn.
1661         (split_stack_cond_call): New expand.
1662         (split_stack_cond_call_*): New insn.
1664 2016-02-15  Richard Biener  <rguenther@suse.de>
1666         PR tree-optimization/69783
1667         * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
1668         Add trivially correct cases.
1670 2016-02-15  Tom de Vries  <tom@codesourcery.com>
1672         PR lto/69655
1673         * lto-cgraph.c (input_offload_tables): Add and handle bool parameter
1674         do_force_output.
1675         * lto-streamer.h (input_offload_tables): Add and handle bool parameter.
1677 2016-02-15  Richard Biener  <rguenther@suse.de>
1679         PR tree-optimization/69776
1680         * tree-ssa-sccvn.h (vn_reference_lookup): Adjust prototype.
1681         * tree-ssa-sccvn.c (vn_reference_lookup): Add parameter to
1682         indicate whether we can use TBAA to disambiguate against stores.
1683         Use alias-set zero if not.
1684         (visit_reference_op_store): Do not use TBAA when looking up
1685         redundant stores.
1686         * tree-ssa-pre.c (compute_avail): Use TBAA here.
1687         (eliminate_dom_walker::before_dom_children): But not when looking
1688         up redundant stores.
1690 2016-02-14  John David Anglin  <danglin@gcc.gnu.org>
1692         * config/pa/pa.md (absqi2, absghi2, bswaphi2, bswapsi2, bswapdi2): New.
1694 2016-02-14  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
1696         *  config/i386/znver1.md
1697         (znver1_pop, znver1_pop_mem,
1698         znver1_load_imov_double_store,
1699         znver1_load_imov_direct_store,
1700         znver1_load_imov_direct_load,
1701         znver1_load_imov_double_load): Add new.
1702         (znver1_insn, znver1_insn_load): Add icmov type.
1703         (znver1_sseavx_fma,
1704         znver1_sseavx_fma_load,
1705         znver1_avx256_fma,
1706         znver1_avx256_fma_load): Fix pipe usage.
1708 2016-02-14  Alan Modra  <amodra@gmail.com>
1710         PR target/68973
1711         * reloads.c (find_reloads_address_1): For pre/post-inc/dec
1712         with an invalid hard reg, reload just the reg not the entire
1713         pre/post-inc/dec address expression.
1715 2016-02-13  Oleg Endo  <olegendo@gcc.gnu.org>
1717         PR target/67260
1718         * config/sh/sh.md (sibcall_value_pcrel): Replace =&k scratch reg with
1719         fixed R1_REG scratch reg.
1720         (sibcall_value_pcrel_fdpic): Likewise.
1722 2016-02-13  Oleg Endo  <olegendo@gcc.gnu.org>
1724         PR target/67636
1725         PR target/64345
1726         * config/sh/sh.md (*zero_extract_3): New insn_and_split pattern.
1728 2016-02-12  Walter Lee  <walt@tilera.com>
1730         * config/tilepro/t-tilepro: Replace CC_FOR_BUILD with CXX_FOR_BUILD.
1731         * config/tilegx/t-tilegx: Likewise.
1733 2016-02-12  David Malcolm  <dmalcolm@redhat.com>
1735         PR other/69554
1736         * diagnostic-show-locus.c (struct line_span): New struct.
1737         (layout::get_first_line): Delete.
1738         (layout::get_last_line): Delete.
1739         (layout::get_num_line_spans): New member function.
1740         (layout::get_line_span): Likewise.
1741         (layout::print_heading_for_line_span_index_p): Likewise.
1742         (layout::get_expanded_location): Likewise.
1743         (layout::calculate_line_spans): Likewise.
1744         (layout::m_first_line): Delete.
1745         (layout::m_last_line): Delete.
1746         (layout::m_line_spans): New field.
1747         (layout::layout): Update comment.  Replace m_first_line and
1748         m_last_line with m_line_spans, replacing their initialization
1749         with a call to calculate_line_spans.
1750         (diagnostic_show_locus): When printing source lines and
1751         annotations, rather than looping over a single span
1752         of lines, instead loop over each line_span within
1753         the layout, with an inner loop over the lines within them.
1754         Call the context's start_span callback when changing line spans.
1755         * diagnostic.c (diagnostic_initialize): Initialize start_span.
1756         (diagnostic_build_prefix): Break out the building of the location
1757         part of the string into...
1758         (diagnostic_get_location_text): ...this new function, rewriting
1759         it from nested ternary expressions to a sequence of "if"
1760         statements.
1761         (default_diagnostic_start_span_fn): New function.
1762         * diagnostic.h (diagnostic_start_span_fn): New typedef.
1763         (diagnostic_context::start_span): New field.
1764         (default_diagnostic_start_span_fn): New prototype.
1766 2016-02-12  David Malcolm  <dmalcolm@redhat.com>
1768         PR driver/69779
1769         * gcc.c (driver::finalize): Fix cleanup of "specs".
1771 2016-02-12  David Malcolm  <dmalcolm@redhat.com>
1773         PR driver/69265
1774         PR driver/69453
1775         * gcc.c (driver::driver): Initialize m_option_suggestions.
1776         (driver::~driver): Clean up m_option_suggestions.
1777         (suggest_option): Convert to...
1778         (driver::suggest_option): ...this, and split out into
1779         driver::build_option_suggestions and find_closest_string.
1780         (driver::build_option_suggestions): New function, from
1781         first half of suggest_option.  Special-case
1782         OPT_fsanitize_ and OPT_fsanitize_recover_, making use of
1783         the sanitizer_opts array.  For options of enum types, add the
1784         various enum values to the candidate strings.
1785         (driver::handle_unrecognized_options): Remove "const".
1786         * gcc.h (driver::handle_unrecognized_options): Likewise.
1787         (driver::build_option_suggestions): New decl.
1788         (driver::suggest_option): New decl.
1789         (driver::m_option_suggestions): New field.
1790         * opts-common.c (add_misspelling_candidates): New function.
1791         * opts.c (sanitizer_opts): Remove decl of struct sanitizer_opts_s
1792         and make non-static.
1793         * opts.h (sanitizer_opts): New array decl.
1794         (add_misspelling_candidates): New function decl.
1795         * spellcheck.c (find_closest_string): New function.
1796         * spellcheck.h (find_closest_string): New function decl.
1798 2016-02-12  Jakub Jelinek  <jakub@redhat.com>
1800         PR rtl-optimization/69764
1801         PR rtl-optimization/69771
1802         * optabs.c (expand_binop_directly): For shift_optab_p, force
1803         convert_modes with VOIDmode if xop1 has VOIDmode.
1805 2016-02-12  Ilya Enkovich  <enkovich.gnu@gmail.com>
1807         PR target/69729
1808         * lto-streamer-out.c (lto_output): Use thunk.add_pointer_bounds_args
1809         to correctly determine instrumentation thunks.
1811 2016-02-12  Jakub Jelinek  <jakub@redhat.com>
1813         PR ipa/69241
1814         * ipa-split.c (split_function): If split part returns TREE_ADDRESSABLE
1815         type by reference, force lhs on the call.
1817         PR ipa/68672
1818         * ipa-split.c (split_function): Don't compute/use main_part_return_p.
1819         Compute retval and retbnd early in all cases if split_part_return_p
1820         and return_bb is not EXIT.  Remove all clobber stmts and reset
1821         all debug stmts that refer to SSA_NAMEs defined in split part,
1822         except if it is retval, in that case replace the old retval with the
1823         lhs of the call to the split part.
1825 2016-02-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
1827         revert:
1828         2016-02-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
1830         PR middle-end/66726
1831         * tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
1832         whose result is used in PHI.
1833         (maybe_optimize_range_tests): Likewise.
1834         (final_range_test_p): Likweise.
1836 2016-02-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
1838         PR middle-end/66726
1839         * tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
1840         whose result is used in PHI.
1841         (maybe_optimize_range_tests): Likewise.
1842         (final_range_test_p): Likweise.
1844 2016-02-12  Jakub Jelinek  <jakub@redhat.com>
1846         * cgraph.c: Spelling fixes - behaviour -> behavior and
1847         neighbour -> neighbor.
1848         * target.def: Likewise.
1849         * sel-sched.c: Likewise.
1850         * config/mips/mips.c: Likewise.
1851         * config/arc/arc.md: Likewise.
1852         * config/arm/cortex-a57.md: Likewise.
1853         * config/arm/arm.c: Likewise.
1854         * config/arm/neon.md: Likewise.
1855         * config/arm/arm-c.c: Likewise.
1856         * config/vms/vms-c.c: Likewise.
1857         * config/s390/s390.c: Likewise.
1858         * config/i386/znver1.md: Likewise.
1859         * config/i386/i386.c: Likewise.
1860         * config/ia64/hpux-unix2003.h: Likewise.
1861         * config/msp430/msp430.md: Likewise.
1862         * config/rx/rx.c: Likewise.
1863         * config/rx/rx.md: Likewise.
1864         * config/aarch64/aarch64-simd.md: Likewise.
1865         * config/aarch64/aarch64.c: Likewise.
1866         * config/nvptx/nvptx.c: Likewise.
1867         * config/bfin/bfin.c: Likewise.
1868         * config/cris/cris.opt: Likewise.
1869         * config/rs6000/rs6000.c: Likewise.
1870         * target.h: Likewise.
1871         * spellcheck.c: Likewise.
1872         * ira-build.c: Likewise.
1873         * tree-inline.c: Likewise.
1874         * builtins.c: Likewise.
1875         * lra-constraints.c: Likewise.
1876         * explow.c: Likewise.
1877         * hwint.h: Likewise.
1878         * targhooks.c: Likewise.
1879         * tree-vect-data-refs.c: Likewise.
1880         * expr.c: Likewise.
1881         * doc/tm.texi: Likewise.
1882         * doc/extend.texi: Likewise.
1883         * doc/install.texi: Likewise.
1884         * doc/md.texi: Likewise.
1885         * tree-ssa-tail-merge.c: Likewise.
1886         * sched-int.h: Likewise.
1887         * match.pd: Likewise.
1888         * sched-ebb.c: Likewise.
1889         * target.def (omit_struct_return_reg): Likewise.
1890         * gimple-ssa-isolate-paths.c: Likewise.
1891         (find_implicit_erroneous_behaviour): Renamed to...
1892         (find_implicit_erroneous_behavior): ... this.
1893         (find_explicit_erroneous_behaviour): Renamed to...
1894         (find_explicit_erroneous_behavior): ... this.
1895         (gimple_ssa_isolate_erroneous_paths): Adjust caller.
1897 2016-02-11  Segher Boessenkool  <segher@kernel.crashing.org>
1899         PR rtl-optimization/64682
1900         PR rtl-optimization/69567
1901         PR rtl-optimization/69737
1902         * combine.c (distribute_notes) <REG_DEAD>: If the register is set
1903         in I2 as well, just lose it.
1905 2016-02-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1907         * config/aarch64/aarch64.c (aarch64_last_printed_arch_string):
1908         New variable.
1909         (aarch64_last_printed_tune_string): Likewise.
1910         (aarch64_declare_function_name): Only output .arch assembler
1911         directive if it will be different from the previously output
1912         directive.  Same for .tune comment but only if -dA is set.
1913         (aarch64_start_file): New function.
1914         (TARGET_ASM_FILE_START): Define.
1916 2016-02-11  David Malcolm  <dmalcolm@redhat.com>
1918         PR plugins/69758
1919         * Makefile.in (PLUGIN_HEADERS): Add params.list.
1921 2016-02-11  Jakub Jelinek  <jakub@redhat.com>
1923         PR target/65313
1924         * tree-vect-slp.c (vect_schedule_slp_instance): Avoid
1925         -Wmaybe-uninitialized warning.
1927 2016-02-11  Oleg Endo  <olegendo@gcc.gnu.org>
1929         PR target/69713
1930         * config/sh/sh.md (casesi_worker_0): Add T_REG use.
1932 2016-02-11  Richard Biener  <rguenther@suse.de>
1934         PR rtl-optimization/69291
1935         * ifcvt.c (noce_try_store_flag_constants): Do not allow
1936         subexpressions affected by changing the result.
1938 2016-02-10  Vladimir Makarov  <vmakarov@redhat.com>
1940         PR target/69148
1941         * lra-constraints.c (curr_insn_transform): Find in/out operands
1942         for secondary memory moves.  Update dups.
1944 2016-02-10  Yuri Rumyantsev  <ysrumyan@gmail.com>
1946         PR tree-optimization/69652
1947         * tree-vect-loop.c (optimize_mask_stores): Move declaration of STMT1
1948         to nested loop, did source re-formatting, skip debug statements,
1949         add check on statement with volatile operand, remove dead scalar
1950         statements.
1952 2016-02-10  Jakub Jelinek  <jakub@redhat.com>
1953             Patrick Palka  <ppalka@gcc.gnu.org>
1955         PR ipa/69241
1956         PR c++/69649
1957         * gimplify.c (gimplify_modify_expr): Set lhs even for noreturn
1958         calls if the return type is TREE_ADDRESSABLE.
1959         * cgraphunit.c (cgraph_node::expand_thunk): Likewise.
1960         * ipa-split.c (split_function): Fix doubled "we" in comment.
1961         Use void return type for the split part even if
1962         !split_point->split_part_set_retval.
1964 2016-02-10  Bin Cheng  <bin.cheng@arm.com>
1966         PR tree-optimization/68021
1967         * tree-ssa-loop-ivopts.c (get_computation_aff): Set ratio to 1 if
1968         when computing the value of biv cand by itself.
1970 2016-02-10  Wilco Dijkstra  <wdijkstr@arm.com>
1972         * config/aarch64/aarch64.c (cortexa53_tunings): Enable AES fusion.
1973         (cortexa57_tunings): Likewise.
1974         (cortexa72_tunings): Likewise.
1975         (arch_macro_fusion_pair_p): Add support for AES fusion.
1976         * config/aarch64/aarch64-fusion-pairs.def: Add AES_AESMC entry.
1977         * config/arm/aarch-common.c (aarch_crypto_can_dual_issue):
1978         Allow virtual registers before reload so early scheduling works.
1979         * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Use
1980         correct latency and pipeline.
1981         (cortex_a57_crypto_complex): Likewise.
1982         (cortex_a57_crypto_xor): Likewise.
1983         (define_bypass): Add AES bypass.
1985 2016-02-10  Richard Biener  <rguenther@suse.de>
1987         PR tree-optimization/69726
1988         * passes.def: Add DCE pass before late uninit.
1989         * match.pd: Add A ? B : (!A ? C : X) -> A ? B : C patterns to
1990         really fixup if-conversions job.
1992 2016-02-10  Wilco Dijkstra  <wdijkstr@arm.com>
1994         * config/arm/arm.c (arm_cortex_a53_tune): Enable AES fusion.
1995         (arm_cortex_a57_tune): Likewise.
1996         (aarch_macro_fusion_pair_p): Add support for AES fusion.
1997         * config/arm/arm-protos.h (fuse_ops): Add FUSE_AES_AESMC.
1999 2016-02-10  Eric Botcazou  <ebotcazou@adacore.com>
2001         * timevar.def (TV_PHASE_DBGINFO): Delete.
2002         (TV_PHASE_CHECK_DBGINFO): Likewise.
2003         * varpool.c (varpool_node::assemble_decl): Do not change timevar.
2005 2016-02-10  Richard Biener  <rguenther@suse.de>
2007         PR tree-optimization/69719
2008         * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
2009         Adjust previous fix by ensuring that dr_a1 is left of dr_a2.
2011 2016-02-09  Andrew Pinski  <apinski@cavium.com>
2013         PR tree-opt/69282
2014         * optabs-tree.c (expand_vec_cond_expr_p): Don't early return if
2015         get_vcond_mask_icode returns false.
2017 2016-02-09  Michael Meissner  <meissner@linux.vnet.ibm.com>
2019         PR target/68404
2020         * config/rs6000/predicates.md (fusion_gpr_addis): Prevent fusing
2021         an ADDIS that adds a pointer to a large constant that sets the
2022         upper16 bits with a load operation.
2024 2016-02-09  Charles Baylis  <charles.baylis@linaro.org>
2026         PR target/68532
2027         * config/arm/arm.c (arm_evpc_neon_vzip): Allow for big endian lane
2028         order.
2029         * config/arm/arm_neon.h (vzipq_s8): Adjust shuffle patterns for big
2030         endian.
2031         (vzipq_s16): Likewise.
2032         (vzipq_s32): Likewise.
2033         (vzipq_f32): Likewise.
2034         (vzipq_u8): Likewise.
2035         (vzipq_u16): Likewise.
2036         (vzipq_u32): Likewise.
2037         (vzipq_p8): Likewise.
2038         (vzipq_p16): Likewise.
2040 2016-02-09  Charles Baylis  <charles.baylis@linaro.org>
2042         PR target/68532
2043         * config/arm/arm.c (neon_endian_lane_map): New function.
2044         (neon_vector_pair_endian_lane_map): New function.
2045         (arm_evpc_neon_vuzp): Allow for big endian lane order.
2046         * config/arm/arm_neon.h (vuzpq_s8): Adjust shuffle patterns for big
2047         endian.
2048         (vuzpq_s16): Likewise.
2049         (vuzpq_s32): Likewise.
2050         (vuzpq_f32): Likewise.
2051         (vuzpq_u8): Likewise.
2052         (vuzpq_u16): Likewise.
2053         (vuzpq_u32): Likewise.
2054         (vuzpq_p8): Likewise.
2055         (vuzpq_p16): Likewise.
2057 2016-02-11  Alexandre Oliva  <aoliva@redhat.com>
2059         PR target/69634
2060         * regstat.c (regstat_bb_compute_calls_crossed): Disregard
2061         debug insns.
2063 2016-02-09  Uros Bizjak  <ubizjak@gmail.com>
2065         * config/i386/i386.md (insv<mode>_1): Use gen_int_mode to
2066         truncate const_int operand 1 to QImode.
2068 2016-02-09  Eric Botcazou  <ebotcazou@adacore.com>
2070         * gimple-ssa-backprop.c (optimize_phi): Do not replace an argument
2071         corresponding to an abnormal edge.
2073 2016-02-09  Tom de Vries  <tom@codesourcery.com>
2075         PR tree-optimization/69599
2076         * tree-ssa-structalias.c (fndecl_maybe_in_other_partition): New
2077         function.
2078         (find_func_aliases_for_builtin_call, find_func_clobbers)
2079         (ipa_pta_execute):  Handle case that foo and foo._0 are not in same lto
2080         partition.
2082 2016-02-09  Richard Biener  <rguenther@suse.de>
2084         PR tree-optimization/69715
2085         * tree-ssa.c (execute_update_addresses_taken): Mark non-decl
2086         LHS on calls as non-rewritable.
2088 2016-02-09  Tom de Vries  <tom@codesourcery.com>
2090         PR lto/69707
2091         * lto-wrapper.c (append_diag_options): New function.
2092         (compile_offload_image): Call append_diag_options.
2094 2016-02-08  Sandra Loosemore  <sandra@codesourcery.com>
2096         PR other/69722
2097         * doc/extend.texi (Flag Output Operands): Correct sectioning.
2098         Minor copy-edit to fix verb tenses.
2100 2016-02-08  Jakub Jelinek  <jakub@redhat.com>
2102         PR tree-optimization/69209
2103         * ipa-split.c (split_function): If split part is not
2104         returning retval, retval has gimple type but is not
2105         gimple value, force it into a SSA_NAME first.
2107 2016-02-08  Nicklas Bo Jensen  <nbjensen@gmail.com>
2109         * doc/tree-ssa.texi (Preserving the virtual SSA form): Remove
2110         outdated section.
2112 2016-02-08  Jason Merrill  <jason@redhat.com>
2114         PR c++/69631
2115         * convert.c (convert_to_integer_1): Check dofold on truncation
2116         distribution.
2117         (convert_to_pointer_maybe_fold, convert_to_real_maybe_fold)
2118         (convert_to_integer_maybe_fold, convert_to_complex_maybe_fold):
2119         Rename from *_nofold.
2120         * convert.h (convert_to_pointer_nofold, convert_to_integer_nofold)
2121         (convert_to_real_nofold, convert_to_complex_nofold): New inlines.
2123 2016-02-08  Bernd Schmidt  <bschmidt@redhat.com>
2125         PR target/60410
2126         * tree.c (build_common_tree_nodes): Remove short_double argument.
2127         All callers changed.
2128         * tree.h (build_common_tree_nodes): Adjust declaration.
2129         * doc/invoke.texi (-fshort-double): Remove documentation.
2130         * config/mips/t-img-elf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
2131         MULTILIB_EXCEPTIONS): Remove -fshort-double variant.
2132         * lto-wrapper.c (merge_and_complain, append_compiler_options)
2133         (append_linker_options): Don't handle OPT_fshort_double.
2135         PR rtl-optimization/68730
2136         * lra-remat.c (insn_to_cand_activation): New static variable.
2137         (lra_remat): Allocate and free it.
2138         (create_cand): New arg activation. Initialize a field in
2139         insn_to_cand_activation if it is nonnull.
2140         (create_cands): Pass the activation insn to create_cand when making
2141         a candidate involving an output reload.  Reorganize code a little.
2142         (do_remat): Keep track of active status of candidates in a separate
2143         bitmap.
2145 2016-02-08  Richard Biener  <rguenther@suse.de>
2147         PR tree-optimization/69719
2148         * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
2149         Properly use absolute of the difference of the two offsets to
2150         compare or adjust the segment length.
2152 2016-02-08  Richard Biener  <rguenther@suse.de>
2153             Jeff Law  <law@redhat.com>
2155         PR target/68273
2156         * tree-ssanames.c (make_ssa_name_fn): Always use unqualified
2157         types for anonymous SSA names.
2159 2016-02-08   Richard Biener  <rguenther@suse.de>
2161         PR rtl-optimization/69274
2162         * ira.c (ira_setup_alts): Do not change recog_data.operand order.
2164 2016-02-08  Jeff Law  <law@redhat.com>
2166         PR tree-optimization/65917
2167         * tree-ssa-dom.c (record_temporary_equivalences): Record both
2168         equivalences from if (x == y) style conditionals.
2169         (loop_depth_of_name): Remove.
2170         (record_equality): Remove loop depth check.
2171         * tree-ssa-scopedtables.h (const_and_copies): Refine comments.
2172         (const_and_copies::record_const_or_copy_raw): New member function.
2173         * tree-ssa-scopedtables.c
2174         (const_and_copies::record_const_or_copy_raw): New, factored out of
2175         (const_and_copies::record_const_or_copy): Call new member function.
2177 2016-02-05  Jeff Law  <law@redhat.com>
2179         PR tree-optimization/68541
2180         * gimple-ssa-split-paths.c: Include tree-cfg.h and params.h.
2181         (count_stmts_in_block): New function.
2182         (poor_ifcvt_candidate_code): Likewise.
2183         (is_feasible_trace): Add some heuristics to determine when path
2184         splitting is profitable.
2185         (find_block_to_duplicate_for_splitting_paths): Make sure the graph
2186         is a diamond with a single exit.
2188 2016-02-05  Martin Sebor  <msebor@redhat.com>
2190         PR c++/69662
2191         * doc/invoke.texi: Update -Wplacement-new to take an optional
2192         argument.
2194 2016-02-06  Richard Henderson  <rth@redhat.com>
2196         PR c/69643
2197         * tree.c (tree_nop_conversion_p): Do not strip casts into or
2198         out of non-standard address spaces.
2200 2016-02-05  Jakub Jelinek  <jakub@redhat.com>
2202         PR rtl-optimization/69691
2203         * lra-eliminations.c (move_plus_up): Don't add the addend twice.
2205 2016-02-05  Pat Haugen  <pthaugen@us.ibm.com>
2207         * config/rs6000/crypto.md (crypto_vpermxor_<mode>): Correct insn type.
2208         * config/rs6000/rs6000.md (mov<mode>_hardfloat): Likewise.
2209         (*ieee128_mfvsrd_64bit): Likewise.
2210         (*ieee128_mfvsrd_32bit): Likewise.
2212 2016-02-05  Ilya Enkovich  <enkovich.gnu@gmail.com>
2214         PR target/69369
2215         Revert r232560:
2216         2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
2218         * cgraphunit.c (cgraph_node::reset): Clear thunk info and
2219         instrumented_version.
2221 2016-01-05  Jeremy Bennett  <jeremy.bennett@embecosm.com>
2223         * doc/invoke.texi (Optimize Options): In table of --param options
2224         rename second occurrence of tracer-min-branch-ratio to
2225         tracer-min-branch-probability, rename
2226         tracer-min-branch-ratio-feedback to
2227         tracer-min-branch-probability-feedback and clarify description,
2228         rename sched-spec-state-edge-prob-cutoff to
2229         sched-state-edge-prob-cutoff, rename selsched-max-insns-to-rename
2230         to selsched-insns-to-rename, rename lto-minpartition to
2231         lto-min-partition, delete reorder-blocks-duplicate and
2232         reorder-blocks-duplicate-feedback.
2234 2016-02-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2236         * config/s390/s390.c (s390_register_info_set_ranges): Remove
2237         superfluous loops.
2239 2016-02-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>
2241         * doc/extend.texi: S/390: Correct some typos.
2243 2016-02-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2245         * config/s390/s390.c (s390_emit_call): Add missing 64 bit check.
2247 2016-02-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2249         PR target/69625
2250         * config/s390/s390.c (SAVE_SLOT_NONE, SAVE_SLOT_STACK): New defines.
2251         (s390_register_info_gprtofpr): Use new macros above.
2252         (s390_register_info_stdarg_fpr): Adjust max_fpr to better match
2253         its name.
2254         (s390_register_info_stdarg_gpr): Adjust max_gpr to better match
2255         its name.  Adjust restore and save gpr ranges.
2256         (s390_register_info_set_ranges): New function.
2257         (s390_register_info): Use new macros above.  Call
2258         s390_register_info_set_ranges.
2259         (s390_optimize_register_info): Likewise.
2260         (s390_hard_regno_rename_ok): Use new macros.
2261         (s390_hard_regno_scratch_ok): Likewise.
2262         (s390_emit_epilogue): Likewise.
2263         (s390_can_use_return_insn): Likewise.
2264         (s390_optimize_prologue): Likewise.
2265         * config/s390/s390.md (GPR2_REGNUM, GPR6_REGNUM): New constants.
2267 2016-02-05  Jakub Jelinek  <jakub@redhat.com>
2269         PR bootstrap/69677
2270         * config/i386/i386.c (convert_scalars_to_vector): Readd stack
2271         alignment fixes.
2272         (ix86_option_override_internal): Disable TARGET_STV even for
2273         -m{incoming,preferred}-stack-boundary=3.
2275 2016-02-03  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
2277         * config.gcc: Mark deprecated rtems targets as obsolete.
2279 2016-02-04  Segher Boessenkool  <segher@kernel.crashing.org>
2281         PR rtl-optimization/64682
2282         PR rtl-optimization/69567
2283         * combine.c (distribute_notes) <REG_DEAD>: Place the death note
2284         before I2 only if the register is both used and set in I2.
2286 2016-02-04  DJ Delorie  <dj@redhat.com>
2288         * config/msp430/msp430.c (msp430_start_function): Add function type.
2290 2016-02-04  Jakub Jelinek  <jakub@redhat.com>
2292         PR fortran/69368
2293         * tree-dfa.c (get_ref_base_and_extent): Remove unreachable code.
2295 2016-02-04  Uros Bizjak  <ubizjak@gmail.com>
2297         PR rtl-optimization/69577
2298         Revert:
2299         2015-10-29  Richard Henderson  <rth@redhat.com>
2301         PR target/68124
2302         PR rtl-opt/67609
2303         * config/i386/i386.c (ix86_cannot_change_mode_class): Tighten
2304         sse check to the exact conditions of PR 67609.
2306 2016-02-04  Michael Meissner  <meissner@linux.vnet.ibm.com>
2308         PR target/69667
2309         * config/rs6000/rs6000.md (mov<mode>_64bit_dm): Use 'd' constraint
2310         instead of 'ws', and 'wh' instead of 'wm' since TFmode/IFmode are
2311         not allowed into the traditional Altivec registers.
2312         (movtd_64bit_nodm): Likewise.
2313         (mov<mode>_32bit, FMOVE128_FPR iterator): Likewise.
2315 2016-02-04  David Malcolm  <dmalcolm@redhat.com>
2317         * config/aarch64/cortex-a57-fma-steering.c
2318         (aarch64_register_fma_steering): Remove "static" from arguments
2319         to register_pass.
2321 2016-02-04  Wilco Dijkstra  <wdijkstr@arm.com>
2323         PR target/69619
2324         * ccmp.c (expand_ccmp_expr_1): Avoid evaluating gs0/gs1
2325         twice when complex.
2327 2016-02-04  Mike Frysinger  <vapier@gentoo.org>
2329         * doc/invoke.texi: Delete -mno-fma4.
2331 2016-02-04  Richard Sandiford  <richard.sandiford@arm.com>
2333         PR rtl-optimization/69577
2334         * reginfo.c (record_subregs_of_mode): Add a partial_def parameter.
2335         (find_subregs_of_mode): Update accordingly.  Iterate over partial
2336         definitions.
2338 2016-02-04  Alan Lawrence  <alan.lawrence@arm.com>
2340         * config/arm/arm-protos.h (neon_reinterpret): Remove.
2341         * config/arm/arm.c (neon_reinterpret): Remove.
2342         * config/arm/arm_neon_builtins.def (vreinterpretv8qi, vreinterpretv4hi,
2343         vreinterpretv2si, vreinterpretv2sf, vreinterpretdi, vreinterpretv16qi,
2344         vreinterpretv8hi, vreinterpretv4si, vreinterpretv4sf, vreinterpretv2di,
2345         vreinterpretti): Remove.
2346         * config/arm/neon.md (neon_vreinterpretv8qi<mode>,
2347         neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>,
2348         neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>,
2349         neon_vreinterpretti<mode>, neon_vreinterpretv16qi<mode>,
2350         neon_vreinterpretv8hi<mode>, neon_vreinterpretv4si<mode>,
2351         neon_vreinterpretv4sf<mode>, neon_vreinterpretv2di<mode>): Remove.
2352         * config/arm/arm_neon.h (vreinterpret_p8_p16, vreinterpret_p8_f32,
2353         vreinterpret_p8_p64, vreinterpret_p8_s64, vreinterpret_p8_u64,
2354         vreinterpret_p8_s8, vreinterpret_p8_s16, vreinterpret_p8_s32,
2355         vreinterpret_p8_u8, vreinterpret_p8_u16, vreinterpret_p8_u32,
2356         vreinterpret_p16_p8, vreinterpret_p16_f32, vreinterpret_p16_p64,
2357         vreinterpret_p16_s64, vreinterpret_p16_u64, vreinterpret_p16_s8,
2358         vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_u8,
2359         vreinterpret_p16_u16, vreinterpret_p16_u32, vreinterpret_f32_p8,
2360         vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpret_f32_s64,
2361         vreinterpret_f32_u64, vreinterpret_f32_s8, vreinterpret_f32_s16,
2362         vreinterpret_f32_s32, vreinterpret_f32_u8, vreinterpret_f32_u16,
2363         vreinterpret_f32_u32, vreinterpret_p64_p8, vreinterpret_p64_p16,
2364         vreinterpret_p64_f32, vreinterpret_p64_s64, vreinterpret_p64_u64,
2365         vreinterpret_p64_s8, vreinterpret_p64_s16, vreinterpret_p64_s32,
2366         vreinterpret_p64_u8, vreinterpret_p64_u16, vreinterpret_p64_u32,
2367         vreinterpret_s64_p8, vreinterpret_s64_p16, vreinterpret_s64_f32,
2368         vreinterpret_s64_p64, vreinterpret_s64_u64, vreinterpret_s64_s8,
2369         vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_u8,
2370         vreinterpret_s64_u16, vreinterpret_s64_u32, vreinterpret_u64_p8,
2371         vreinterpret_u64_p16, vreinterpret_u64_f32, vreinterpret_u64_p64,
2372         vreinterpret_u64_s64, vreinterpret_u64_s8, vreinterpret_u64_s16,
2373         vreinterpret_u64_s32, vreinterpret_u64_u8, vreinterpret_u64_u16,
2374         vreinterpret_u64_u32, vreinterpret_s8_p8, vreinterpret_s8_p16,
2375         vreinterpret_s8_f32, vreinterpret_s8_p64, vreinterpret_s8_s64,
2376         vreinterpret_s8_u64, vreinterpret_s8_s16, vreinterpret_s8_s32,
2377         vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32,
2378         vreinterpret_s16_p8, vreinterpret_s16_p16, vreinterpret_s16_f32,
2379         vreinterpret_s16_p64, vreinterpret_s16_s64, vreinterpret_s16_u64,
2380         vreinterpret_s16_s8, vreinterpret_s16_s32, vreinterpret_s16_u8,
2381         vreinterpret_s16_u16, vreinterpret_s16_u32, vreinterpret_s32_p8,
2382         vreinterpret_s32_p16, vreinterpret_s32_f32, vreinterpret_s32_p64,
2383         vreinterpret_s32_s64, vreinterpret_s32_u64, vreinterpret_s32_s8,
2384         vreinterpret_s32_s16, vreinterpret_s32_u8, vreinterpret_s32_u16,
2385         vreinterpret_s32_u32, vreinterpret_u8_p8, vreinterpret_u8_p16,
2386         vreinterpret_u8_f32, vreinterpret_u8_p64, vreinterpret_u8_s64,
2387         vreinterpret_u8_u64, vreinterpret_u8_s8, vreinterpret_u8_s16,
2388         vreinterpret_u8_s32, vreinterpret_u8_u16, vreinterpret_u8_u32,
2389         vreinterpret_u16_p8, vreinterpret_u16_p16, vreinterpret_u16_f32,
2390         vreinterpret_u16_p64, vreinterpret_u16_s64, vreinterpret_u16_u64,
2391         vreinterpret_u16_s8, vreinterpret_u16_s16, vreinterpret_u16_s32,
2392         vreinterpret_u16_u8, vreinterpret_u16_u32, vreinterpret_u32_p8,
2393         vreinterpret_u32_p16, vreinterpret_u32_f32, vreinterpret_u32_p64,
2394         vreinterpret_u32_s64, vreinterpret_u32_u64, vreinterpret_u32_s8,
2395         vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_u8,
2396         vreinterpret_u32_u16, vreinterpretq_p8_p16, vreinterpretq_p8_f32,
2397         vreinterpretq_p8_p64, vreinterpretq_p8_p128, vreinterpretq_p8_s64,
2398         vreinterpretq_p8_u64, vreinterpretq_p8_s8, vreinterpretq_p8_s16,
2399         vreinterpretq_p8_s32, vreinterpretq_p8_u8, vreinterpretq_p8_u16,
2400         vreinterpretq_p8_u32, vreinterpretq_p16_p8, vreinterpretq_p16_f32,
2401         vreinterpretq_p16_p64, vreinterpretq_p16_p128, vreinterpretq_p16_s64,
2402         vreinterpretq_p16_u64, vreinterpretq_p16_s8, vreinterpretq_p16_s16,
2403         vreinterpretq_p16_s32, vreinterpretq_p16_u8, vreinterpretq_p16_u16,
2404         vreinterpretq_p16_u32, vreinterpretq_f32_p8, vreinterpretq_f32_p16,
2405         vreinterpretq_f32_p64, vreinterpretq_f32_p128, vreinterpretq_f32_s64,
2406         vreinterpretq_f32_u64, vreinterpretq_f32_s8, vreinterpretq_f32_s16,
2407         vreinterpretq_f32_s32, vreinterpretq_f32_u8, vreinterpretq_f32_u16,
2408         vreinterpretq_f32_u32, vreinterpretq_p64_p8, vreinterpretq_p64_p16,
2409         vreinterpretq_p64_f32, vreinterpretq_p64_p128, vreinterpretq_p64_s64,
2410         vreinterpretq_p64_u64, vreinterpretq_p64_s8, vreinterpretq_p64_s16,
2411         vreinterpretq_p64_s32, vreinterpretq_p64_u8, vreinterpretq_p64_u16,
2412         vreinterpretq_p64_u32, vreinterpretq_p128_p8, vreinterpretq_p128_p16,
2413         vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64,
2414         vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16,
2415         vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16,
2416         vreinterpretq_p128_u32, vreinterpretq_s64_p8, vreinterpretq_s64_p16,
2417         vreinterpretq_s64_f32, vreinterpretq_s64_p64, vreinterpretq_s64_p128,
2418         vreinterpretq_s64_u64, vreinterpretq_s64_s8, vreinterpretq_s64_s16,
2419         vreinterpretq_s64_s32, vreinterpretq_s64_u8, vreinterpretq_s64_u16,
2420         vreinterpretq_s64_u32, vreinterpretq_u64_p8, vreinterpretq_u64_p16,
2421         vreinterpretq_u64_f32, vreinterpretq_u64_p64, vreinterpretq_u64_p128,
2422         vreinterpretq_u64_s64, vreinterpretq_u64_s8, vreinterpretq_u64_s16,
2423         vreinterpretq_u64_s32, vreinterpretq_u64_u8, vreinterpretq_u64_u16,
2424         vreinterpretq_u64_u32, vreinterpretq_s8_p8, vreinterpretq_s8_p16,
2425         vreinterpretq_s8_f32, vreinterpretq_s8_p64, vreinterpretq_s8_p128,
2426         vreinterpretq_s8_s64, vreinterpretq_s8_u64, vreinterpretq_s8_s16,
2427         vreinterpretq_s8_s32, vreinterpretq_s8_u8, vreinterpretq_s8_u16,
2428         vreinterpretq_s8_u32, vreinterpretq_s16_p8, vreinterpretq_s16_p16,
2429         vreinterpretq_s16_f32, vreinterpretq_s16_p64, vreinterpretq_s16_p128,
2430         vreinterpretq_s16_s64, vreinterpretq_s16_u64, vreinterpretq_s16_s8,
2431         vreinterpretq_s16_s32, vreinterpretq_s16_u8, vreinterpretq_s16_u16,
2432         vreinterpretq_s16_u32, vreinterpretq_s32_p8, vreinterpretq_s32_p16,
2433         vreinterpretq_s32_f16, vreinterpretq_s32_f32, vreinterpretq_s32_p64,
2434         vreinterpretq_s32_p128, vreinterpretq_s32_s64, vreinterpretq_s32_u64,
2435         vreinterpretq_s32_s8, vreinterpretq_s32_s16, vreinterpretq_s32_u8,
2436         vreinterpretq_s32_u16, vreinterpretq_s32_u32, vreinterpretq_u8_p8,
2437         vreinterpretq_u8_p16, vreinterpretq_u8_f32, vreinterpretq_u8_p64,
2438         vreinterpretq_u8_p128, vreinterpretq_u8_s64, vreinterpretq_u8_u64,
2439         vreinterpretq_u8_s8, vreinterpretq_u8_s16, vreinterpretq_u8_s32,
2440         vreinterpretq_u8_u16, vreinterpretq_u8_u32, vreinterpretq_u16_p8,
2441         vreinterpretq_u16_p16, vreinterpretq_u16_f32, vreinterpretq_u16_p64,
2442         vreinterpretq_u16_p128, vreinterpretq_u16_s64, vreinterpretq_u16_u64,
2443         vreinterpretq_u16_s8, vreinterpretq_u16_s16, vreinterpretq_u16_s32,
2444         vreinterpretq_u16_u8, vreinterpretq_u16_u32, vreinterpretq_u32_p8,
2445         vreinterpretq_u32_p16, vreinterpretq_u32_f32, vreinterpretq_u32_p64,
2446         vreinterpretq_u32_p128, vreinterpretq_u32_s64, vreinterpretq_u32_u64,
2447         vreinterpretq_u32_s8, vreinterpretq_u32_s16, vreinterpretq_u32_s32,
2448         vreinterpretq_u32_u8, vreinterpretq_u32_u16): Rewrite using casts.
2450 2016-02-04  Martin Liska  <mliska@suse.cz>
2452         PR sanitizer/69276
2453         * asan.c (has_stmt_been_instrumented_p): Instrument gimple calls
2454         that are gimple_store_p.
2455         (maybe_instrument_call): Likewise.
2457 2016-02-04  Bin Cheng  <bin.cheng@arm.com>
2459         * config/aarch64/aarch64.c (aarch64_legitimize_address): Force
2460         register scaling out of memory reference and comment why.
2462 2016-02-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2464         PR target/65932
2465         PR target/67714
2466         * cse.c (cse_insn): Pass NULL to fold_rtx when initially
2467         folding the source of a SET.
2469 2016-02-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2471         PR target/65932
2472         PR target/67714
2473         * config/arm/arm.c (arm_new_rtx_costs, MULT case): Properly extract
2474         the operands of the SIGN_EXTENDs from a SMUL[TB][TB] rtx.
2476 2016-02-04  Jim Wilson  <jim.wilson@linaro.org>
2478         PR target/65932
2479         PR target/67714
2480         * config/arm/arm.h (PROMOTE_MODE): Don't set UNSIGNEDP for QImode and
2481         HImode.
2483 2016-02-04  Christian Bruel  <christian.bruel@st.com>
2485         * config/arm/arm-c.c (arm_reset_previous_fndecl): Style fix and typo.
2486         * config/arm/arm.c (arm_set_current_function): Likewise.
2488 2016-02-04  Jakub Jelinek  <jakub@redhat.com>
2489             Ilya Enkovich  <enkovich.gnu@gmail.com>
2490             H.J. Lu  <hongjiu.lu@intel.com>
2492         PR target/69454
2493         * config/i386/i386.c (convert_scalars_to_vector): Remove
2494         stack alignment fixes.
2495         (ix86_option_override_internal): Disable TARGET_STV if stack
2496         might not be aligned enough.
2497         (ix86_minimum_alignment): Assert that TARGET_STV is false.
2499 2016-02-04  Victoria Stepanyan  <victoria.stepanyan@amd.com>
2501         * gcc/config/i386/x86-tune.def: Disable default prefetching
2502         for -march=znver1.
2504 2016-02-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
2505             Vladimir Makarov  <vmakarov@redhat.com>
2507         PR target/69461
2508         * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Fix thinko
2509         in validating fused toc addresses.
2511 2016-02-03  Jakub Jelinek  <jakub@redhat.com>
2513         PR c/69627
2514         * diagnostic-show-locus.c (layout::get_state_at_point): Don't read
2515         range->m_caret fields if range->m_show_caret_p is false.
2517         PR target/69644
2518         * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
2519         Force oldval into register if it does not satisfy reg_or_short_operand
2520         predicate.  Fix up formatting.
2522 2016-02-03  Vladimir Makarov  <vmakarov@redhat.com>
2523             Alexandre Oliva  <aoliva@redhat.com>
2525         PR target/69461
2526         * lra-constraints.c (simplify_operand_subreg): Check additionally
2527         address validity after potential reloading.
2528         (process_address_1): Check insns validity.  In case of failure do
2529         nothing.
2531 2016-02-03  Kirill Yukhin  <kirill.yukhin@intel.com>
2533         PR target/69118
2534         * config/i386/sse.md (define_insn "avx512f_maskcmp<mode>3"):
2535         Fix target.
2537 2016-02-02  Jakub Jelinek  <jakub@redhat.com>
2539         * wide-int.cc (canonize_uhwi): New function.
2540         (wi::divmod_internal): Use it.
2542 2016-02-02  James Norris  <jnorris@codesourcery.com
2544         * gimplify.c (omp_notice_variable): Add usage check.
2546 2016-02-02  Alexander Monakov  <amonakov@ispras.ru>
2548         * config/nvptx/nvptx.c (nvptx_print_operand): Treat LEU, GEU, LTU, GTU
2549         like LE, GE, LT, GT when emitting relational operator.
2551 2016-02-02  Wilco Dijkstra  <wdijkstr@arm.com>
2553         * ira-costs.c (find_costs_and_classes): Add extra argument.
2554         * target.def (ira_change_pseudo_allocno_class): Add parameter.
2555         * targhooks.h (ira_change_pseudo_allocno_class): Likewise.
2556         * targhooks.c (ira_change_pseudo_allocno_class): Likewise.
2557         * config/aarch64/aarch64.c (aarch64_ira_change_pseudo_allocno_class)
2558         Add best_class parameter, and return it if not ALL_REGS.
2559         * config/mips/mips.c (mips_ira_change_pseudo_allocno_class):
2560         Add parameter.
2561         * doc/tm.texi (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS):
2562         Update target hook.
2564 2016-02-02  Wilco Dijkstra  <wdijkstr@arm.com>
2566         * config/aarch64/aarch64.c
2567         (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): New define.
2568         (aarch64_ira_change_pseudo_allocno_class): New function.
2570 2016-02-02  Uros Bizjak  <ubizjak@gmail.com>
2572         PR target/67032
2573         * config/i386/i386.c (geode_cost): Increase cost of MMX and SSE moves.
2575 2016-02-02  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
2577         * config/avr/avr.c (avr_option_override): Set
2578         PARAM_ALLOW_STORE_DATA_RACES to 1.
2580 2016-02-02  Richard Biener  <rguenther@suse.de>
2582         PR tree-optimization/69595
2583         * match.pd: Add range test simplifications to true/false.
2585 2016-02-02  Thomas Schwinge  <thomas@codesourcery.com>
2587         * omp-builtins.def (BUILT_IN_GOACC_HOST_DATA): Remove.
2588         * omp-low.c (expand_omp_target): Use BUILT_IN_GOACC_DATA_START
2589         instead.
2591 2016-02-02  Richard Biener  <rguenther@suse.de>
2593         PR tree-optimization/69606
2594         * tree-ssa-math-opts.c (bswap_replace): Clear flow sensitive
2595         info on the result before moving a stmt.
2597 2016-02-02  Yuri Rumyantsev  <ysrumyan@gmail.com>
2599         PR middle-end/68542
2600         * config/i386/i386.c (ix86_expand_branch): Add support for conditional
2601         branch with vector comparison.
2602         * config/i386/sse.md (VI48_AVX): New mode iterator.
2603         (define_expand "cbranch<mode>4): Add support for conditional branch
2604         with vector comparison.
2605         * tree-vect-loop.c (optimize_mask_stores): New function.
2606         * tree-vect-stmts.c (vectorizable_mask_load_store): Initialize
2607         has_mask_store field of vect_info.
2608         * tree-vectorizer.c (vectorize_loops): Invoke optimaze_mask_stores for
2609         vectorized loops having masked stores after vec_info destroy.
2610         * tree-vectorizer.h (loop_vec_info): Add new has_mask_store field and
2611         correspondent macros.
2612         (optimize_mask_stores): Add prototype.
2614 2016-02-02  Alan Modra  <amodra@gmail.com>
2616         PR target/69548
2617         * config/rs6000/predicates.md (quad_int_reg_operand): Don't
2618         allow subregs.
2620 2016-02-02  Alan Modra  <amodra@gmail.com>
2622         PR target/68662
2623         * config/rs6000/rs6000.c (need_toc_init): New var, set it
2624         whenever toc_label_name used.
2625         (rs6000_file_start): Don't set up toc section here,
2626         (rs6000_output_function_epilogue): do so here instead,
2627         (rs6000_xcoff_file_start): and here.
2628         * config/rs6000/rs6000.md (load_toc_aix_si): Set need_toc_init.
2629         (load_toc_aix_di): Likewise.
2631 2016-02-01  Jakub Jelinek  <jakub@redhat.com>
2633         PR rtl-optimization/69592
2634         * rtlanal.c (nonzero_bits_binary_arith_p): New inline function.
2635         (cached_nonzero_bits): Use it instead of ARITHMETIC_P.
2636         (num_sign_bit_copies_binary_arith_p): New inline function.
2637         (cached_num_sign_bit_copies): Use it instead of ARITHMETIC_P.
2639 2016-02-01  Jeff Law  <law@redhat.com>
2641         PR tree-optimization/69580
2642         * params.def (FSM_MAXIMUM_PHI_ARGUMENTS): New param.
2643         * tree-ssa-threadbackward.c
2644         (fsm_find_control_statement_thread_paths): Do not try to walk
2645         through large PHI nodes.
2647 2016-02-01  Jakub Jelinek  <jakub@redhat.com>
2649         * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return false
2650         when count is incremented above limit, don't analyze further
2651         insns afterwards.
2653         * omp-low.c (oacc_parse_default_dims): Avoid
2654         -Wsign-compare warning, make sure value fits into int
2655         rather than just unsigned int.
2657 2016-02-01  Bin Cheng  <bin.cheng@arm.com>
2659         PR tree-optimization/67921
2660         * fold-const.c (split_tree): New parameters.  Convert pointer
2661         type variable part to proper type before negating.
2662         (fold_binary_loc): Pass new arguments to split_tree.
2664 2016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
2666         * config/nvptx/nvptx.c (PTX_GANG_DEFAULT): New.
2667         (nvptx_goacc_validate_dims): Extend to handle global defaults.
2668         * target.def (OACC_VALIDATE_DIMS): Extend documentation.
2669         * doc/tm.texti: Rebuilt.
2670         * doc/invoke.texi (fopenacc-dim): Document.
2671         * lto-wrapper.c (merge_and_complain): Add OPT_fopenacc_dim_ case.
2672         (append_compiler_options): Likewise.
2673         * omp-low.c (oacc_default_dims, oacc_min_dims): New.
2674         (oacc_parse_default_dims): New.
2675         (oacc_validate_dims): Add USED arg.  Select non-unity default when
2676         possible.
2677         (oacc_loop_fixed_partitions): Return mask of used partitions.
2678         (oacc_loop_auto_partitions): Emit dump info.
2679         (oacc_loop_partition): Return mask of used partitions.
2680         (execute_oacc_device_lower): Parse default dimension arg.  Adjust
2681         loop partitioning and validation calls.
2683 2016-02-01  Richard Biener  <rguenther@suse.de>
2685         PR middle-end/69556
2686         * match.pd: Guard (C1/X)*C2 -> (C1*C2)/X with single_use.
2688 2016-02-01  Richard Biener  <rguenther@suse.de>
2690         PR tree-optimization/69574
2691         * tree-chrec.c (hide_evolution_in_other_loops_than_loop): Instead
2692         of asserting return chrec_dont_know.
2694 2016-02-01  Martin Liska  <mliska@suse.cz>
2696         * mem-stats-traits.h: Add copyright header.
2697         * mem-stats.h: Likewise.
2699 2016-02-01  Richard Biener  <rguenther@suse.de>
2701         PR tree-optimization/69579
2702         * tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling):
2703         Do not propagate through abnormal PHI results.
2705 2016-02-01  Eric Botcazou  <ebotcazou@adacore.com>
2707         * postreload.c (reload_cse_simplify): Remove dead code.
2709 2016-02-01  Jakub Jelinek  <jakub@redhat.com>
2711         PR rtl-optimization/69570
2712         * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return true only
2713         if there is more than one set, not if there is a single set.
2715 2016-02-01  Richard Henderson  <rth@redhat.com>
2717         PR rtl-opt/69535
2718         * combine.c (make_compound_operation): When looking through a
2719         subreg, make sure to re-extend to the width of the outer mode.
2721 2016-01-30  Jakub Jelinek  <jakub@redhat.com>
2723         PR tree-optimization/69546
2724         * wide-int.cc (wi::divmod_internal): For unsigned division
2725         where both operands fit into uhwi, if o1 is 1 and o0 has
2726         msb set, if divident_prec is larger than bits per hwi,
2727         clear another quotient word and return 2 instead of 1.
2728         Similarly for remainder with msb in HWI set, if dividend_prec
2729         is larger than bits per hwi.
2731 2016-01-29  Martin Jambor  <mjambor@suse.cz>
2733         * hsa-gen.c (get_memory_order_name): Mask with MEMMODEL_BASE_MASK.
2734         Use short lowercase names.
2735         (get_memory_order): Mask with MEMMODEL_BASE_MASK.  Support
2736         MEMMODEL_CONSUME with acquire semantics and MEMMODEL_SEQ_CST with
2737         acq_rel one.  Protect warning agains segfaults if
2738         get_memory_order_name returns NULL.
2739         (gen_hsa_ternary_atomic_for_builtin): Support with MEMMODEL_SEQ_CST
2740         with release semantics.  Do not warn if get_memory_order already did.
2741         (gen_hsa_insns_for_call): Support with MEMMODEL_SEQ_CST with acquire
2742         semantics.  Fix check for relaxed or acquire semantics.  Do not warn
2743         if get_memory_order already did.
2745 2016-01-29  Sebastian Pop  <s.pop@samsung.com>
2747         * doc/install.texi: Document that isl-0.16 is supported.
2749 2016-01-29  Vladimir Makarov  <vmakarov@redhat.com>
2751         PR target/69299
2752         * config/i386/constraints.md (Bm): Describe as special memory
2753         constraint.
2754         * doc/md.texi (DEFINE_SPECIAL_MEMORY_CONSTRAINT): Describe it.
2755         * genoutput.c (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
2756         * genpreds.c (struct constraint_data): Add is_special_memory.
2757         (have_special_memory_constraints, special_memory_start): New
2758         static vars.
2759         (special_memory_end): Ditto.
2760         (add_constraint): Add new arg is_special_memory.  Add code to
2761         process its true value.  Update have_special_memory_constraints.
2762         (process_define_constraint): Pass the new arg.
2763         (process_define_register_constraint): Ditto.
2764         (choose_enum_order): Process special memory.
2765         (write_tm_preds_h): Generate enum const CT_SPECIAL_MEMORY and
2766         function insn_extra_special_memory_constraint.
2767         (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
2768         * gensupport.c (process_rtx): Process
2769         DEFINE_SPECIAL_MEMORY_CONSTRAINT.
2770         * ira-costs.c (record_reg_classes): Process CT_SPECIAL_MEMORY.
2771         * ira-lives.c (single_reg_class): Use
2772         insn_extra_special_memory_constraint.
2773         * ira.c (ira_setup_alts): Process CT_SPECIAL_MEMORY.
2774         * lra-constraints.c (process_alt_operands): Ditto.
2775         (curr_insn_transform): Use insn_extra_special_memory_constraint.
2776         * recog.c (asm_operand_ok, preprocess_constraints): Process
2777         CT_SPECIAL_MEMORY.
2778         * reload.c (find_reloads): Ditto.
2779         * rtl.def (DEFINE_SPECIFAL_MEMORY_CONSTRAINT): New.
2780         * stmt.c (parse_input_constraint): Use
2781         insn_extra_special_memory_constraint.
2783 2016-01-29  H.J. Lu  <hongjiu.lu@intel.com>
2785         PR target/69530
2786         * lra-splill.c (lra_final_code_change): Revert r229087 by
2787         removing all sub-registers.
2789 2016-01-29  Steve Ellcey  <sellcey@imgtec.com>
2791         PR target/65604
2792         * config/mips/mips.c (mips_output_division): Check flag_delayed_branch.
2794 2016-01-29  Jakub Jelinek  <jakub@redhat.com>
2796         PR target/69551
2797         * config/i386/i386.c (ix86_expand_vector_set) <case V4SImode>: For
2798         SSE1, copy target into the temporary reg first before recursing
2799         on it.
2801 2016-01-29  H.J. Lu  <hongjiu.lu@intel.com>
2803         * config/i386/sse.md (sse2_cvtps2pd<mask_name>): Replace vBm
2804         with vm.
2806 2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
2808         * ginclude/stdarg.h: Test __cplusplus instead of
2809         __GXX_EXPERIMENTAL_CXX0X__.
2811 2016-01-29  Richard Biener  <rguenther@suse.de>
2813         PR tree-optimization/69547
2814         * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1):
2815         Do not mark clobbers necessary.
2816         (mark_all_reaching_defs_necessary_1): Likewise.
2818 2016-01-29  Dominik Vogt  <vogt@linux.vnet.ibm.com>
2820         * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Format
2821         declaration name with %qs and print it in both error messages.
2822         Also fix indentation.
2824 2016-01-29  Dominik Vogt  <vogt@linux.vnet.ibm.com>
2826         PR other/69006
2827         * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Remove
2828         trailing blank line from error message.
2830 2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
2832         PR c++/69462
2833         * ginclude/float.h: Also provide FLT_EVAL_METHOD and DECIMAL_DIG
2834         for C++-11.
2836 2016-01-29  Richard Biener  <rguenther@suse.de>
2838         PR middle-end/69537
2839         * match.pd: Allow all integral types when simplifying a
2840         widening or sign-changing conversion.
2842 2016-01-28  Sebastian Pop  <s.pop@samsung.com>
2844         * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Revert assert
2845         back to setting codegen_error to fail codegen.
2847 2016-01-28  Uros Bizjak  <ubizjak@gmail.com>
2849         PR target/69459
2850         * config/i386/constraints.md (C): Only accept constant zero operand.
2851         (BC): New constraint.
2852         * config/i386/sse.md (*mov<mode>_internal): Use BC constraint
2853         instead of C constraint.
2854         * doc/md.texi (Machine Constraints): Update description
2855         of C constraint.
2857 2016-01-28  Steve Ellcey  <sellcey@imgtec.com>
2859         PR target/68400
2860         * config/mips/mips.c (and_operands_ok): Add MIPS16 check.
2862 2016-01-28  Jakub Jelinek  <jakub@redhat.com>
2864         PR middle-end/69542
2865         * lra-remat.c (calculate_local_reg_remat_bb_data): Only consider
2866         non-debug insns.
2868 2016-01-28  Pat Haugen  <pthaugen@us.ibm.com>
2870         * config/rs6000/rs6000.c (output_cbranch): Don't statically predict
2871         branches if using guessed profile.
2873 2016-01-28  H.J. Lu  <hongjiu.lu@intel.com>
2875         * graphite-optimize-isl.c (optimize_isl): Fix dump.
2877 2016-01-28  Richard Henderson  <rth@redhat.com>
2879         PR target/69305
2880         * config/aarch64/aarch64-modes.def (CC_Cmode): New
2881         * config/aarch64/aarch64-protos.h: Update.
2882         * config/aarch64/aarch64.c (aarch64_zero_extend_const_eq): New.
2883         (aarch64_select_cc_mode): Add check for use of CC_Cmode.
2884         (aarch64_get_condition_code_1): Handle CC_Cmode.
2885         * config/aarch64/aarch64.md (addti3): Use adddi3_compareC.
2886         (*add<mode>3_compareC_cconly_imm): New.
2887         (*add<mode>3_compareC_cconly): New.
2888         (*add<mode>3_compareC_imm): New.
2889         (add<mode>3_compareC): New.
2890         (add<mode>3_carryin, *addsi3_carryin_uxtw): Sort compare operand
2891         to be first.  Use aarch64_carry_operation.
2892         (*add<mode>3_carryin_alt1, *addsi3_carryin_alt1_uxtw): Remove.
2893         (*add<mode>3_carryin_alt2, *addsi3_carryin_alt2_uxtw): Remove.
2894         (*add<mode>3_carryin_alt3, *addsi3_carryin_alt3_uxtw): Remove.
2895         (subti3): Use subdi3_compare1.
2896         (*sub<mode>3_compare0): Rename from sub<mode>3_compare0.
2897         (sub<mode>3_compare1): New.
2898         (*sub<mode>3_carryin0, *subsi3_carryin_uxtw): New.
2899         (*sub<mode>3_carryin): Use aarch64_borrow_operation.
2900         (*subsi3_carryin_uxtw): Likewise.
2901         (*ngc<mode>, *ngcsi_uxtw): Likewise.
2902         (*sub<mode>3_carryin_alt, *subsi3_carryin_alt_uxtw): New.
2903         * config/aarch64/iterators.md (DWI): New.
2904         * config/aarch64/predicates.md (aarch64_carry_operation): New.
2905         (aarch64_borrow_operation): New.
2907 2016-01-28  Abderrazek Zaafrani  <a.zaafrani@samsung.com>
2909         * graphite-optimize-isl.c (optimize_isl): Print a different debug
2910         message when isl does not return a valid schedule.
2912 2016-01-28  Sebastian Pop  <s.pop@samsung.com>
2914         * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
2915         Remove comments from class declarations: they are already in the code
2916         close by the defs.
2918 2016-01-28  Sebastian Pop  <s.pop@samsung.com>
2920         * graphite-isl-ast-to-gimple.c (binary_op_to_tree): Call
2921         codegen_error_p.
2922         (ternary_op_to_tree): Same.
2923         (unary_op_to_tree): Same.
2924         (nary_op_to_tree): Same.
2925         (gcc_expression_from_isl_expr_op): Same.
2926         (gcc_expression_from_isl_expression): Same.
2927         (graphite_create_new_loop): Same.
2928         (graphite_create_new_loop_guard): Same.
2929         (build_iv_mapping): Same.
2930         (graphite_create_new_guard): Same.
2931         (translate_isl_ast_to_gimple::copy_loop_phi_nodes): Same.
2932         (translate_isl_ast_to_gimple::translate_pending_phi_nodes): Same.
2934 2016-01-28  Sebastian Pop  <s.pop@samsung.com>
2936         * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Assert
2937         instead of setting codegen_error to fail codegen.
2939 2016-01-28  Jason Merrill  <jason@redhat.com>
2941         * tree.h (BINFO_FLAG_0): Rename from BINFO_MARKED.
2943 2016-01-28  Wilco Dijkstra  <wdijkstr@arm.com>
2945         * config/aarch64/aarch64.c (aarch64_if_then_else_costs):
2946         Remove CONST_INT_P check in CCMP cost calculation.
2948 2016-01-28  Wilco Dijkstra  <wdijkstr@arm.com>
2950         * config/aarch64/aarch64.c (generic_vector_cost):
2951         Set vec_permute_cost.
2952         (cortexa57_vector_cost): Likewise.
2953         (exynosm1_vector_cost): Likewise.
2954         (xgene1_vector_cost): Likewise.
2955         (aarch64_builtin_vectorization_cost): Use vec_permute_cost.
2956         * config/aarch64/aarch64-protos.h (cpu_vector_cost):
2957         Add vec_permute_cost entry.
2959 2016-01-28  Wilco Dijkstra  <wdijkstr@arm.com>
2961         * config/aarch64/aarch64.md (ccmp<mode>): Disassemble
2962         immediate as %1.
2963         (add<mode>3_compare0): Likewise.
2964         (addsi3_compare0_uxtw): Likewise.
2965         (add<mode>3nr_compare0): Likewise.
2966         (compare_neg<mode>): Likewise.
2967         (<optab><mode>3): Likewise.
2969 2016-01-28  Ilya Enkovich  <enkovich.gnu@gmail.com>
2971         * tree-vect-stmts.c (vectorizable_comparison): Add
2972         NULL check for vectype.
2974 2016-01-28  Richard Biener  <rguenther@suse.de>
2976         PR tree-optimization/69466
2977         * tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges):
2978         Account for PHIs we couldn't duplicate.
2980 2016-01-28  Martin Liska  <mliska@suse.cz>
2982         PR pch/68758
2983         * ggc-common.c (gt_pch_save): Use ENABLE_VALGRIND_ANNOTATIONS macro
2984         instead of ENABLE_VALGRIND_CHECKING.
2986 2016-01-27  Richard Henderson  <rth@redhat.com>
2988         PR rtl-opt/69447
2989         * lra-remat.c (subreg_regs): New.
2990         (dump_candidates_and_remat_bb_data): Dump it.
2991         (operand_to_remat): Reject if operand in subreg_regs.
2992         (set_bb_regs): Collect subreg_regs.
2993         (lra_remat): Init and free subreg_regs.  Compute
2994         calculate_local_reg_remat_bb_data before create_cands.
2996 2016-01-27  H.J. Lu  <hongjiu.lu@intel.com>
2998         PR target/68986
2999         * config/i386/i386.c (ix86_update_stack_boundary): Don't
3000         change stack_alignment_needed for __tls_get_addr call.
3002 2016-01-27  Segher Boessenkool  <segher@kernel.crashing.org>
3004         * config/rs6000/rs6000.c (print_operand): Rollback 's' removal.
3006 2016-01-27  Jeff Law  <law@redhat.com>
3008         PR tree-optimization/68398
3009         PR tree-optimization/69196
3010         * params.def (PARAM_FSM_SCALE_PATH_STMTS): New parameter.
3011         (PARAM_FSM_SCALE_PATH_BLOCKS): Likewise.
3012         * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
3013         Only count PHIs in the last block in the path.  The others will
3014         const/copy propagate away.  Add heuristic to allow more irreducible
3015         subloops to be created when it is likely profitable to do so.
3017         * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
3018         Fix typo in comment.  Use gsi_after_labels and remove the GIMPLE_LABEL
3019         check from within the loop.  Use gsi_next_nondebug rather than gsi_next.
3021 2016-01-27  Jakub Jelinek  <jakub@redhat.com>
3023         PR lto/69254
3024         * sanitizer.def: Add BEGIN_SANITIZER_BUILTINS and
3025         END_SANITIZER_BUILTINS markers using DEF_BUILTIN_STUB.
3026         * asan.c (DEF_BUILTIN_STUB): Temporarily define.
3027         * tree-streamer-in.c: Include asan.h.
3028         (streamer_get_builtin_tree): For builtins in sanitizer
3029         range call initialize_sanitizer_builtins and retry.
3031 2016-01-27  Ian Lance Taylor  <iant@google.com>
3033         * common.opt (fkeep-gc-roots-live): New undocumented option.
3034         * tree-ssa-loop-ivopts.c (add_candidate_1): If
3035         -fkeep-gc-roots-live, skip pointers.
3036         (add_iv_candidate_for_biv): Handle add_candidate_1 returning
3037         NULL.
3039 2016-01-27  Uros Bizjak  <ubizjak@gmail.com>
3041         PR target/69512
3042         * config/i386/i386.md (*zext<mode>_doubleword_and): New pattern.
3043         (*zext<mode>_doubleword): Disable for TARGET_ZERO_EXTEND_WITH_AND.
3045 2016-01-27  Thomas Klausner  <wiz@NetBSD.org>
3047         PR target/68380
3048         * configure.ac: NetBSD provides SSP in its C library.
3049         * configure: Updated.
3051 2016-01-27  Richard Biener  <rguenther@suse.de>
3053         PR tree-optimization/69166
3054         * tree-vect-loop.c (vect_is_simple_reduction): Always check
3055         reduction code for commutativity / associativity.
3057 2016-01-27  Martin Jambor  <mjambor@suse.cz>
3059         PR tree-optimization/69355
3060         * tree-sra.c (analyze_access_subtree): Correct hole detection when
3061         total_scalarization fails.
3063 2016-01-27  David Edelsohn  <dje.gcc@gmail.com>
3065         * config/rs6000/driver-rs6000.c (detect_processor_aix): Add
3066         power9.
3068 2016-01-27  Christian Bruel  <christian.bruel@st.com>
3070         PR target/69245
3071         * config/arm/arm-c.c (arm_pragma_target_parse): Add comments.
3072         Move arm_reset_previous_fndecl and set_target_option_current_node in
3073         the conditional part.  Call save_restore_target_globals.
3074         * config/arm/arm.c (arm_set_current_function):
3075         Refactor to better support #pragma target and attribute mix.
3076         Call save_restore_target_globals.
3077         * config/arm/arm-protos.h (save_restore_target_globals): New function.
3079 2016-01-27  Martin Liska  <mliska@suse.cz>
3081         * hsa.c (hsa_summary_t::link_functions): Create IPA_REF_ADDR
3082         reference for an HSA kernel and its host function.
3084 2016-01-27  Jakub Jelinek  <jakub@redhat.com>
3086         PR tree-optimization/69399
3087         * wide-int.h (wi::lrshift): For larger precisions, only
3088         use fast path if shift is known to be < HOST_BITS_PER_WIDE_INT.
3090 2016-01-27  Claudiu Zissulescu  <claziss@synopsys.com>
3092         * config/arc/predicates.md (proper_comparison_operator): Reject
3093         constant-constant comparison.
3095 2016-01-26  Tom de Vries  <tom@codesourcery.com>
3097         PR tree-optimization/69110
3098         * tree-data-ref.c (initialize_data_dependence_relation): Handle
3099         DR_NUM_DIMENSIONS == 0.
3101 2016-01-26  Abderrazek Zaafrani  <a.zaafrani@samsung.com>
3102             Sebastian Pop  <s.pop@samsung.com>
3104         * graphite-isl-ast-to-gimple.c (ternary_op_to_tree): Handle
3105         isl_ast_op_cond and isl_ast_op_select.
3106         (gcc_expression_from_isl_expr_op): Same.
3108 2016-01-26  Jason Merrill  <jason@redhat.com>
3110         PR c++/68782
3111         * tree.c (recompute_constructor_flags): Split out from
3112         build_constructor.
3113         (verify_constructor_flags): New.
3114         * tree.h: Declare them.
3116 2016-01-26  Iain Buclaw  <ibuclaw@gdcproject.org>
3118         PR rtl-optimization/69217
3119         * var-tracking.c (tracked_record_parameter_p): Don't segfault if there
3120         are no TYPE_FIELDS set for the record type.
3122 2016-01-26  Jakub Jelinek  <jakub@redhat.com>
3124         PR target/68662
3125         * config/rs6000/rs6000.c (rs6000_option_override_internal): Initialize
3126         toc_label_name unconditionally.
3127         (rs6000_emit_load_toc_table): Call ggc_strdup on toc_label_name for
3128         SYMBOL_REF string.  Use toc_label_name instead of constructing
3129         LCTOC1.
3130         (rs6000_elf_declare_function_name): Use toc_label_name instead of
3131         constructing LCTOC1.
3133 2016-01-26  Martin Sebor  <msebor@redhat.com>
3135         PR other/69477
3136         * doc/extend.texi (Common Type Attributes): Move text that talks about
3137         attribute packed from attribute aligned to the section discussing
3138         the former attribute for clarity.
3140 2016-01-26  Richard Henderson  <rth@redhat.com>
3142         PR middle-end/60908
3143         * trans-mem.c (tm_region_init): Mark entry block as visited.
3145 2016-01-26  David Malcolm  <dmalcolm@redhat.com>
3147         PR other/69006
3148         * diagnostic-show-locus.c (layout::print_source_line): Replace
3149         call to pp_newline with call to layout::print_newline.
3150         (layout::print_annotation_line): Likewise.
3151         (layout::move_to_column): Likewise.
3152         (layout::print_any_fixits): After printing any fixits, print a
3153         trailing newline, if necessary.
3154         (layout::print_newline): New method, resetting any colorization
3155         before a newline.
3156         (diagnostic_show_locus): Move the pp_newline to before the
3157         early bailout.  Remove dummy block enclosing the layout instance.
3158         * diagnostic.c (default_diagnostic_finalizer): Replace invocation
3159         of pp_newline_and_flush with pp_flush.
3160         (diagnostic_append_note): Delete use of pp_newline.
3161         (diagnostic_append_note_at_rich_loc): Delete.
3162         * diagnostic.h (diagnostic_append_note_at_rich_loc): Delete.
3163         * pretty-print.h (output_buffer_append_r): Reset buff->line_length
3164         when newline characters are added to the buffer.
3166 2016-01-26  Michael Matz  <matz@suse.de>
3168         * configure.ac (ac_cv_std_swap_in_utility): New test.
3169         * system.h (<algorithm>): Check HAVE_SWAP_IN_UTILITY as well.
3170         * configure: Regenerate.
3171         * config.in: Regenerate.
3173 2016-01-26  Claudiu Zissulescu  <claziss@synopsys.com>
3175         * config/arc/arc.md (cstoresi4): Force operand into register.
3176         (arcset<code>): Fix predicate.
3177         (arcsetltu): Likewise.
3178         (arcsetgeu): Likewise.
3179         (arcsethi): Likewise.
3180         (arcsetls): Likewise.
3182 2016-01-26  Jakub Jelinek  <jakub@redhat.com>
3184         PR tree-optimization/69483
3185         * gimple-fold.c (canonicalize_constructor_val): Return NULL
3186         if base has error_mark_node type.
3188 2016-01-26  Christophe Lyon  <christophe.lyon@linaro.org>
3190         PR target/68620
3191         * config/arm/arm.c (neon_valid_immediate): Handle FP16 vectors.
3192         * config/arm/arm_neon.h (__ARM_NUM_LANES, __arm_lane, arm_lanq):
3193         New helper macros.
3194         (vget_lane_f16): Handle big-endian.
3195         (vgetq_lane_f16): Likewise.
3196         (vset_lane_f16): Likewise.
3197         (vsetq_lane_f16): Likewise.
3198         * config/arm/iterators.md (VQXMOV): Add V8HF.
3199         (VDQ): Add V4HF and V8HF.
3200         (V_reg): Handle V4HF and V8HF.
3201         (Is_float_mode): Likewise.
3202         * config/arm/neon.md (movv4hf, movv8hf, neon_vdup_nv4hf,
3203         neon_vdup_nv8hf): New patterns.
3204         (vec_set<mode>_internal, vec_extract<mode>, neon_vld1_dup<mode>):
3205         Use VD_LANE iterator.
3206         (neon_vld1_dup<mode>): Use VQ2 iterator.
3208 2016-01-26  Nathan Sidwell  <nathan@acm.org>
3210         * omp-low.h (oacc_fn_attrib_kernels_p): Declare.
3211         (set_oacc_fn_attrib): Add IS_KERNEL arg.
3212         * omp-low.c (set_oacc_fn_attrib): Add IS_KERNEL arg.
3213         (oacc_fn_attrib_kernels_p, oacc_fn_attrib_level): New.
3214         (expand_omp_target): Pass is_kernel to set_oacc_fn_attrib.
3215         (oacc_validate_dims): Add LEVEL arg, don't return level.
3216         (new_oacc_loop_routine): Use oacc_fn_attrib_level, not
3217         oacc_validate_dims.
3218         (execute_oacc_device_lower): Adjust, add more dump output.
3219         * tree-ssa-loop.c (gate_oacc_kernels): Use
3220         oacc_fn_attrib_kernels_p.
3221         * tree-parloops.c (create_parallel_loop): Adjust
3222         set_oacc_fn_attrib call.
3224 2016-01-26  Jakub Jelinek  <jakub@redhat.com>
3226         PR lto/69254
3227         * lto-wrapper.c (merge_and_complain): Handle -fcilkplus.
3228         (append_compiler_options): Handle -fcilkplus.
3229         (append_linker_options): Ignore -fno-{openmp,openacc,cilkplus}.
3231 2016-01-26  Nick Clifton  <nickc@redhat.com>
3233         PR target/66655
3234         * config/i386/winnt.c (i386_pe_binds_local_p): If a function has
3235         been marked as DECL_ONE_ONLY but we do not the means to make it
3236         so, then do not allow it to bind locally.
3238 2016-01-26  Jakub Jelinek  <jakub@redhat.com>
3240         PR lto/69254
3241         * opts.h (parse_sanitizer_options): New prototype.
3242         * opts.c (sanitizer_opts): New array.
3243         (parse_sanitizer_options): New function.
3244         (common_handle_option): Use parse_sanitizer_options.
3246 2016-01-26  H.J. Lu  <hongjiu.lu@intel.com>
3248         PR target/68986
3249         * config/i386/i386.c (ix86_compute_frame_layout): Move stack
3250         alignment adjustment to ...
3251         (ix86_update_stack_boundary): Here.  Don't over-align stack for
3252         __tls_get_addr.
3253         (ix86_finalize_stack_realign_flags): Use stack_alignment_needed
3254         if __tls_get_addr is called.
3256 2016-01-26  Christian Bruel  <christian.bruel@st.com>
3258         * doc/sourcebuild.texi (arm_crypto_pragma_ok): Remove.
3260 2016-01-26  Eric Botcazou  <ebotcazou@adacore.com>
3262         * config/ia64/ia64.c (ia64_expand_vecint_compare): Use gen_int_mode.
3264 2016-01-26  Richard Biener  <rguenther@suse.de>
3266         PR middle-end/69467
3267         * match.pd: Guard X * CST CMP 0 pattern with single_use.
3269 2016-01-26  Richard Biener  <rguenther@suse.de>
3271         PR tree-optimization/69452
3272         * tree-ssa-loop-im.c (move_computations_dom_walker): Remove.
3273         (move_computations_dom_walker::before_dom_children): Rename
3274         to ...
3275         (move_computations_worker): This.
3276         (move_computations): Perform an RPO rather than a DOM walk.
3278 2016-01-26  Jakub Jelinek  <jakub@redhat.com>
3280         PR target/69442
3281         * combine.c (combine_instructions): For REG_EQUAL note with
3282         SET_DEST being ZERO_EXTRACT, also temporarily set SET_DEST
3283         to the underlying register.
3284         * doc/rtl.texi (REG_EQUAL): Document the behavior of
3285         REG_EQUAL/REG_EQUIV notes if SET_DEST is ZERO_EXTRACT.
3287 2016-01-26  Roger Ferrer Ibáñez  <rofirrim@gmail.com>
3289         PR target/67896
3290         * config/aarch64/aarch64-builtins.c
3291         (aarch64_init_simd_builtin_types): Do not set structural
3292         equality to __Poly{8,16,64,128}_t types.
3294 2016-01-26  Richard Sandiford  <richard.sandiford@arm.com>
3296         PR tree-optimization/69400
3297         * wide-int.cc (wi_pack): Take the precision as argument and
3298         perform canonicalization here rather than in the callers.
3299         Use the main loop to handle all full-width HWIs.  Add a
3300         zero HWI if in_len isn't a full result.
3301         (wi::divmod_internal): Update accordingly.
3302         (wi::mul_internal): Likewise.  Simplify.
3304 2016-01-25  Aditya Kumar  <aditya.k7@samsung.com>
3305             Sebastian Pop  <s.pop@samsung.com>
3307         * graphite-poly.c (apply_poly_transforms): Simplify.
3308         (print_isl_set): Use more readable format: ISL_YAML_STYLE_BLOCK.
3309         (print_isl_map): Same.
3310         (print_isl_union_map): Same.
3311         (print_isl_schedule): New.
3312         (debug_isl_schedule): New.
3313         * graphite-dependences.c (scop_get_reads): Do not call
3314         isl_union_map_add_map that is undocumented isl functionality.
3315         (scop_get_must_writes): Same.
3316         (scop_get_may_writes): Same.
3317         (scop_get_original_schedule): Remove.
3318         (scop_get_dependences): Do not call isl_union_map_compute_flow that
3319         is deprecated in isl 0.15.  Instead, use isl_union_access_* interface.
3320         (compute_deps): Remove.
3321         * graphite-isl-ast-to-gimple.c (print_schedule_ast): New.
3322         (debug_schedule_ast): New.
3323         (translate_isl_ast_to_gimple::scop_to_isl_ast): Call
3324         set_separate_option.
3325         (graphite_regenerate_ast_isl): Add dump.
3326         (translate_isl_ast_to_gimple::scop_to_isl_ast): Generate code
3327         from scop->transformed_schedule.
3328         (graphite_regenerate_ast_isl): Add more dump.
3329         * graphite-optimize-isl.c (optimize_isl): Set
3330         scop->transformed_schedule.  Check whether schedules are equal.
3331         (apply_poly_transforms): Move here.
3332         * graphite-poly.c (apply_poly_transforms): ... from here.
3333         (free_poly_bb): Static.
3334         (free_scop): Static.
3335         (pbb_number_of_iterations_at_time): Remove.
3336         (print_isl_ast): New.
3337         (debug_isl_ast): New.
3338         (debug_scop_pbb): New.
3339         * graphite-scop-detection.c (print_edge): Move.
3340         (print_sese): Move.
3341         * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove.
3342         (build_scop_scattering): Remove.
3343         (create_pw_aff_from_tree): Assert instead of bailing out.
3344         (add_condition_to_pbb): Remove unused code, do not fail.
3345         (add_conditions_to_domain): Same.
3346         (add_conditions_to_constraints): Remove.
3347         (build_scop_context): New.
3348         (add_iter_domain_dimension): New.
3349         (build_iteration_domains): Initialize pbb->iterators.
3350         Call add_conditions_to_domain.
3351         (nested_in): New.
3352         (loop_at): New.
3353         (index_outermost_in_loop): New.
3354         (index_pbb_in_loop): New.
3355         (outermost_pbb_in): New.
3356         (add_in_sequence): New.
3357         (add_outer_projection): New.
3358         (outer_projection_mupa): New.
3359         (add_loop_schedule): New.
3360         (build_schedule_pbb): New.
3361         (build_schedule_loop): New.
3362         (embed_in_surrounding_loops): New.
3363         (build_schedule_loop_nest): New.
3364         (build_original_schedule): New.
3365         (build_poly_scop): Call build_original_schedule.
3366         * graphite.h: Declare print_isl_schedule and debug_isl_schedule.
3367         (free_poly_dr): Remove.
3368         (struct poly_bb): Add iterators.  Remove schedule, transformed, saved.
3369         (free_poly_bb): Remove.
3370         (debug_loop_vec): Remove.
3371         (print_isl_ast): Declare.
3372         (debug_isl_ast): Declare.
3373         (scop_do_interchange): Remove.
3374         (scop_do_strip_mine): Remove.
3375         (scop_do_block): Remove.
3376         (flatten_all_loops): Remove.
3377         (optimize_isl): Remove.
3378         (pbb_number_of_iterations_at_time): Remove.
3379         (debug_scop_pbb): Declare.
3380         (print_schedule_ast): Declare.
3381         (debug_schedule_ast): Declare.
3382         (struct scop): Remove schedule.  Add original_schedule,
3383         transformed_schedule.
3384         (free_gimple_poly_bb): Remove.
3385         (print_generated_program): Remove.
3386         (debug_generated_program): Remove.
3387         (unify_scattering_dimensions): Remove.
3388         * sese.c (print_edge): ... here.
3389         (print_sese): ... here.
3390         (debug_edge): ... here.
3391         (debug_sese): ... here.
3392         * sese.h (print_edge): Declare.
3393         (print_sese): Declare.
3394         (dump_edge): Declare.
3395         (dump_sese): Declare.
3397 2016-01-25  Aditya Kumar  <aditya.k7@samsung.com>
3398             Sebastian Pop  <s.pop@samsung.com>
3400         * Makefile.in: Set ISLVER in site.exp.
3402 2016-01-25  Jakub Jelinek  <jakub@redhat.com>
3404         * omp-low.c (lower_omp_target) <case USE_DEVICE_PTR>: Set
3405         DECL_VALUE_EXPR of new_var even for the non-array case.  Look
3406         through DECL_VALUE_EXPR for expansion.
3408 2016-01-25  Bernd Edlinger  <bernd.edlinger@hotmail.de>
3410         * config/mips/mips.c (mips_compute_frame_info): Skip re-computing
3411         the frame info after reload completed.
3413 2016-01-25  Jeff Law  <law@redhat.com>
3415         PR tree-optimization/69196
3416         PR tree-optimization/68398
3417         * tree-ssa-threadupdate.h (enum bb_dom_status): Moved here from
3418         tree-ssa-threadupdate.c.
3419         (determine_bb_domination_status): Prototype
3420         * tree-ssa-threadupdate.c (enum bb_dom_status): Remove
3421         (determine_bb_domination_status): No longer static.
3422         (valid_jump_thread_path): Remove code to detect characteristics
3423         of the jump thread path not associated with correctness.
3424         * tree-ssa-threadbackward.c (fsm_find_control_statment_thread_paths):
3425         Correct test for thread path length.  Count PHIs for real operands as
3426         statements that need to be copied.  Do not count ASSERT_EXPRs.
3427         Look at all the blocks in the thread path.  Compute and selectively
3428         filter thread paths based on threading through the latch, threading
3429         a multiway branch or crossing a multiway branch.
3431 2016-01-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3433         * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled):  Add
3434         decl with __attribute__ ((unused)) annotation.
3436 2016-01-25  Ilya Enkovich  <enkovich.gnu@gmail.com>
3438         PR target/69421
3439         * tree-vect-stmts.c (vectorizable_condition): Check vectype
3440         of operands is compatible with a statement vectype.
3442 2016-01-25  Eric Botcazou  <ebotcazou@adacore.com>
3444         * doc/extend.texi (scalar_storage_order type attribute): Fix typo and
3445         improve wording for mixed storage order support.
3447 2016-01-25  Bilyan Borisov  <bilyan.borisov@arm.com>
3449         * config/aarch64/arm_neon.h (vcvt_s64_f64): New intrinsic.
3450         (vcvt_u64_f64): Likewise.
3451         (vcvta_s64_f64): Likewise.
3452         (vcvta_u64_f64): Likewise.
3453         (vcvtm_s64_f64): Likewise.
3454         (vcvtm_u64_f64): Likewise.
3455         (vcvtn_s64_f64): Likewise.
3456         (vcvtn_u64_f64): Likewise.
3457         (vcvtp_s64_f64): Likewise.
3458         (vcvtp_u64_f64): Likewise.
3460 2016-01-25  Claudiu Zissulescu  <claziss@synopsys.com>
3462         * config/arc/arc.c (TARGET_DWARF_REGISTER_SPAN): Define.
3463         (arc_init): Check validity mll64 option.
3464         (arc_save_restore): Use double load/store instruction.
3465         (arc_expand_movmem): Likewise.
3466         (arc_split_move): Don't split if we have double load/store
3467         instructions. Returns a boolean.
3468         (arc_process_double_reg_moves): Change function to return boolean
3469         instead of a sequence of instructions.
3470         (arc_dwarf_register_span): New function.
3471         * config/arc/arc-protos.h (arc_split_move): Change prototype.
3472         * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __ARC_LL64__.
3473         * config/arc/arc.md (*movdi_insn): Emit ldd/std instructions.
3474         (*movdf_insn): Likewise.
3475         * config/arc/arc.opt (mll64): New option.
3476         * config/arc/predicates.md (even_register_operand): New predicate.
3477         * doc/invoke.texi (ARC Options): Add mll64 documentation.
3479 2016-01-25  Richard Biener  <rguenther@suse.de>
3481         PR lto/69393
3482         * dwarf2out.c (is_naming_typedef_decl): Not when DECL_NAMELESS.
3483         * tree-streamer-out.c (pack_ts_base_value_fields): Stream
3484         DECL_NAMELESS.
3485         * tree-streamer-in.c (unpack_ts_base_value_fields): Likewise.
3487 2016-01-25  Richard Biener  <rguenther@suse.de>
3489         PR tree-optimization/69376
3490         * tree-ssa-sccvn.h (struct vn_ssa_aux): Add range_info_anti_range_p
3491         flag.
3492         (VN_INFO_ANTI_RANGE_P): New inline.
3493         (VN_INFO_RANGE_TYPE): Likewise.
3494         * tree-ssa-sccvn.c (set_ssa_val_to): Also record and copy
3495         SSA_NAME_ANTI_RANGE_P.
3496         (free_scc_vn): Restore SSA_NAME_ANTI_RANGE_P.
3497         * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
3498         Properly query VN_INFO_RANGE_TYPE.
3500 2016-01-25  Nick Clifton  <nickc@redhat.com>
3502         PR target/66655
3503         * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Remove definition.
3505 2016-01-23  Tom de Vries  <tom@codesourcery.com>
3507         PR tree-optimization/69426
3508         * tree-parloops.c (eliminate_local_variables_stmt): Handle vdef of
3509         removed clobber.
3511 2016-01-23  Jakub Jelinek  <jakub@redhat.com>
3513         * tree-ssanames.c (release_free_names_and_compact_live_names): Replace
3514         "the the" with "the" in the comments.
3515         * ipa-devirt.c (build_type_inheritance_graph,
3516         update_type_inheritance_graph): Likewise.
3517         * tree.c (build_function_type_list_1): Likewise.
3518         * cfgloopmanip.c (scale_loop_profile): Likewise.
3519         * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Likewise.
3520         * gimple-ssa-split-paths.c
3521         (find_block_to_duplicate_for_splitting_paths): Likewise.
3522         * tree-sra.c (init_subtree_with_zero, clobber_subtree): Likewise.
3523         * expr.c (convert_move): Likewise.
3524         * var-tracking.c (vt_stack_adjustments): Likewise.
3525         * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
3526         * tree-vrp.c (test_for_singularity): Likewise.
3528         * tree-vect-stmts.c (vectorizable_condition): Build a VEC_COND_EXPR
3529         directly instead of building a temporary tree.
3531         PR bootstrap/69434
3532         * genrecog.c: Define INCLUDE_ALGORITHM before including system.h,
3533         remove <algorithm> include.
3535 2016-01-22  Jakub Jelinek  <jakub@redhat.com>
3537         PR target/69432
3538         * config/i386/i386.c: Include dojump.h.
3539         (expand_small_movmem_or_setmem,
3540         expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Spelling
3541         fixes.
3542         (ix86_expand_set_or_movmem): Call do_pending_stack_adjust () early
3543         if dynamic_check != -1.
3545 2016-01-21  Jeff Law  <law@redhat.com>
3547         PR middle-end/69347
3548         * tree-ssa-dom.c (back_propagate_equivalences): Factored out of
3549         record_temporary_equivalences.  Rewritten to avoid unnecessary calls
3550         into dominated_by_p.
3551         (cprop_into_successor_phis): Avoid unnecessary tests.
3553 2016-01-22  Richard Henderson  <rth@redhat.com>
3555         PR target/69416
3556         * config/aarch64/aarch64.md (UNSPEC_NZCV): New.
3557         (ccmp<mode>, fccmp<mode>, fccmpe<mode>): Use it.
3559 2016-01-22  Michael Matz  <matz@suse.de>
3561         * system.h (string, algorithm): Include only conditionally.
3562         (new): Include always under C++.
3563         * bb-reorder.c (toplevel): Define INCLUDE_ALGORITHM.
3564         * final.c (toplevel): Ditto.
3565         * ipa-chkp.c (toplevel): Define INCLUDE_STRING.
3566         * genconditions.c (write_header): Make gencondmd.c define
3567         INCLUDE_STRING.
3568         * mem-stats.h (mem_usage::print_dash_line): Don't use std::string.
3570         * config/aarch64/aarch64.c (toplevel): Define INCLUDE_STRING.
3571         * common/config/aarch64/aarch64-common.c (toplevel): Ditto.
3573 2016-01-22  Christian Bruel  <christian.bruel@st.com>
3575         PR target/68674
3576         * expr.c (expand_expr_real_1): Reset DECL_MODE if VECTOR_TYPE_P changed.
3578 2016-01-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3580         PR target/69403
3581         * config/arm/thumb2.md (*thumb2_ior_scc_strict_it): Convert to
3582         define_insn_and_split.  Ensure operands[1] and operands[0] do not
3583         get assigned the same register.
3585 2016-01-22  Kugan Vivekanandarajah  <kuganv@linaro.org>
3587         * ipa-prop.c (ipa_set_jf_constant): Remove redundant unshare_expr.
3589 2016-01-22  Christian Bruel  <christian.bruel@st.com>
3591         * config/arm/arm-c.c (arm_pragma_target_parse):
3592         Remove warn_builtin_macro_redefined overwrite.
3594 2016-01-22  Eric Botcazou  <ebotcazou@adacore.com>
3596         * ipa-inline.c (can_inline_edge_p): Back out overzealous check on
3597         flag_non_call_exceptions compatibility.
3599 2016-01-22  Jakub Jelinek  <jakub@redhat.com>
3601         PR debug/66668
3602         * dwarf2out.c (add_child_die_after): New function.
3603         (dwarf_qual_info_t): New type.
3604         (dwarf_qual_info): New variable.
3605         (qualified_die_p): New function.
3606         (modified_type_die): For -fdebug-types-section, ensure
3607         canonical order of qualifiers.  Put qualified DIEs adjacent
3608         to the corresponding non-qualified type DIE and search there
3609         for existing qualified DIEs.
3611 2016-01-22  Eric Botcazou  <ebotcazou@adacore.com>
3613         * doc/extend.texi (scalar_storage_order type attribute): Document
3614         restriction on type punning and aliasing, and remove future tense.
3616 2016-01-21  Roman Zhuykov  <zhroma@ispras.ru>
3618         PR target/69252
3619         * modulo-sched.c (optimize_sc): Allow branch-scheduling to add a new
3620         first stage.
3622 2016-01-21  Jeff Law  <law@redhat.com>
3624         PR middle-end/69347
3625         * tree-ssa-dom.c (dom_opt_dom_walker::thread_across_edge): Avoid
3626         useless call to record_temporary_equivalences.
3627         * tree-ssa-threadbackward.c (find_jump_threads_backwards): Just
3628         allocate 10 slots in the bb_path vector and let it grow as needed.
3629         (fsm_find_control_statement_thread_paths): Similarly for the next_path
3630         vector.
3632 2016-01-21  David Edelsohn  <dje.gcc@gmail.com>
3634         * configure.ac (gcc_cv_as_powerpc_mfcrf, gcc_cv_as_machine_directive):
3635         Detangle.
3636         * configure: Regenerate.
3638 2016-01-21  Pat Haugen  <pthaugen@us.ibm.com>
3640         * config/rs6000/aix71.h (ASM_CPU_SPEC): Add entry for Power9.
3641         * config/rs6000/driver-rs6000.c (struct asm_names): Likewise.
3643 2016-01-21  Bernd Schmidt  <bschmidt@redhat.com>
3645         PR middle-end/66178
3646         * expr.c (expand_expr_real_2) [PLUS_EXPR, MINUS_EXPR]: Don't
3647         drop EXPAND_INITIALIZER.
3648         * rtl.h (contains_symbolic_reference_p): Declare.
3649         * rtlanal.c (contains_symbolic_reference_p): New function.
3650         * simplify-rtx.c (simplify_binary_operation_1): Don't turn
3651         a subtraction into a NOT if symbolic constants are involved.
3653 2016-01-21  Anton Blanchard  <anton@samba.org>
3654             Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3656         PR target/63354
3657         * config/rs6000/linux64.h (TARGET_KEEP_LEAF_WHEN_PROFILED): New
3658         #define.
3659         * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): New
3660         function.
3662 2016-01-21  Ajit Agarwal  <ajitkum@xilinx.com>
3664         * config/microblaze/microblaze.c
3665         (get_branch_target): New.
3666         (insert_wic_for_ilb_runout): New.
3667         (insert_wic): New.
3668         (microblaze_machine_dependent_reorg): New.
3669         (TARGET_MACHINE_DEPENDENT_REORG): Define macro.
3670         * config/microblaze/microblaze.md
3671         (UNSPEC_IPREFETCH): Define.
3672         (iprefetch): New pattern
3673         * config/microblaze/microblaze.opt
3674         (mxl-prefetch): New flag.
3676 2016-01-21  Ajit Agarwal  <ajitkum@xilinx.com>
3678         * config/microblaze/microblaze.h
3679         (FIXED_REGISTERS): Update in macro.
3680         (CALL_USED_REGISTERS): Update in macro.
3682 2016-01-21  Yuri Rumyantsev  <ysrumyan@gmail.com>
3684         PR rtl-optimization/68920
3685         * ifcvt.c (cond_move_process_if_block): Limit number of conditional
3686         moves.
3688 2016-01-21  Vladimir Makarov  <vmakarov@redhat.com>
3690         PR rtl-optimization/68990
3691         * lra-coalesce.c (lra_coalesce): Invalidate value for the result
3692         pseudo instead of inheritance ones.
3694 2016-01-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
3695             Nick Clifton  <nickc@redhat.com>
3697         PR target/69129
3698         PR target/69012
3699         * config/mips/mips.c (mips_compute_frame_info): Initialise
3700         args_size and hard_frame_pointer_offset fields of the frame
3701         structure before calling mips_global_pointer.
3703 2016-01-21  David Edelsohn  <dje.gcc@gmail.com>
3705         * configure.ac (gcc_cv_as_dwloc): Test support for debug frame section
3706         label reference.
3707         * configure: Regenerate.
3709 2016-01-21  Richard Biener  <rguenther@suse.de>
3711         * graphite-optimize-isl.c (get_schedule_map): Fix typo.
3713 2016-01-21  Marcin Kościelnicki  <koriakin@0x04.net>
3715         * config/s390/s390.c (s390_asm_declare_function_size): Add code
3716         to actually emit the .size directive.
3718 2016-01-21   Stefan Sørensen  <stefan.sorensen@spectralink.com>
3719              Jakub Jelinek  <jakub@redhat.com>
3721         PR target/69187
3722         PR target/65624
3723         * config/arm/arm-builtins.c (arm_expand_neon_builtin): Increase
3724         args array size by one to avoid buffer overflow.
3726 2016-01-21  Marcin Kościelnicki  <koriakin@0x04.net>
3728         * config/s390/s390.md (pool_section_start): Use switch_to_section
3729         to select proper read-only data section instead of hardcoding
3730         .rodata.
3731         (pool_section_end): Use switch_to_section to match the above.
3733 2016-01-21  Richard Biener  <rguenther@suse.de>
3735         PR tree-optimization/69378
3736         * tree-ssa-sccvn.c (dominated_by_p_w_unex): New function.
3737         (set_ssa_val_to): Use it for dominance checks taking into
3738         account not executable edges.
3740 2016-01-21  Jakub Jelinek  <jakub@redhat.com>
3742         PR c++/69355
3743         * tree-dfa.c (get_ref_base_and_extent): Use GET_MODE_BITSIZE (mode)
3744         for bitsize instead of GET_MODE_PRECISION (mode).
3746 2016-01-20  Martin Sebor  <msebor@redhat.com>
3748         PR c/52291
3749         * extend.texi (__sync Builtins): Clarify the semantics of
3750         __sync_fetch_and_OP built-ins on pointers.
3751         (__atomic Builtins): Same.
3753 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
3754             Sebastian Pop  <s.pop@samsung.com>
3756         * graphite-isl-ast-to-gimple.c (enum phi_node_kind): New.
3757         (class translate_isl_ast_to_gimple): Use phi_node_kind instead of bool.
3758         (is_valid_rename): Same.
3759         (translate_isl_ast_to_gimple::get_rename): Same.
3760         (translate_isl_ast_to_gimple::rename_all_uses): Same.
3761         (translate_isl_ast_to_gimple::rename_uses): Same.
3762         (get_new_name): Check for close_phi nodes.
3763         (copy_loop_phi_args): Use phi_node_kind.
3764         (translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same.
3765         (translate_isl_ast_to_gimple::copy_cond_phi_args): Same.
3767 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
3768             Sebastian Pop  <s.pop@samsung.com>
3770         Revert commit r229783.
3771         * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
3772         Remove use of parameter_rename_map.
3773         (copy_def): Remove.
3774         (copy_internal_parameters): Remove.
3775         (graphite_regenerate_ast_isl): Remove call to copy_internal_parameters.
3776         * sese.c (new_sese_info): Do not initialize parameter_rename_map.
3777         (free_sese_info): Do not free parameter_rename_map.
3778         (set_rename): Do not use parameter_rename_map.
3779         (rename_uses): Update call to set_rename.
3780         (graphite_copy_stmts_from_block): Do not use parameter_rename_map.
3781         * sese.h (parameter_rename_map_t): Remove.
3782         (struct sese_info_t): Remove field parameter_rename_map.
3784 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
3785             Sebastian Pop  <s.pop@samsung.com>
3787         * graphite-isl-ast-to-gimple.c: Fix comment.
3788         * graphite-scop-detection.c (defined_in_loop_p): New.
3789         (canonicalize_loop_closed_ssa): Do not add close phi nodes for SSA
3790         names defined in loop.
3792 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
3793             Sebastian Pop  <s.pop@samsung.com>
3795         * graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
3796         Discard unstructured if-then-else regions.
3798 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
3799             Sebastian Pop  <s.pop@samsung.com>
3801         * graphite-sese-to-poly.c (set_scop_parameter_dim): Remove.
3802         (cleanup_loop_iter_dom): Remove.
3803         (build_loop_iteration_domains): Remove.
3804         (build_scop_context): Remove.
3805         (build_scop_iteration_domain): Remove.
3806         (add_loop_constraints): New.
3807         (build_iteration_domains): New.
3808         (build_poly_scop): Call build_iteration_domains.
3810 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
3811             Sebastian Pop  <s.pop@samsung.com>
3813         * graphite-scop-detection.c
3814         (scop_detection::harmful_loop_in_region): Free dom and loops.
3815         (scop_detection::loop_body_is_valid_scop): Free bbs.
3817 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
3818             Sebastian Pop  <s.pop@samsung.com>
3820         * graphite-scop-detection.c (record_loop_in_sese): New.
3821         (gather_bbs::before_dom_children): Call record_loop_in_sese.
3822         (build_scops): Remove call to build_sese_loop_nests.
3823         * sese.c (sese_record_loop): Remove.
3824         (build_sese_loop_nests): Remove.
3825         (new_sese_info): Remove region->loops.
3826         (free_sese_info): Same.
3827         * sese.h (sese_contains_loop): Same.
3828         (build_sese_loop_nests): Remove.
3829         (sese_contains_loop): Remove.
3831 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
3832             Sebastian Pop  <s.pop@samsung.com>
3834         * graphite-scop-detection.c (loop_is_valid_scop): Renamed
3835         loop_is_valid_in_scop.
3836         (scop_detection::harmful_stmt_in_region): Renamed
3837         harmful_loop_in_region.
3838         Call loop_is_valid_in_scop.
3840 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
3841             Sebastian Pop  <s.pop@samsung.com>
3843         * graphite-isl-ast-to-gimple.c (translate_isl_ast): Also handle
3844         isl_ast_node_mark.
3846 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
3847             Sebastian Pop  <s.pop@samsung.com>
3849         * graphite-poly.c (new_poly_bb): Remove use of PBB_IS_REDUCTION.
3850         * graphite.h (struct poly_bb): Remove field is_reduction.
3851         (PBB_IS_REDUCTION): Remove.
3853 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
3854             Sebastian Pop  <s.pop@samsung.com>
3856         * graphite-dependences.c (constrain_domain): Add call to isl_*_coalesce.
3857         (add_pdr_constraints): Same.
3858         (scop_get_reads): Same.
3859         (scop_get_must_writes): Same.
3860         (scop_get_may_writes): Same.
3861         (scop_get_original_schedule): Same.
3862         (extend_schedule): Same.
3863         (apply_schedule_on_deps): Same.
3864         (carries_deps): Same.
3865         (compute_deps): Same.
3866         (scop_get_dependences): Same.
3867         * graphite-isl-ast-to-gimple.c
3868         (translate_isl_ast_to_gimple::generate_isl_schedule): Same.
3869         * graphite-optimize-isl.c (get_schedule_for_band): Same.
3870         (get_schedule_for_band_list): Same.
3871         (get_schedule_map): Same.
3872         (apply_schedule_map_to_scop): Same.
3873         * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
3874         (build_loop_iteration_domains): Same.
3875         (add_condition_to_pbb): Same.
3876         (add_param_constraints): Same.
3877         (pdr_add_memory_accesses): Same.
3878         (pdr_add_data_dimensions): Same.
3880 2016-01-20  Sandra Loosemore  <sandra@codesourcery.com>
3882         * doc/invoke.texi (Instrumentation Options): Clarify -mmpx linking
3883         requirements.
3885 2016-01-20  Sandra Loosemore  <sandra@codesourcery.com>
3887         * common.opt (feliminate-dwarf2-dups): Replace references to
3888         "DWARF 2" with just "DWARF".
3889         * config/ia64/ia64.opt (mdwarf2-asm): Likewise.
3890         * doc/extend.texi: Likewise.
3891         * doc/cpp.texi: Likewise.
3892         * doc/invoke.texi: Likewise.
3893         (Option Summary): Add -gdwarf to list of Debugging Options.
3894         (Debugging Options): Document -gdwarf.
3895         * doc/contrib.texi: Spell "DWARF" like that.
3897 2016-01-21  Jakub Jelinek  <jakub@redhat.com>
3899         * omp-low.c (expand_omp_target): Avoid -Wmaybe-uninitialized
3900         warning.  Fix up formatting.
3902         PR middle-end/67653
3903         * gimplify.c (gimplify_asm_expr): Warn if it is too late to
3904         attempt to mark memory input operand addressable and
3905         call prepare_gimple_addressable in that case.  Don't adjust
3906         input_location for diagnostics, use error_at instead.
3908 2016-01-20  Peter Bergner  <bergner@vnet.ibm.com>
3910         * config/rs6000/ppc-auxv.h: New file.
3911         * config/rs6000/rs6000-builtin.def (cpu_init): Add new builtin.
3912         (cpu_is): Likewise.
3913         (cpu_supports): Likewise.
3914         * config/rs6000/rs6000.c: include "ppc-auxv.h".
3915         (cpu_is_info): New variable.
3916         (cpu_supports_info): Likewise.
3917         (tcb_verification_symbol): Likewise.
3918         (cpu_builtin_p): Likewise.
3919         (cpu_expand_builtin): New function.
3920         (rs6000_expand_ternop_builtin): Add support for CPU builtin functions.
3921         (rs6000_init_builtins): Likewise.
3922         (rs6000_elf_file_end): Emit HWCAP in TCB verification symbol.
3923         * config/rs6000/rs6000.h (TLS_REGNUM): New define.
3924         * configure.ac (gcc_cv_libc_provides_hwcap_in_tcb): New test.
3925         * configure: Regenerate.
3926         * config.in: Likewise.
3927         * doc/extend.texi (PowerPC Built-in Functions): Document
3928         __builtin_cpu_init, __builtin_cpu_is and __builtin_cpu_supports.
3930 2016-01-20  David Edelsohn  <dje.gcc@gmail.com>
3932         PR target/68609
3933         * config/rs6000/rs6000.c (rs6000_emit_swsqrt): Add vector sqrt
3934         domain check.
3935         * config/rs6000/vector.md (sqrt<mode>2): Call rs6000_emit_swsqrt
3936         for V4SFmode.
3938 2016-01-20  Richard Henderson  <rth@redhat.com>
3940         PR bootstrap/69343
3941         PR bootstrap/69339
3942         PR tree-opt/68964
3943         Revert:
3944         * tree.c (tm_define_builtin): New.
3945         (find_tm_vector_type): New.
3946         (build_tm_vector_builtins): New.
3947         (build_common_builtin_nodes): Call it.
3949 2016-01-20  Christophe Lyon  <christophe.lyon@linaro.org>
3951         * doc/sourcebuild.texi (arm_crypto_pragma_ok): Document new entry.
3952         (arm_fp_ok): Likewise.
3953         (arm_fp): Likewise.
3954         (arm_crypto): Likewise.
3956 2016-01-20  Ilya Enkovich  <enkovich.gnu@gmail.com>
3957             Richard Biener  <rguenther@suse.de>
3959         PR tree-optimization/69328
3960         * tree-vect-stmts.c (vect_is_simple_cond): Check compared
3961         vectors have same number of elements.
3962         (vectorizable_condition): Fix masked version recognition.
3964 2016-01-20  Richard Biener  <rguenther@suse.de>
3966         PR tree-optimization/69345
3967         * tree-ssa-sccvn.h (VN_INFO_RANGE_INFO): New inline function.
3968         (VN_INFO_PTR_INFO): Likewise.
3969         * tree-ssa-sccvn.c (set_ssa_val_to): Avoid clearing points-to
3970         info when it is equal between non-dominating SSA names.
3971         * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
3972         Make sure to look at original SSA infos.
3974 2016-01-20  Jeff Law  <law@redhat.com>
3976         PR target/25114
3977         * config/m68k/predicates.md (pow2_m1_operand): New predicate
3978         extracted from ...
3979         (reg_or_pow2_m1_operand): Call pow2_m1_operand.
3980         (pc_or_label_operand): New predicate.
3981         * config/m68k/m68k.md: Add new peephole2 patterns for GTU/LEU
3982         tests for small integers that are 2^n - 1.
3984 2016-01-20  Jonathan Wakely  <jwakely@redhat.com>
3986         * doc/invoke.texi (Options Summary): Add '.' after @xref.
3988 2016-01-19  Jeff Law  <law@redhat.com>
3990         PR middle-end/69347
3991         * tree-ssa-threadbackwards.c
3992         (fsm_find_control_statement_thread_paths): Do not try to lookup
3993         FSM paths for SSA_NAMEs appearing in abnormal PHIs.
3995 2016-01-20  Kugan Vivekanandarajah  <kuganv@linaro.org>
3997         * doc/lto.texi: Remove text that says only Gold has linker plugin
3998         support.
4000 2016-01-19  Eric Botcazou  <ebotcazou@adacore.com>
4002         * dwarf2out.c (need_endianity_attribute_p): New inline predicate.
4003         (base_type_die): Add REVERSE parameter and attach DW_AT_endianity to
4004         the DIE accordingly.
4005         (modified_type_die): Add REVERSE parameter and pass it recursively,
4006         as well as to base_type_die.  Adjust presence check accordingly.
4007         (base_type_for_mode): Adjust call to modified_type_die.
4008         (add_type_attribute): Add REVERSE parameter and pass it to
4009         modified_type_die.
4010         (generic_parameter_die): Adjust call to add_type_attribute.
4011         (add_scalar_info): Likewise.
4012         (add_subscript_info): Likewise.
4013         (gen_array_type_die): Likewise.
4014         (gen_descr_array_type_die): Likewise.
4015         (gen_entry_point_die): Likewise.
4016         (gen_enumeration_type_die): Likewise.
4017         (gen_formal_parameter_die): Likewise.
4018         (gen_subprogram_die): Likewise.
4019         (gen_variable_die ): Likewise.
4020         (gen_const_die): Likewise.
4021         (gen_field_die): Likewise.
4022         (gen_pointer_type_die): Likewise.
4023         (gen_reference_type_die): Likewise.
4024         (gen_ptr_to_mbr_type_die): Likewise.
4025         (gen_inheritance_die): Likewise.
4026         (gen_subroutine_type_die): Likewise.
4027         (gen_typedef_die): Likewise.
4028         (force_type_die): Adjust call to modified_type_die.
4030 2016-01-19  Sandra Loosemore  <sandra@codesourcery.com>
4032         * doc/standards.texi: Copy-editing for grammar, markup, and sentence
4033         flow throughout the file.  Fix broken link to Objective-C 2.0
4034         documentation.
4035         * doc/invoke.texi: More copy-editing; fix numerous typos and spelling
4036         errors.
4038 2016-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
4040         * ccmp.c (expand_ccmp_expr_1): Avoid spurious unused warnings.
4042 2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
4044         PR ipa/66223
4045         * ipa-devirt.c (is_cxa_pure_virtual_p): New function.
4046         (maybe_record_node): Record cxa_pure_virtual as the only possible
4047         target if there are not ohter candidates.
4048         (possible_polymorphic_call_target_p): Accept cxa_pure_virtual.
4050 2016-01-19  Richard Biener  <rguenther@suse.de>
4052         * hsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants.
4053         (get_memory_order): Likewise.
4055 2016-01-19  Kirill Yukhin  <kirill.yukhin@intel.com>
4057         * tree-vect-stmts.c (vectorizable_store): Check
4058         rhs vectype.
4060 2016-01-19  David Malcolm  <dmalcolm@redhat.com>
4062         PR jit/68446
4063         * gcc.c (driver::decode_argv): Add call to
4064         init_opts_obstack before init_options_struct.
4065         * opts.c (init_opts_obstack): Remove idempotency.
4066         (init_options_struct): Replace call to init_opts_obstack
4067         with a gcc_assert to verify that it has already been called.
4068         * toplev.c (toplev::main): Add call to init_opts_obstack before
4069         calls to init_options_struct.
4070         (toplev::finalize): Move cleanup of opts_obstack next to
4071         cleanup of save_decoded_options, clearing the latter, and
4072         save_decoded_options_count.
4074 2016-01-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4076         PR target/69135
4077         * config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Set "conds"
4078         attribute to unconditional.  Remove %? from output template.
4080 2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
4081             Jiong Wang  <jiong.wang@arm.com>
4083         * ccmp.c (expand_ccmp_expr_1): Cost the instruction sequences
4084         generated from different expand order.
4086 2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
4088         * /config/aarch64/aarch64.c (aarch64_if_then_else_costs):
4089         Add support for CCMP costing.
4091 2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
4093         * ccmp.c (ccmp_candidate_p): Remove integer-only restriction.
4094         * config/aarch64/aarch64.md (fccmp<mode>): New pattern.
4095         (fccmpe<mode>): Likewise.
4096         (fcmp): Rename to fcmp and globalize pattern.
4097         (fcmpe): Likewise.
4098         * config/aarch64/aarch64.c (aarch64_gen_ccmp_first): Add FP support.
4099         (aarch64_gen_ccmp_next): Add FP support.
4101 2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
4103         * target.def (gen_ccmp_first): Update documentation.
4104         (gen_ccmp_next): Likewise.
4105         * doc/tm.texi (gen_ccmp_first): Update documentation.
4106         (gen_ccmp_next): Likewise.
4107         * ccmp.c (expand_ccmp_expr): Extract cmp_code from return value of
4108         expand_ccmp_expr_1.  Improve comments.
4109         * config/aarch64/aarch64.md (ccmp_and): Use if_then_else for ccmp.
4110         (ccmp_ior<mode>): Remove pattern.
4111         (cmp<mode>): Remove expand.
4112         (cmp): Globalize pattern.
4113         (cstorecc4): Use cc_register.
4114         (mov<mode>cc): Remove ccmp_cc_register check.
4115         * config/aarch64/aarch64.c (aarch64_get_condition_code_1):
4116         Simplify after removal of CC_DNE/* modes.
4117         (aarch64_ccmp_mode_to_code): Remove.
4118         (aarch64_print_operand): Remove 'K' case.  Merge 'm' and 'M' cases.
4119         In 'k' case use integer as condition.
4120         (aarch64_nzcv_codes): Remove inverted cases.
4121         (aarch64_code_to_ccmode): Remove.
4122         (aarch64_gen_ccmp_first): Use cmp pattern directly.  Return the correct
4123         comparison with CC register to be used in folowing CCMP/branch/CSEL.
4124         (aarch64_gen_ccmp_next): Use previous comparison and mode in CCMP
4125         pattern.  Return the comparison with CC register.  Invert conditions
4126         when bitcode is OR.
4127         * config/aarch64/aarch64-modes.def: Remove CC_DNE/* modes.
4128         * config/aarch64/predicates.md (ccmp_cc_register): Remove.
4130 2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
4132         * cgraphunit.c (cgraph_node::reset): Clear thunk info and
4133         instrumented_version.
4135 2016-01-19  Richard Biener  <rguenther@suse.de>
4137         PR tree-optimization/69336
4138         * tree-ssa-scopedtables.c (avail_expr_hash): Handle all
4139         handled components with get_ref_base_and_extent.
4140         (equal_mem_array_ref_p): Adjust.
4142 2016-01-19  Jakub Jelinek  <jakub@redhat.com>
4144         PR debug/65779
4145         * shrink-wrap.c: Include valtrack.h.
4146         (move_insn_for_shrink_wrap): Add DEBUG argument.  If
4147         MAY_HAVE_DEBUG_INSNS, call dead_debug_add on DEBUG_INSNs
4148         in between insn and where it will be moved to.  Call
4149         dead_debug_insert_temp.
4150         (prepare_shrink_wrap): Adjust caller.  Call dead_debug_local_init
4151         first and dead_debug_local_finish at the end.
4152         For uses and defs bitmap, handle all regs in between REGNO and
4153         END_REGNO, not just the first one.
4155 2016-01-19  Richard Biener  <rguenther@suse.de>
4157         PR tree-optimization/69352
4158         * tree-ssa-scopedtables.c (avail_expr_hash): Check for size == -1.
4159         (equal_mem_array_ref_p): Constrain size and max size properly.
4160         Compare the reverse flag.
4162 2016-01-19  Bernd Schmidt  <bschmidt@redhat.com>
4164         * ira.c (ira): Update regstat data if we deleted insns.
4166 2016-01-19  Jakub Jelinek  <jakub@redhat.com>
4168         PR rtl-optimization/68955
4169         PR rtl-optimization/64557
4170         * dse.c (record_store, check_mem_read_rtx): Don't call get_addr
4171         here.  Fix up formatting.
4172         * alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P.
4174 2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
4176         PR lto/69133
4177         * cgraphunit.c (cgraph_node::expand_thunk): When forcing gimple
4178         assume that the node has body.
4179         * cgraph.c (cgraph_node::get_untransformed_body): Use gimple_body_p
4180         check.
4182 2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
4184         * lto-streamer-out.c (lto_output): Do not stream instrumentation
4185         thunks.
4187 2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
4189         * symtab.c (symtab_node::asm_name): Do not call printable name directly.
4190         (symtab_node::name): Report name as unnamed if DECL_NAME is not set.
4192 2016-01-19  Martin Jambor  <mjambor@suse.cz>
4193             Martin Liska  <mliska@suse.cz>
4194             Michael Matz  <matz@suse.de>
4196         * Makefile.in (OBJS): Add new source files.
4197         (GTFILES): Add hsa.c.
4198         * common.opt (disable_hsa): New variable.
4199         (-Whsa): New warning.
4200         * config.in (ENABLE_HSA): New.
4201         * configure.ac: Treat hsa differently from other accelerators.
4202         (OFFLOAD_TARGETS): Define ENABLE_OFFLOADING according to
4203         $enable_offloading.
4204         (ENABLE_HSA): Define ENABLE_HSA according to $enable_hsa.
4205         * doc/install.texi (Configuration): Document --with-hsa-runtime,
4206         --with-hsa-runtime-include, --with-hsa-runtime-lib and
4207         --with-hsa-kmt-lib.
4208         * doc/invoke.texi (-Whsa): Document.
4209         (hsa-gen-debug-stores): Likewise.
4210         * lto-wrapper.c (compile_images_for_offload_targets): Do not attempt
4211         to invoke offload compiler for hsa acclerator.
4212         * opts.c (common_handle_option): Determine whether HSA offloading
4213         should be performed.
4214         * params.def (PARAM_HSA_GEN_DEBUG_STORES): New parameter.
4215         * builtin-types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
4216         (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
4217         (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
4218         * gimple-low.c (lower_stmt): Also handle GIMPLE_OMP_GRID_BODY.
4219         * gimple-pretty-print.c (dump_gimple_omp_for): Also handle
4220         GF_OMP_FOR_KIND_GRID_LOOP.
4221         (dump_gimple_omp_block): Also handle GIMPLE_OMP_GRID_BODY.
4222         (pp_gimple_stmt_1): Likewise.
4223         * gimple-walk.c (walk_gimple_stmt): Likewise.
4224         * gimple.c (gimple_build_omp_grid_body): New function.
4225         (gimple_copy): Also handle GIMPLE_OMP_GRID_BODY.
4226         * gimple.def (GIMPLE_OMP_GRID_BODY): New.
4227         * gimple.h (enum gf_mask): Added GF_OMP_PARALLEL_GRID_PHONY,
4228         GF_OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY and
4229         GF_OMP_TEAMS_GRID_PHONY.
4230         (gimple_statement_omp_single_layout): Updated comments.
4231         (gimple_build_omp_grid_body): New function.
4232         (gimple_has_substatements): Also handle GIMPLE_OMP_GRID_BODY.
4233         (gimple_omp_for_grid_phony): New function.
4234         (gimple_omp_for_set_grid_phony): Likewise.
4235         (gimple_omp_parallel_grid_phony): Likewise.
4236         (gimple_omp_parallel_set_grid_phony): Likewise.
4237         (gimple_omp_teams_grid_phony): Likewise.
4238         (gimple_omp_teams_set_grid_phony): Likewise.
4239         (gimple_return_set_retbnd): Also handle GIMPLE_OMP_GRID_BODY.
4240         * omp-builtins.def (BUILT_IN_GOMP_OFFLOAD_REGISTER): New.
4241         (BUILT_IN_GOMP_OFFLOAD_UNREGISTER): Likewise.
4242         (BUILT_IN_GOMP_TARGET): Updated type.
4243         * omp-low.c: Include symbol-summary.h, hsa.h and params.h.
4244         (adjust_for_condition): New function.
4245         (get_omp_for_step_from_incr): Likewise.
4246         (extract_omp_for_data): Moved parts to adjust_for_condition and
4247         get_omp_for_step_from_incr.
4248         (build_outer_var_ref): Handle GIMPLE_OMP_GRID_BODY.
4249         (fixup_child_record_type): Bail out if receiver_decl is NULL.
4250         (scan_sharing_clauses): Handle OMP_CLAUSE__GRIDDIM_.
4251         (scan_omp_parallel): Do not create child functions for phony
4252         constructs.
4253         (check_omp_nesting_restrictions): Handle GIMPLE_OMP_GRID_BODY.
4254         (scan_omp_1_op): Checking assert we are not remapping to
4255         ERROR_MARK.  Also also handle GIMPLE_OMP_GRID_BODY.
4256         (parallel_needs_hsa_kernel_p): New function.
4257         (expand_parallel_call): Register apprpriate parallel child
4258         functions as HSA kernels.
4259         (grid_launch_attributes_trees): New type.
4260         (grid_attr_trees): New variable.
4261         (grid_create_kernel_launch_attr_types): New function.
4262         (grid_insert_store_range_dim): Likewise.
4263         (grid_get_kernel_launch_attributes): Likewise.
4264         (get_target_argument_identifier_1): Likewise.
4265         (get_target_argument_identifier): Likewise.
4266         (get_target_argument_value): Likewise.
4267         (push_target_argument_according_to_value): Likewise.
4268         (get_target_arguments): Likewise.
4269         (expand_omp_target): Call get_target_arguments instead of looking
4270         up for teams and thread limit.
4271         (grid_expand_omp_for_loop): New function.
4272         (grid_arg_decl_map): New type.
4273         (grid_remap_kernel_arg_accesses): New function.
4274         (grid_expand_target_kernel_body): New function.
4275         (expand_omp): Call it.
4276         (lower_omp_for): Do not emit phony constructs.
4277         (lower_omp_taskreg): Do not emit phony constructs but create for them
4278         a temporary variable receiver_decl.
4279         (lower_omp_taskreg): Do not emit phony constructs.
4280         (lower_omp_teams): Likewise.
4281         (lower_omp_grid_body): New function.
4282         (lower_omp_1): Call it.
4283         (grid_reg_assignment_to_local_var_p): New function.
4284         (grid_seq_only_contains_local_assignments): Likewise.
4285         (grid_find_single_omp_among_assignments_1): Likewise.
4286         (grid_find_single_omp_among_assignments): Likewise.
4287         (grid_find_ungridifiable_statement): Likewise.
4288         (grid_target_follows_gridifiable_pattern): Likewise.
4289         (grid_remap_prebody_decls): Likewise.
4290         (grid_copy_leading_local_assignments): Likewise.
4291         (grid_process_kernel_body_copy): Likewise.
4292         (grid_attempt_target_gridification): Likewise.
4293         (grid_gridify_all_targets_stmt): Likewise.
4294         (grid_gridify_all_targets): Likewise.
4295         (execute_lower_omp): Call grid_gridify_all_targets.
4296         (make_gimple_omp_edges): Handle GIMPLE_OMP_GRID_BODY.
4297         * tree-core.h (omp_clause_code): Added OMP_CLAUSE__GRIDDIM_.
4298         (tree_omp_clause): Added union field dimension.
4299         * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__GRIDDIM_.
4300         * tree.c (omp_clause_num_ops): Added number of arguments of
4301         OMP_CLAUSE__GRIDDIM_.
4302         (omp_clause_code_name): Added name of OMP_CLAUSE__GRIDDIM_.
4303         (walk_tree_1): Handle OMP_CLAUSE__GRIDDIM_.
4304         * tree.h (OMP_CLAUSE_GRIDDIM_DIMENSION): New.
4305         (OMP_CLAUSE_SET_GRIDDIM_DIMENSION): Likewise.
4306         (OMP_CLAUSE_GRIDDIM_SIZE): Likewise.
4307         (OMP_CLAUSE_GRIDDIM_GROUP): Likewise.
4308         * passes.def: Schedule pass_ipa_hsa and pass_gen_hsail.
4309         * tree-pass.h (make_pass_gen_hsail): Declare.
4310         (make_pass_ipa_hsa): Likewise.
4311         * ipa-hsa.c: New file.
4312         * lto-section-in.c (lto_section_name): Add hsa section name.
4313         * lto-streamer.h (lto_section_type): Add hsa section.
4314         * timevar.def (TV_IPA_HSA): New.
4315         * hsa-brig-format.h: New file.
4316         * hsa-brig.c: New file.
4317         * hsa-dump.c: Likewise.
4318         * hsa-gen.c: Likewise.
4319         * hsa.c: Likewise.
4320         * hsa.h: Likewise.
4321         * toplev.c (compile_file): Call hsa_output_brig.
4322         * hsa-regalloc.c: New file.
4324 2016-01-18  Jeff Law  <law@redhat.com>
4326         PR tree-optimization/69320
4327         * tree-ssa-dom.c (record_edge_info): For comparisons against a boolean
4328         ranged object, do nothing if the RHS constant is not [0..1].
4329         (optimize_stmt): Comparing a boolean ranged object against a
4330         constant outside [0..1] results in a compile-time constant.
4332         * tree-ssanames.c (ssa_name_has_boolean_range): Remove unnecessary
4333         test.
4335 2016-01-18  Sandra Loosemore  <sandra@codesourcery.com>
4337         * doc/invoke.texi (Invoking GCC): Add new section to menu.
4338         (Option Summary): Update to reflect new section and moved options.
4339         (C++ Dialect Options): Move -fstats to new section.
4340         (Debugging Options): Move all dump, statistics, and other GCC
4341         developer options to new section.  Rewrite section introduction
4342         and re-order remaining options to put the more basic ones first.
4343         (Optimization Options): Move -fira-verbose and -flto-report* to
4344         new section.
4345         (Developer Options): New section incorporating moved options.
4346         * doc/cppopts.texi (-dM): Update cross-reference.
4348 2016-01-18  Richard Henderson  <rth@redhat.com>
4350         PR target/69176
4351         * config/aarch64/aarch64.md (add<GPI>3): Move long immediate
4352         operands to pseudo only if CSE is expected.  Split long immediate
4353         operands only after reload, and for the stack pointer.
4354         (*add<GPI>3_pluslong): Remove.
4355         (*addsi3_aarch64, *adddi3_aarch64): Merge into...
4356         (*add<GPI>3_aarch64): ... here.  Add r/rk/Upl alternative.
4357         (*addsi3_aarch64_uxtw): Add r/rk/Upl alternative.
4358         (*add<GPI>3 peepholes): New.
4359         (*add<GPI>3 splitters): New.
4360         * config/aarch64/constraints.md (Upl): New.
4361         * config/aarch64/predicates.md (aarch64_pluslong_strict_immedate): New.
4363 2016-01-18  Richard Biener  <rguenther@suse.de>
4365         PR tree-optimization/69297
4366         * tree-vect-slp.c (vect_bb_slp_scalar_cost): Count each scalar
4367         stmt at most once.
4368         (vect_bb_vectorization_profitable_p): Clear visited flag again.
4370 2016-01-18  Yuri Rumyantsev  <ysrumyan@gmail.com>
4372         PR middle-end/68542
4373         * fold-const.c (fold_binary_op_with_conditional_arg): Bail out for case
4374         of mixind vector and scalar types.
4375         (fold_relational_const): Add handling of vector
4376         comparison with boolean result.
4377         * tree-cfg.c (verify_gimple_comparison): Add argument CODE, allow
4378         comparison of vector operands with boolean result for EQ/NE only.
4379         (verify_gimple_assign_binary): Adjust call for verify_gimple_comparison.
4380         (verify_gimple_cond): Likewise.
4381         * tree-vrp.c (extract_code_and_val_from_cond_with_ops): Modify check on
4382         valid type of VAL.
4384 2016-01-18  Joseph Myers  <joseph@codesourcery.com>
4386         * config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): Require
4387         !TARGET_OCTEON.
4389 2016-01-18  Richard Biener  <rguenther@suse.de>
4391         PR middle-end/69308
4392         * gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND.
4394 2016-01-18  Tom de Vries  <tom@codesourcery.com>
4396         * passes.def: Add pass_parallelize_loops to pass_oacc_kernels.
4398 2016-01-18  Tom de Vries  <tom@codesourcery.com>
4400         * omp-low.c (set_oacc_fn_attrib): Make extern.
4401         * omp-low.h (set_oacc_fn_attrib): Declare.
4402         * tree-parloops.c (struct reduction_info): Add reduc_addr field.
4403         (create_call_for_reduction_1): Handle case that reduc_addr is non-NULL.
4404         (create_parallel_loop, gen_parallel_loop, try_create_reduction_list):
4405         Add and handle function parameter oacc_kernels_p.
4406         (find_reduc_addr, get_omp_data_i_param): New function.
4407         (ref_conflicts_with_region, oacc_entry_exit_ok_1)
4408         (oacc_entry_exit_single_gang, oacc_entry_exit_ok): New function.
4409         (parallelize_loops): Add and handle function parameter oacc_kernels_p.
4410         Calculate dominance info.  Skip loops that are not in a kernels region
4411         in oacc_kernels_p mode.  Skip inner loops of parallelized loops.
4412         (pass_parallelize_loops::execute): Call parallelize_loops with
4413         oacc_kernels_p argument.
4414         (pass_parallelize_loops::clone, pass_parallelize_loops::set_pass_param):
4415         New member function.
4416         (pass_parallelize_loops::bool oacc_kernels_p): New member var.
4417         * passes.def: Add argument to pass_parallelize_loops instantation.
4419 2016-01-18  Tom de Vries  <tom@codesourcery.com>
4421         * tree-parloops.c (pass_parallelize_loops::execute): Allow
4422         pass_parallelize_loops to be run outside the loop pipeline.
4424 2016-01-18  Alan Lawrence  <alan.lawrence@arm.com>
4426         * tree-scalar-evolution.c (follow_copies_to_constant): New.
4427         (analyze_initial_condition, analyze_scalar_evolution_1): Call previous.
4429 2016-01-18  Alan Lawrence  <alan.lawrence@arm.com>
4431         PR target/63679
4432         * tree-ssa-scopedtables.c (avail_expr_hash): Hash MEM_REF and ARRAY_REF
4433         using get_ref_base_and_extent.
4434         (equal_mem_array_ref_p): New.
4435         (hashable_expr_equal_p): Add call to previous.
4437 2016-01-18  Alan Lawrence  <alan.lawrence@arm.com>
4439         PR target/63679
4440         * tree-sra.c (disqualified_constants, constant_decl_p): New.
4441         (sra_initialize): Allocate disqualified_constants.
4442         (sra_deinitialize): Free disqualified_constants.
4443         (disqualify_candidate): Update disqualified_constants when appropriate.
4444         (create_access): Scan for constant-pool entries as we go along.
4445         (scalarizable_type_p): Add check against type_contains_placeholder_p.
4446         (maybe_add_sra_candidate): Allow constant-pool entries.
4447         (load_assign_lhs_subreplacements): Bind debug for constant pool vars.
4448         (initialize_constant_pool_replacements): New.
4449         (sra_modify_assign): Avoid mangling assignments created by previous,
4450         and don't generate writes into constant pool.
4451         (sra_modify_function_body): Call initialize_constant_pool_replacements.
4453 2016-01-18  Ilya Enkovich  <enkovich.gnu@gmail.com>
4455         * config/i386/i386.c (scalar_to_vector_candidate_p): Support
4456         andnot instruction.
4457         (scalar_chain::convert_op): Likewise.
4458         * config/i386/i386.md (*andndi3_doubleword): New.
4460 2016-01-18  Richard Biener  <rguenther@suse.de>
4462         PR tree-optimization/69170
4463         * tree-vect-slp.c (vect_build_slp_tree): Verify we are not
4464         building a vector from scalar results of a pattern stmt.
4466 2016-01-18  Jakub Jelinek  <jakub@redhat.com>
4468         * haifa-sched.c (autopref_multipass_init): Work around
4469         -Wmaybe-uninitialized warning.
4471 2016-01-18  Thomas Preud'homme  <thomas.preudhomme@arm.com>
4473         * config/arm/arm.c (thumb1_reorg): Check that the comparison is
4474         against the constant 0.
4476 2016-01-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4478         PR tree-optimization/68799
4479         * gimple-ssa-strength-reduction.c (create_phi_basis): Directly
4480         look up phi candidates in the statement-candidate map.
4481         (phi_add_costs): Likewise.
4482         (record_phi_increments): Likewise.
4483         (phi_incr_cost): Likewise.
4484         (ncd_with_phi): Likewise.
4485         (all_phi_incrs_profitable): Likewise.
4487 2016-01-17  Jakub Jelinek  <jakub@redhat.com>
4489         * omp-low.c (mark_loops_in_oacc_kernels_region): Work around
4490         -Wmaybe-uninitialized warning.
4492 2016-01-16  Sandra Loosemore  <sandra@codesourcery.com>
4494         * doc/invoke.texi (Invoking GCC): Add new section to menu.
4495         (Option Summary): Update to reflect new section and moved options.
4496         (C++ Dialect Options): Move -fvtable-verify and related options.
4497         (Debugging Options): Move Sanitizer, Pointer Bounds Checker,
4498         and profiling-related options.
4499         (Optimization Options): Move profile generation options and
4500         -fstack-protector and related options.
4501         (Instrumentation Options): New section incorporating moved options.
4502         (Code Generation Options): Move -finstrument-functions and
4503         related options, -fstack-check, -fstack-limit*, and -fbounds-check.
4505 2016-01-16  Tom de Vries  <tom@codesourcery.com>
4507         * passes.def: Move pass_expand_omp_ssa out of pass_parallelize_loops.
4509 2016-01-16  Tom de Vries  <tom@codesourcery.com>
4511         * omp-low.c (expand_omp_atomic_fetch_op):  Release defs of update stmt.
4513 2016-01-16  Richard Sandiford  <richard.sandiford@arm.com>
4515         * hash-table.h (hash_table::empty): Turn into an inline wrapper
4516         that checks whether the table is already empty.  Rename the
4517         original implementation to...
4518         (hash_table::empty_slot): ...this new private function.
4520 2016-01-15  David Malcolm  <dmalcolm@redhat.com>
4522         PR diagnostic/68899
4523         * diagnostic-show-locus.c (layout::print_source_line): Move x
4524         offset of line until after call to
4525         get_line_width_without_trailing_whitespace.
4527 2016-01-15  Jeff Law  <law@redhat.com>
4529         PR tree-optimization/69270
4530         * tree-ssanames.c (ssa_name_has_boolean_range): Moved here from
4531         tree-ssa-dom.c.  Improve test for [0..1] ranve from VRP.
4532         * tree-ssa-dom.c (ssa_name_has_boolean_range): Remove.
4533         * tree-ssanames.h (ssa_name_has_boolean_range): Prototype.
4534         * tree-ssa-uncprop.c (associate_equivalences_with_edges): Use
4535         ssa_name_has_boolean_range and constant_boolean_node.
4537 2016-01-15  Vladimir Makarov  <vmakarov@redhat.com>
4539         PR rtl-optimization/69030
4540         * lra-spills.c (remove_pseudos): Check nrefs and make the function
4541         returning bool.
4542         (spill_pseudos): Delete debug insn for dead pseudo.
4543         (lra_spill): Initiate spill_hard_reg and slots memory separately.
4545 2016-01-15  Jiong Wang  <jiong.wang@arm.com>
4547         * config/aarch64/aarch64-builtins.c (aarch64_types_unopus_qualifiers):
4548         New.
4549         (TYPES_UNOPUS): Likewise.
4550         * config/aarch64/aarch64-simd-builtins.def (lbtruncuv2sf): Correct
4551         builtin type, from UNOP to UNOPUS.
4552         (lbtruncuv4sf): Likewise.
4553         (lbtruncuv2df): Likewise.
4554         (lrounduv2sf): Likewise.
4555         (lrounduv4sf): Likewise.
4556         (lrounduv2df): Likewise.
4557         (lroundusf): Likewise.
4558         (lroundusf): Likewise.
4559         (lceiluv2sf): Likewise.
4560         (lceiluv4sf): Likewise.
4561         (lceiluv2df): Likewise.
4562         (lceilusf): Likewise.
4563         (lceiludf): Likewise.
4564         (lflooruv2sf): Likewise.
4565         (lflooruv4sf): Likewise.
4566         (lflooruv2df): Likewise.
4567         (lfloorusf): Likewise.
4568         (lfloorudf): Likewise.
4569         (lfrintnuv2sf): Likewise.
4570         (lfrintnuv4sf): Likewise.
4571         (lfrintnuv2df): Likewise.
4572         (lfrintnusf): Likewise.
4573         (lfrintnudf): Likewise.
4574         * config/aarch64/arm_neon.h (vcvt_u32_f32): Remove unncessary type
4575         conversion.
4576         (vcvtq_u32_f32): Likewise.
4577         (vcvtq_u64_f64): Likewise.
4578         (vcvta_u32_f32): Likewise.
4579         (vcvtaq_u32_f32): Likewise.
4580         (vcvtaq_u64_f64): Likewise.
4581         (vcvtm_u32_f32): Likewise.
4582         (vcvtmq_u32_f32): Likewise.
4583         (vcvtmq_u64_f64): Likewise.
4584         (vcvtn_u32_f32): Likwise.
4585         (vcvtnq_u32_f32): Likewise.
4586         (vcvtnq_u64_f64): Likewise.
4587         (vcvtp_u32_f32): Likewise.
4588         (vcvtpq_u32_f32): Likewise.
4589         (vcvtpq_u64_f64): Likewise.
4590         (vcvtmd_u64_f64): Likewise.
4591         (vcvtms_u32_f32): Likewise.
4592         (vcvtad_u64_f64): Likewise.
4593         (vcvtas_u32_f32): Likewise.
4594         (vcvtnd_u64_f64): Likewise.
4595         (vcvtns_u32_f32): Likewise.
4596         (vcvtpd_u64_f64): Likewise.
4597         (vcvtps_u32_f32): Likewise.
4599 2016-01-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4601         * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Handle
4602         CSEL of zero_extended registers.
4604 2016-01-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4606         * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
4607         Handle COMPARE of ZERO_EXTRACT against zero form of TST-immediate.
4609 2016-01-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4611         * config/aarch64/aarch64.c (aarch64_process_one_target_attr): Return
4612         false when argument string is not found in the attributes table
4613         at all.
4615 2016-01-15  David Edelsohn  <dje.gcc@gmail.com>
4617         PR target/68609
4618         * config/rs6000/rs6000.c (rs6000_emit_msub): Delete.
4619         (rs6000_emit_swsqrt): Convert to Goldschmidt's Algorithm
4620         * config/rs6000/rs6000.md (sqrt<mode>2): Limit swsqrt to high
4621         precision estimate.
4623 2016-01-15  Richard Biener  <rguenther@suse.de>
4625         PR tree-optimization/66856
4626         * tree-vect-loop.c (vect_transform_loop): Free SLP instances here.
4627         * tree-vect-slp.c (vect_free_slp_tree): Decrement stmt reference count.
4628         (vect_create_new_slp_node): Increment stmt reference count.
4629         (vect_get_and_check_slp_defs): Make sure stmts are nor already in
4630         an SLP tree before swapping operands.
4631         (vect_build_slp_tree): Likewise.
4632         (destroy_bb_vec_info): Free stmt info after SLP instances.
4633         * tree-vect-stmts.c (new_stmt_vec_info): Initialize reference count.
4634         * tree-vectorizer.h (struct _stmt_vec_info): Add num_slp_uses field.
4635         (STMT_VINFO_NUM_SLP_USES): New macro.
4637 2016-01-15  Richard Biener  <rguenther@suse.de>
4639         PR debug/69137
4640         * dwarf2out.c (add_linkage_name_raw): New function split out from ...
4641         (add_linkage_name): ... here.
4642         (gen_typedef_die): Use add_linkage_name_raw instead of
4643         add_linkage_attr to delay DECL_ASSEMBLER_NAME computation
4644         if necessary.
4646 2016-01-15  Cesar Philippidis  <cesar@codesourcery.com>
4648         * gimplify.c (oacc_default_clause): Decode reference and pointer
4649         types for both kernels and parallel regions.
4651 2016-01-15  Richard Sandiford  <richard.sandiford@arm.com>
4653         PR middle-end/69246
4654         * calls.c (emit_call_1): Force n_popped to zero for sibcalls.
4656 2016-01-15  Ilya Enkovich  <enkovich.gnu@gmail.com>
4658         * config/i386/i386.c (scalar_chain::compute_convert_gain): Fix typo.
4659         (convert_scalars_to_vector): Likewise.
4661 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
4663         * doc/extend.texi (Type Traits): Fix grammar.
4665 2016-01-15  Martin Jambor  <mjambor@suse.cz>
4667         * tree-inline.c (remap_decl): Use existing dclarations if
4668         remapping a type and prevent_decl_creation_for_types.
4669         (replace_locals_stmt): Do an initial remapping of non-VLA typed
4670         decls first.  Do real remapping with
4671         prevent_decl_creation_for_types set.
4672         * tree-inline.h (copy_body_data): New field
4673         prevent_decl_creation_for_types, moved remap_var_for_cilk to avoid
4674         padding.
4676 2016-01-15  Dominik Vogt  <vogt@linux.vnet.ibm.com>
4678         * config/s390/s390.opt (mmvcle): More verbose help text.
4680 2016-01-15  Dominik Vogt  <vogt@linux.vnet.ibm.com>
4682         * config/s390/s390.opt: Add period to -mzvector option text.
4684 2016-01-15  Richard Biener  <rguenther@suse.de>
4686         PR tree-optimization/68961
4687         * tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost
4688         of invariants in stores again.
4690 2016-01-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4692         * config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib.
4694 2016-01-15  Ilya Enkovich  <enkovich.gnu@gmail.com>
4696         * config/i386/i386.c (ix86_expand_branch): Don't split
4697         DI mode xor instruction to SI mode.
4699 2016-01-15  Jan Hubicka  <hubicka@ucw.cz>
4701         PR ipa/68148
4702         * ipa-icf.c (sem_function::merge): Virtual functions may become
4703         reachable even if they address is not taken and there are no
4704         idrect calls.
4706 2016-01-15  Jan Hubicka  <hubicka@ucw.cz>
4708         * lto-streamer-out.c (subtract_estimated_size): New function.
4709         (get_symbol_initial_value): Use it.
4711 2016-01-15  Christian Bruel  <christian.bruel@st.com>
4713         PR target/65837
4714         * config/arm/arm-builtins.c (ARM_BUILTIN_CRYPTO_BASE): New enum tag.
4715         (arm_init_neon_builtins_internal): Rename arm_init_neon_builtins,
4716         (arm_init_crypto_builtins_internal): Rename arm_init_crypto_builtins.
4717         use add_builtin_function_ext_scope instead of add_builtin_function.
4718         (neon_set_p, neon_crypto_set_p): Remove.
4719         (arm_init_builtins): Always call arm_init_neon_builtins and
4720         arm_init_crypto_builtins.
4721         (arm_expand_builtin): Check that builtins are allowed for the arch.
4722         * config/arm/arm-protos.h (arm_init_neon_builtins): Remove prototype.
4723         * config/arm/arm.c (arm_valid_target_attribute_tree): Remove
4724         arm_init_neon_builtins call.
4726 2016-01-15  Richard Biener  <rguenther@suse.de>
4728         PR tree-optimization/69117
4729         * tree-ssa-sccvn.h (struct vn_ssa_aux): Add info member.
4730         * tree-ssa-sccvn.c (set_ssa_val_to): Save and adjust SSA name info
4731         of the leader conservatively.
4732         (free_scc_vn): Restore original SSA name infos.
4734 2016-01-14  Jeff Law  <law@redhat.com>
4736         PR tree-optimization/69270
4737         * tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a
4738         single bit of precision, verify it's also unsigned.
4739         (record_edge_info): Use constant_boolean_node rather than fold_convert
4740         to convert boolean_true/boolean_false to the right type.
4742 2016-01-14  Richard Henderson  <rth@redhat.com>
4744         PR rtl-opt/69014
4745         * loop-doloop.c (record_reg_sets): New.
4746         (doloop_optimize): Reject the transform if the sequence
4747         clobbers registers live at the end of the loop block.
4748         (doloop_optimize_loops): Enable df_live if needed.
4750 2016-01-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
4752         * config/rs6000/rs6000-builtin.def: Revert 2016-01-13 change.
4753         * gcc/config/rs6000/rs6000.c: Likewise.
4754         * gcc/config/rs6000/rs6000.h: Likewise.
4755         * gcc/config/rs6000/rs6000.md: Likewise.
4756         * gcc/doc/extend.texi: Likewsie.
4758 2016-01-14  Jeff Law  <law@redhat.com>
4760         * tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment
4761         typo.
4763 2016-01-14  Richard Henderson  <rth@redhat.com>
4765         PR c/69272
4766         PR tree-opt/68964
4767         * trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size.
4768         * tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p
4769         instead of builtin_decl_declared_p to test for declaration.
4771 2016-01-14  Nicklas Bo Jensen  <nbjensen@gmail.com>
4773         * doc/loop.texi (Loop Analysis and Representation): Document
4774         loop_depth function.
4776 2016-01-14  Tom de Vries  <tom@codesourcery.com>
4778         PR tree-optimization/68773
4779         * omp-low.c (expand_omp_target): Don't set force_output.
4780         * varpool.c (varpool_node::get_create): Same.
4781         * lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and
4782         offload_funcs with force_output.
4784 2016-01-14  Jakub Jelinek  <jakub@redhat.com>
4786         PR debug/69244
4787         * lra-eliminations.c (move_plus_up): Don't change anything if either
4788         the outer or inner subreg mode is not MODE_INT.
4789         * dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is
4790         integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards.
4792 2016-01-14  Alan Lawrence  <alan.lawrence@arm.com>
4794         * doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m},
4795         reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m},
4796         reduc_uplus_@var{m}): Remove.
4797         * expr.c (expand_expr_real_2): Remove expansion path for
4798         reduc_[us](min|max|plus) optabs.
4799         * optabs-tree.c (scalar_reduc_to_vector): Remove.
4800         * optabs-tree.h (scalar_reduc_to_vector): Remove.
4801         * optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab,
4802         reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove.
4803         * tree-vect-loop.c (vectorizable_reduction): Remove test for
4804         reduc_[us](min|max|plus) optabs.
4806 2016-01-14  Alan Lawrence  <alan.lawrence@arm.com>
4808         * config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove.
4809         (reduc_plus_scal_v2sf): New.
4810         (reduc_smax_v2sf): Rename to...
4811         (reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract.
4812         (reduc_smin_v2sf): Rename to...
4813         (reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract.
4815 2016-01-14  Jan Hubicka  <hubicka@ucw.cz>
4817         * alias.c (compare_base_symbol_refs): New function.
4818         (rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use
4819         it.
4821 2016-01-14  Jakub Jelinek  <jakub@redhat.com>
4823         PR middle-end/68146
4824         PR tree-optimization/69155
4825         * tree-complex.c: Include cfganal.h.
4826         (phis_to_revisit): New variable.
4827         (extract_component): Add phiarg_p argument.  Assert that returned
4828         SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true.
4829         (update_phi_components): Partly rewrite to use loop over real/imag
4830         components instead of code duplication.  If extract_component returns
4831         SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or
4832         create_tmp_reg into the PHI node instead, and mention the phi triplet
4833         in phis_to_revisit.
4834         (tree_lower_complex): Walk bbs in rpo order.  Adjust phis recorded
4835         in phis_to_revisit at the end.
4837 2016-01-14  Richard Biener  <rguenther@suse.de>
4839         PR tree-optimization/68060
4840         * tree-vect-loop.c (vect_is_simple_reduction): Check the
4841         outer loop reduction is only used in the inner loop before
4842         detecting a double reduction.
4844 2016-01-14  Jakub Jelinek  <jakub@redhat.com>
4846         PR target/68269
4847         * combine.c (expand_field_assignment): Punt if compute_mode is
4848         unsupported scalar mode.
4850 2016-01-14  Richard Biener  <rguenther@suse.de>
4852         PR tree-optimization/66856
4853         * tree-vect-slp.c (vect_build_slp_tree): Refactor to build
4854         SLP node only if it built successfully.
4855         (vect_analyze_slp_instance): Adjust.
4857 2016-01-14  Jeff Law  <law@redhat.com>
4859         PR tree-optimization/69270
4860         * tree-ssa-dom.c (ssa_name_has_boolean_range): New function.
4861         (record_edge_info): Use it.  Convert boolean_{true,false}_node
4862         to the type of op0.
4864 2016-01-13  Jan Hubicka  <hubicka@ucw.cz>
4866         PR ipa/66487
4867         * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p):
4868         use block_ultimate_origin
4869         (noncall-stmt_may_be_vtbl_ptr_store): Likewise.
4871 2016-01-13  Sandra Loosemore  <sandra@codesourcery.com>
4873         * doc/invoke.texi (Submodel Options): Rename section to
4874         "Machine-Dependent Options" to better reflect its content.
4875         Rewrite introductory text to remove archaic CPU names.
4876         Update references.
4878 2016-01-13  Sandra Loosemore  <sandra@codesourcery.com>
4880         * doc/invoke.texi (Code Gen Options): Move section up in file,
4881         before target-specific options.  Update menu and option summary
4882         to reflect the new section ordering.
4884 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
4886         * doc/invoke.texi (C Dialect Options): Adjust -std default for C++.
4887         (C++ Dialect Options): Add cross-reference to -std option.
4888         * doc/standards.texi (C++ Language): Document C++14 support.
4890 2016-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
4892         * config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support
4893         for pack/unpack functions for __ibm128.
4894         (PACK_IF): Likewise.
4895         (UNPACK_IF): Likewise.
4897         * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
4898         support for __ibm128 pack/unpack functions.
4899         (rs6000_invalid_builtin): Likewise.
4900         (rs6000_init_builtins): Likewise.
4901         (rs6000_opt_masks): Likewise.
4903         * config/rs6000/rs6000.h (MASK_FLOAT128): Add short name.
4904         (RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack
4905         functions
4906         (RS6000_BTM_COMMON): Likewise.
4908         * config/rs6000/rs6000.md (f128_vsx): New mode attribute.
4909         (unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to
4910         disallow __builtin_{pack,unpack}_longdouble if long double is IEEE
4911         128-bit floating point.  Add support for the double values to be
4912         in Altivec registers for TF/IF packing and unpacking, but restrict
4913         TD packing sub-fields to be FPR registers.  Don't allow overlapped
4914         register support for packing.  Allow pack inputs to be memory
4915         locations.  Don't build generator functions for unpack<mode>_dm
4916         and unpack<mode>_nodm.
4917         (unpack<mode>_dm): Likewise.
4918         (unpack<mode>_nodm): Likewise.
4919         (pack<mode>): Likewise.
4921         * config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add
4922         built-in functions to pack/unpack explicit __ibm128 values.
4923         (__builtin_unpack_ibm128): Likewise.
4925         * doc/extend.texi (PowerPC Built-in Functions): Document
4926         __builtin_pack_ibm128 and __builtin_unpack_ibm128.
4928 2016-01-13  Bernd Schmidt  <bschmidt@redhat.com>
4930         PR c/66208
4931         * c-common.c (check_function_nonnull): Remove unnecessary declaration.
4932         Add new arg loc and pass it down as context.
4933         (check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer
4934         to the location to use for the warning.
4935         (check_function_arguments): New arg loc.  All callers changed.  Pass
4936         it to check_function_nonnull.
4937         * c-common.h (check_function_arguments): Adjust declaration.
4939 2016-01-13  Jakub Jelinek  <jakub@redhat.com>
4941         PR tree-optimization/69156
4942         * gimple.c (validate_type): Removed.
4943         (gimple_builtin_call_types_compatible_p): Use
4944         useless_type_conversion_p instead of validate_type.
4945         * value-prof.c (gimple_stringop_fixed_value): Fold
4946         icall_size to correct type.
4948 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
4950         * doc/extend.texi (__atomic Builtins): Clarify compare_exchange
4951         effects.
4953 2016-01-13  Richard Henderson  <rth@redhat.com>
4955         PR tree-opt/68964
4956         * target.def (builtin_tm_load, builtin_tm_store): Remove.
4957         * config/i386/i386.c (ix86_builtin_tm_load): Remove.
4958         (ix86_builtin_tm_store): Remove.
4959         (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
4960         (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
4961         * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
4962         (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
4963         * doc/tm.texi: Rebuild.
4965         * gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New.
4966         (BUILT_IN_TM_MEMCPY_RTWN): New.
4967         * trans-mem.c (tm_log_emit_stmt): Rearrange code for better
4968         fallback from vector to integer helpers.
4969         (build_tm_load): Handle vector types directly, instead of
4970         via target hook.
4971         (build_tm_store): Likewise.
4972         (expand_assign_tm): Prepare for register types not handled by
4973         the above.  Copy them to memory and use memcpy.
4974         * tree.c (tm_define_builtin): New.
4975         (find_tm_vector_type): New.
4976         (build_tm_vector_builtins): New.
4977         (build_common_builtin_nodes): Call it.
4979 2016-01-13  Uros Bizjak  <ubizjak@gmail.com>
4981         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for
4982         TARGET_SSE_MATH without TARGET_SSE2.  Rewrite.
4984 2016-01-13  Tom de Vries  <tom@codesourcery.com>
4986         PR tree-optimization/69169
4987         * tree-ssa-structalias.c (create_variable_info_for_1): Add and handle
4988         handled_struct_type param.
4989         (create_variable_info_for, intra_create_variable_infos): Call
4990         create_variable_info_for_1 with extra arg.
4992 2016-01-13  Yvan Roux  <yvan.roux@linaro.org>
4994         * config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a"
4995         and "armv8.1-a+crc" entries.
4997 2016-01-13  Alexander Fomin  <alexander.fomin@intel.com>
4999         PR target/69228
5000         * config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"):
5001         Change first operand predicate from register_or_constm1_operand
5002         to register_operand.
5003         (define_expand "avx512pf_gatherpf<mode>df"): Likewise.
5004         (define_expand "avx512pf_scatterpf<mode>sf"): Likewise.
5005         (define_expand "avx512pf_scatterpf<mode>df"): Likewise.
5006         (define_insn "*avx512pf_gatherpf<mode>sf"): Remove.
5007         (define_insn "*avx512pf_gatherpf<mode>df"): Likewise.
5008         (define_insn "*avx512pf_scatterpf<mode>sf"): Likewise.
5009         (define_insn "*avx512pf_scatterpf<mode>df"): Likewise.
5010         * config/i386/i386.c (ix86_expand_builtin): Remove first operand
5011         comparison with constm1_rtx from vec_prefetch_gen part.
5013 2016-01-13  Richard Biener  <rguenther@suse.de>
5015         PR tree-optimization/69013
5016         * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths):
5017         Exchange assert for a test.
5019 2016-01-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
5021         PR target/69247
5022         * config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg.
5024 2016-01-13  Richard Biener  <rguenther@suse.de>
5026         PR tree-optimization/69242
5027         * tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus
5028         assert with a check.
5030 2016-01-13  Richard Biener  <rguenther@suse.de>
5032         PR tree-optimization/69186
5033         * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
5034         Properly guard vect_update_misalignment_for_peel call.
5036 2016-01-12  Jeff Law  <law@redhat.com>
5038         PR tree-optimization/pr67755
5039         * tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field
5040         "need_profile_correction".
5041         (thread_block_1): Initialize new field to false by default.  If we
5042         have multiple thread paths through a common joiner to different
5043         final targets, then set new field to true.
5044         (compute_path_counts): Only do count adjustment when it's really
5045         needed.
5047 2016-01-12  Sandra Loosemore  <sandra@codesourcery.com>
5049         * doc/invoke.texi (Spec Files): Move section down in file, past
5050         all command-line option descriptions.
5052 2016-01-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
5054         PR middle-end/54809
5055         * doc/gty.texi: Remove documentation of mark_hook.
5056         * gengtype.c (struct write_types_data): Remove code to support
5057         mark_hook attribute.
5058         (walk_type): Likewise.
5059         (write_func_for_structure): Likewise.
5061 2016-01-12  Sandra Loosemore  <sandra@codesourcery.com>
5063         * doc/invoke.texi (Option Summary) Move -no-canonical-prefixes to
5064         Directory Options, and -specs= to Overall Options.
5065         (Overall Options): Adjust similarly.  Reorder to group related
5066         options together.  Make -specs= cross-reference the spec file details.
5067         (Directory Options): Adjust similarly.
5069 2016-01-12  Jeff Law  <law@redhat.com>
5071         * tree-ssa-threadupdate.c: Various whitespace and typo fixes.
5073 2016-01-12  Olivier Hainque  <hainque@adacore.com>
5075         * gcc.c (spec_undefvar_allowed): New global.
5076         (process_command): Set to true when running for --version or --help,
5077         alone or together.
5078         (getenv_spec_function): When the variable is not defined, use the
5079         variable name as the variable value if we're allowed not to issue
5080         a fatal error.
5082 2016-01-12  Bin Cheng  <bin.cheng@arm.com>
5084         PR tree-optimization/68911
5085         * tree-vrp.c (adjust_range_with_scev): Check overflow in range
5086         information computed for expression "init + nit * step".
5088 2016-01-12  Sandra Loosemore  <sandra@codesourcery.com>
5090         * doc/invoke.texi (Invoking GCC): Copy-edit.  Incorporate information
5091         about name of GCC executable.  Remove deleted node from menu.
5092         (Directory Options) <-B>: Remove cross-reference to deleted node.
5093         (Target Options): Delete section.
5095 2016-01-12  Christian Bruel  <christian.bruel@st.com>
5097         PR target/69180
5098         * config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL
5099         for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX.
5101 2016-01-12  Jakub Jelinek  <jakub@redhat.com>
5103         PR target/69198
5104         * config/i386/i386.c (ix86_expand_special_args_builtin): Ensure
5105         aligned_mem is properly set for AVX512-VL floating point masked
5106         stores.
5108         PR target/69175
5109         * ifcvt.c (cond_exec_process_if_block): When removing the last
5110         insn from then_bb, remove also any possible barriers that follow it.
5112 2016-01-12  H.J. Lu  <hongjiu.lu@intel.com>
5114         PR target/68456
5115         PR target/69226
5116         * config/i386/iamcu.h (SIZE_TYPE): New macro.
5117         (PTRDIFF_TYPE): Likewise.
5118         (WCHAR_TYPE): Likewise.
5119         (WCHAR_TYPE_SIZE): Likewise.
5120         (STDINT_LONG32): Likewise.
5122 2016-01-12  Richard Biener  <rguenther@suse.de>
5124         PR tree-optimization/69053
5125         * tree-vect-loop.c (get_initial_def_for_reduction): Properly
5126         convert initial value for cond reductions.
5128 2016-01-12  Richard Biener  <rguenther@suse.de>
5130         PR tree-optimization/69007
5131         * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move
5132         widen_sum after dot_prod and sad.
5134 2016-01-12  Richard Biener  <rguenther@suse.de>
5136         PR tree-optimization/69168
5137         * tree-vect-loop.c (vect_analyze_loop_2): Reset both main and
5138         pattern stmt SLP type.
5139         * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may
5140         end up unused so cope with that case.
5142 2016-01-12  Richard Biener  <rguenther@suse.de>
5144         PR tree-optimization/69157
5145         * tree-vect-stmts.c (vectorizable_mask_load_store): Check
5146         stmts def type only during analyze phase.
5147         (vectorizable_call): Likewise.
5148         (vectorizable_simd_clone_call): Likewise.
5149         (vectorizable_conversion): Likewise.
5150         (vectorizable_assignment): Likewise.
5151         (vectorizable_shift): Likewise.
5152         (vectorizable_operation): Likewise.
5153         (vectorizable_store): Likewise.
5154         (vectorizable_load): Likewise.
5156 2016-01-12  Richard Biener  <rguenther@suse.de>
5158         PR tree-optimization/69174
5159         * tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical
5160         space.
5161         (vectorizable_load): Properly compute the number of loads needed
5162         for permuted strided SLP loads and do not spuriously assign
5163         to SLP_TREE_VEC_STMTS.
5165 2016-01-12  Andris Pavenis  <andris.pavenis@iki.fi>
5167         * config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2
5168         (TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive
5169         (MD_EXEC_PREFIX): Remove.
5170         (MD_STARTFILE_PREFIX) Removee.
5171         (FILE_NAME_ABSOLUTE_P): Remove.
5172         (CPP_SPEC): Do not read macros from sys/version.h.
5173         (LINK_COMMAND_SPEC): Remove.
5174         (LOCAL_INCLUDE_DIR): Remove.
5175         (TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section
5176         (TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix.
5177         (POST_LINK_SPEC): Define to invoke stubify after linker
5178         (LIBSTDCXX): Remove define
5179         (DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map.
5180         (DEFAULT_PCC_STRUCT_RETURN): Define to 1.
5181         (SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210.
5182         (SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message.
5183         (SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info.
5184         (IX86_MAYBE_NO_LIBGCC_TFMODE): Remove.
5185         (i386_djgpp_asm_named_section): Add propotype of new procedure
5187         * config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define.
5188         (MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h).
5189         (STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX
5190         in config/i386/djgpp.h).
5191         (STANDARD_STARTFILE_PREFIX_2): Define identical to
5192         STANDARD_STARTFILE_PREFIX_1.
5193         (LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h).
5194         (GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal
5195         installation errors.
5196         (MAX_OFILE_ALIGNMENT): Define to 128.
5197         (HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h.
5199         * config/i386/djgpp.c: New file. Add implementation of
5200         i386_djgpp_asm_named_section.
5202         * config/i386/djgpp.opt: Remove obsolete option -mbnu210.
5204         * config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS.
5205         Add rule for building djgpp.o.
5207 2016-01-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5209         * config/rs6000/rs6000.c (v2df_reduction_p): New function.
5210         (rtx_is_swappable_p): Reductions are swappable.
5211         (insn_is_swappable_p): V2DF reductions are swappable.
5213 2016-01-11  John David Anglin  <danglin@gcc.gnu.org>
5215         * config/pa/pa.c (pa_emit_move_sequence): Handle floating point
5216         reloads for other unsupported memory operands.
5218 2016-01-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
5219             Jim Wilson  <jim.wilson@linaro.org>
5221         PR target/69194
5222         * config/arm/arm-builtins.c (arm_expand_neon_args): Call
5223         copy_to_mode_reg instead of force_reg.
5225 2016-01-11  H.J. Lu  <hongjiu.lu@intel.com>
5227         PR target/69225
5228         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if
5229         TARGET_80387 is true.
5231 2016-01-11  Jakub Jelinek  <jakub@redhat.com>
5233         PR target/69071
5234         * lra-eliminations.c (move_plus_up): Only move plus up
5235         if subreg of the constant can be simplified into constant
5236         and use the simplified subreg of the constant instead of
5237         the original constant.
5239         * fold-const.c (fold_convertible_p): Don't return true
5240         for conversion of VECTOR_TYPE to same sized integral type.
5241         (fold_convert_loc): Fix up formatting.  Fold conversion of
5242         VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR
5243         instead of NOP_EXPR.
5245         PR tree-optimization/69214
5246         * tree-vrp.c (simplify_cond_using_ranges): Don't propagate
5247         innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
5248         Formatting fix.
5250         PR tree-optimization/69207
5251         * tree-vect-slp.c (vect_get_constant_vectors): For
5252         VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of
5253         fold_convertible_p to vector_type's element type, and always
5254         use VCE for non-VECTOR_BOOLEAN_TYPE_P.
5256 2016-01-11  Richard Biener  <rguenther@suse.de>
5258         PR tree-optimization/69173
5259         * tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Only
5260         fixup the cycle if all stmts are in a pattern.
5262 2016-01-11  Uros Bizjak  <ubizjak@gmail.com>
5264         PR middle-end/68999
5265         * alias.c (base_alias_check): Move check for addresses with
5266         alignment ANDs before the call for compare_base_decls.
5267         (memrefs_conflict_p): Return -1 for different decls
5268         that went through alignment adjustments.
5270 2016-01-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5272         PR rtl-optimization/68796
5273         * config/aarch64/aarch64.md (*and<mode>_compare0): New pattern.
5274         * config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode
5275         and QImode comparisons against zero with CC_NZmode.
5276         * config/aarch64/iterators.md (short_mask): New mode_attr.
5278 2016-01-11  H.J. Lu  <hongjiu.lu@intel.com>
5280         * config/i386/sse.md (<avx512>_load<mode>_mask): Remove snprintf.
5281         (<avx512>_store<mode>_mask): Likewise.
5283 2016-01-11  Bernd Schmidt  <bschmidt@redhat.com>
5284             Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5286         PR rtl-optimization/68841
5287         * ifcvt.c (struct noce_if_info): Add orig_x field.
5288         (bbs_ok_for_cmove_arith): Add to_rename parameter.
5289         Don't record conflicts on to_rename if it's present.
5290         Allow memory destinations in sets.
5291         (noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple
5292         blocks, passing orig_x to the checks.
5293         (noce_process_if_block): Set if_info->orig_x appropriately.
5295 2016-01-11  Tom de Vries  <tom@codesourcery.com>
5297         PR tree-optimization/69069
5298         * tree-parloops.c (create_parallel_loop): Add missing phi args.
5300 2016-01-11  Yuri Rumyantsev  <ysrumyan@gmail.com>
5302         PR rtl-optimization/68920
5303         * config/i386/i386.c (ix86_option_override_internal): Restrict number
5304         of conditional moves for  RTL if-conversion to 1 for
5305         TARGET_ONE_IF_CONV_INSN.
5306         * config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros.
5307         * config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros.
5308         * params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new
5309         parameter to restirct number of conditional moves for
5310         RTL if-conversion.
5311         * doc/invoke.texi (max-rtl-if-conversion-insns): Document it.
5312         * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of
5313         conditionl moves.
5315 2016-01-11  Alexandre Oliva  <aoliva@redhat.com>
5317         PR bootstrap/69123
5318         * var-tracking.c (drop_overlapping_mem_locs): Operate on all
5319         onepart vars.  Fix typo in comment.  Fix reversed condition in
5320         unshare test.
5321         (dataflow_set_remove_mem_locs): Operate on all onepart vars.
5323         PR bootstrap/69123
5324         * var-tracking.c (dump_onepart_variable_differences): New.
5325         (dataflow_set_different): If a detailed dump is requested,
5326         delay early returns and dump differences between onepart
5327         variables present before and after, and added variables.
5329 2016-01-11  Ilya Enkovich  <enkovich.gnu@gmail.com>
5331         PR target/69010
5332         * expr.c (expand_expr_real_1): For boolean vector constants
5333         with a scalar mode use const_scalar_mask_from_tree.
5334         (const_scalar_mask_from_tree): New.
5335         * optabs.c (expand_vec_cond_mask_expr): Use mask mode
5336         assigned to a mask type to handle constants.
5338 2016-01-11  Martin Jambor  <mjambor@suse.cz>
5340         PR ipa/69044
5341         * ipa-cp.c (estimate_local_effects): Do not clone for removal of
5342         useless parameters if we cannot change function signature.
5344 2016-01-11  Martin Jambor  <mjambor@suse.cz>
5346         PR ipa/66616
5347         * cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
5348         flag.
5350 2016-01-11  Tom de Vries  <tom@codesourcery.com>
5352         PR tree-optimization/69109
5353         * tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow
5354         latch with phi.
5356 2016-01-11  Tom de Vries  <tom@codesourcery.com>
5358         PR tree-optimization/69108
5359         * tree-parloops.c (gather_scalar_reductions): Handle case that outer phi
5360         res is not used in a phi.
5362 2016-01-11  Yury Gribov  <y.gribov@samsung.com>
5364         PR 67425
5365         * common.opt (frandom-seed): Fix parameter name.
5366         * doc/invoke.texi (frandom-seed): Ditto and describe parameter.
5368 2016-01-11  Tom de Vries  <tom@codesourcery.com>
5370         PR tree-optimization/69058
5371         * tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp
5372         not supported.
5374 2016-01-11  Andrew Burgess  <andrew.burgess@embecosm.com>
5376         * config/arc/arc.opt (mdiv-rem): Add period to the end.
5377         (mcode-density): Likewise.
5379 2016-01-10  Tom de Vries  <tom@codesourcery.com>
5381         PR tree-optimization/69062
5382         * tree-parloops.c (loop_has_phi_with_address_arg): New function.
5383         (parallelize_loops): Don't paralelize loop that has phi with address
5384         arg.
5386 2016-01-10  Tom de Vries  <tom@codesourcery.com>
5388         PR tree-optimization/69039
5389         * tree-parloops.c (try_create_reduction_list): Only allow single exit
5390         phi for reduction.
5392 2016-01-09  John David Anglin  <danglin@gcc.gnu.org>
5394         PR middle-end/68743
5395         * match.pd: Require target has function_c99_misc before doing
5396         truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.
5398 2016-01-09  Gerald Pfeifer  <gerald@pfeifer.com>
5400         * configure.ac (isl_options_set_schedule_serialize_sccs): Also
5401         use GMPINC.
5402         * configure: Regenerate.
5404 2016-01-09  Jakub Jelinek  <jakub@redhat.com>
5406         PR middle-end/50865
5407         PR tree-optimization/69097
5408         * fold-const.h (expr_not_equal_to): New prototype.
5409         * fold-const.c: Include stringpool.h and tree-ssanames.h.
5410         (expr_not_equal_to): New function.
5411         * match.pd (X % -Y is the same as X % Y): Don't optimize
5412         unless X is known not to be equal to minimum or Y is known
5413         not to be equal to -1.
5414         * tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument.
5415         fold TRUNC_MOD_EXPR if the second argument is not a power of two.
5416         (simplify_stmt_using_ranges): Adjust caller.
5417         (vrp_finalize): Call set_value_range on SSA_NAMEs before calling
5418         substitute_and_fold.
5420 2016-01-09  Jan Hubicka  <hubicka@ucw.cz>
5422         * ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
5423         w/o DECL_NAME.
5425 2016-01-08  Jakub Jelinek  <jakub@redhat.com>
5427         PR tree-optimization/69167
5428         * gimple-fold.c (replace_stmt_with_simplification): Also punt if
5429         new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of
5430         ops[0] comparison.
5431         * gimple-match-head.c (maybe_push_res_to_seq): Likewise.
5433 2016-01-08  Alan Lawrence  <alan.lawrence@arm.com>
5434             Richard Biener  <rguenther@suse.de>
5436         PR tree-optimization/68707
5437         * tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP
5438         instances that can be handled via vect_load_lanes.
5440 2016-01-08  Uros Bizjak  <ubizjak@gmail.com>
5442         * symtab.c (symtab_node::equal_address_to): Return -1 instead of 2
5443         if we can't determine address equivalence.
5444         * alias.c (compare_base_decl): Update for changed return value of
5445         symtab_node::equal_address_to.
5447 2016-01-08  Jason Merrill  <jason@redhat.com>
5449         PR c++/68983
5450         PR c++/67557
5451         * function.c (assign_temp): Guard against TREE_ADDRESSABLE types here.
5452         * expr.c (store_field): Not here.
5453         * tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a
5454         call with TREE_ADDRESSABLE type.
5455         * tree-cfg.c (verify_gimple_call): Adjust.
5457 2016-01-08  Olivier Hainque  <hainque@adacore.com>
5459         * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
5460         libc_internal.
5462 2016-01-08  Alan Lawrence  <alan.lawrence@arm.com>
5464         * gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to...
5465         (reduc_smax_scal_v2sf): ...here, make result SFmode, extract element.
5466         (reduc_smin_v2sf): Rename to...
5467         (reduc_smin_scal_v2sf): ...here, make result SFmode, extract element.
5468         (reduc_splus_v2sf): Rename to...
5469         (reduc_plus_scal_v2sf): ...here, make result SFmode, extract element.
5471 2016-01-08  Jakub Jelinek  <jakub@redhat.com>
5473         PR tree-optimization/69162
5474         * gimplify.c (gimplify_va_arg_expr): Encode original type of
5475         valist argument in another argument.
5476         (gimplify_modify_expr): Adjust for the above change.  Cleanup.
5477         * tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument
5478         to determine the va_list type, build a MEM_REF instead of
5479         build_fold_indirect_ref.
5481         PR tree-optimization/69172
5482         * gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to
5483         gimple_build.
5485 2016-01-08  Thomas Preud'homme  <thomas.preudhomme@arm.com>
5487         PR tree-optimization/67781
5488         * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
5489         and cmpnop in two steps: first the ones not accessed in original
5490         gimple expression in a endian independent way and then the ones not
5491         accessed in the final result in an endian-specific way.
5493 2016-01-08  Jakub Jelinek  <jakub@redhat.com>
5495         PR tree-optimization/69083
5496         * tree-vect-slp.c (vect_get_constant_vectors): For
5497         VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's
5498         element type.  If op is fold_convertible_p to vector_type's element
5499         type, use NOP_EXPR instead of VCE.
5501 2016-01-08  Segher Boessenkool  <segher@kernel.crashing.org>
5503         PR rtl-optimization/67778
5504         PR rtl-optimization/68634
5505         PR rtl-optimization/68909
5506         * shrink-wrap.c (try_shrink_wrapping): Add comment.  Don't pop
5507         block from the stack until done with it.  Remove a superfluous
5508         bitmap set.  Remove a superfluous bitmap test.
5510 2016-01-07  Martin Sebor  <msebor@redhat.com>
5512         PR c/68966
5513         * doc/extend.texi (__atomic Builtins, __sync Builtins): Document
5514         constraint on the type of arguments.
5516 2016-01-07  Andreas Tobler  <andreast@gcc.gnu.org>
5518         * config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to
5519         SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check
5520         unaligned_access on the gcc_options set.
5521         * config/arm/arm.c (arm_option_override_internal): Use
5522         SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.
5524 2016-01-07  Uros Bizjak  <ubizjak@gmail.com>
5526         PR target/69140
5527         * config/i386/i386.c (ix86_frame_pointer_required): Enable
5528         frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned.
5530 2016-01-07  Uros Bizjak  <ubizjak@gmail.com>
5532         Revert
5533         2016-01-06  Uros Bizjak  <ubizjak@gmail.com>
5535         PR target/69140
5536         * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
5537         depending on frame_pointer_needed before remaining integer and SSE
5538         registers are saved.
5540 2016-01-07  Sandra Loosemore  <sandra@codesourcery.com>
5542         PR 1078
5543         * doc/extend.texi (Nvidia PDX Function Attributes): New section.
5545 2016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
5547         PR target/69171
5548         * config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
5549         Use the "xBm" constraint.
5550         (float<sseintvecmodelower><mode>2<mask_name><round_name):
5551         Likewise.
5552         (sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
5553         (sse_cvtsi2ssq<round_name>): Likewise.
5554         (sse_cvtss2si<round_name>): Likewise.
5555         (sse_cvtss2siq<round_name>): Likewise.
5556         (sse2_cvtsi2sdq<round_name>): Likewise.
5557         (sse2_cvtsd2si<round_name>): Likewise.
5558         (sse2_cvtsd2siq<round_name>): Likewise.
5559         * config/i386/subst.md (round_nimm_scalar_predicate): New
5560         predicate.
5562 2015-12-15  Bernd Schmidt  <bschmidt@redhat.com>
5564         PR middle-end/67639
5565         * varasm.c (make_decl_rtl): Mark invalid register vars as
5566         DECL_EXTERNAL.
5568         PR rtl-optimization/66206
5569         * bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx.
5570         All callers changed.
5572 2016-01-07  Jakub Jelinek  <jakub@redhat.com>
5574         PR tree-optimization/69141
5575         * tree-ssa-pre.c: Include langhooks.h.
5576         (eliminate_dom_walker::before_dom_children): Use
5577         lang_hooks.decl_printable_name instead of
5578         cgraph_node::get ()->name ().
5580         PR middle-end/68960
5581         * gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy
5582         it and DECL_ALIGN too.
5584 2016-01-06  Robert Suchanek  <robert.suchanek@imgtec.com>
5586         * config/mips/mips-ftypes.def: Sort to lexicographical order.
5588 2016-01-06  Uros Bizjak  <ubizjak@gmail.com>
5590         PR target/69140
5591         * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
5592         depending on frame_pointer_needed before remaining integer and SSE
5593         registers are saved.
5595 2015-01-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5597         * config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M
5598         mode iterator with VSX_M2.
5599         (*p9_vecstore_<mode>): Likewise.
5600         (*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR.
5601         (*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise.
5602         (*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise.
5603         (define_split for VSX_LE128 stores): Likewise.
5604         (define_peephole2 for TImode LE swaps): Likewise.
5605         (define_split for VSX_LE128 post-reload stores): Likewise.
5607 2016-01-06  Marek Polacek  <polacek@redhat.com>
5609         PR sanitizer/69099
5610         * convert.c (convert_to_integer_1): Adjust call to
5611         ubsan_instrument_float_cast.  Use NULL_TREE instead of NULL.
5612         * ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter.  Use
5613         EXPR instead of ARG.
5614         * ubsan.h (ubsan_instrument_float_cast): Adjust declaration.
5616 2016-01-05  Sandra Loosemore  <sandra@codesourcery.com>
5618         PR 1078
5619         * doc/extend.texi (RL78 Variable Attributes): New section.
5621 2016-01-05  Marek Polacek  <polacek@redhat.com>
5623         PR c/69104
5624         * builtins.c (get_memmodel): Use expansion point location rather than
5625         the input location.  Call warning_at rather than warning.
5626         (expand_builtin_atomic_compare_exchange): Likewise.
5627         (expand_builtin_atomic_load): Likewise.
5628         (expand_builtin_atomic_store): Likewise.
5629         (expand_builtin_atomic_clear): Likewise.
5631 2016-01-05  H.J. Lu  <hongjiu.lu@intel.com>
5633         PR target/68991
5634         * config/i386/i386.c (ix86_expand_vector_logical_operator):
5635         Replace nonimmediate_operand with vector_operand.
5636         * config/i386/predicates.md (vector_operand): New predicate.
5637         (general_vector_operand): Replace nonimmediate_operand with
5638         vector_operand.
5639         * config/i386/sse.md: Replace nonimmediate_operand with
5640         vector_operand and m constraint with Bm constraint on SSE
5641         patterns with 16-byte memory operand.
5642         * config/i386/subst.md (round_nimm_predicate): Replace
5643         nonimmediate_operand with vector_operand.
5644         (round_saeonly_nimm_predicate): Likewise.
5645         (round_saeonly_nimm_scalar_predicate): New.
5647 2016-01-05  H.J. Lu  <hongjiu.lu@intel.com>
5649         PR target/68991
5650         * config/i386/constraints.md (Bm): New constraint.
5651         * config/i386/predicates.md (vector_memory_operand): New
5652         predicate.
5653         * config/i386/sse.md: Replace xm with xBm in plusminus and
5654         any_logic patterns.
5656 2016-01-05  Sandra Loosemore  <sandra@codesourcery.com>
5658         PR 1078
5659         * doc/extend.texi (V850 Function Attributes): New section.
5660         (V850 Variable Attributes): New section.
5662 2016-01-05  Sandra Loosemore  <sandra@codesourcery.com>
5664         PR 1078
5665         * doc/extend.texi (MicroBlaze Function Attributes): Document
5666         interrupt_handler and fast_interrupt attributes.
5668 2016-01-05  Sergei Trofimovich  <siarheit@google.com>
5670         PR other/60465
5671         * config/ia64/ia64.c (ia64_expand_load_address): Use gprel64
5672         for local symbolic operands.
5673         * config/ia64/predicates.md (local_symbolic_operand64): New
5674         predicate.
5676 2016-01-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5678         PR rtl-optimization/68651
5679         * combine.c (combine_simplify_rtx): Canonicalize x + x into
5680         x << 1.
5682 2016-01-05  Nathan Sidwell  <nathan@acm.org>
5684         * alias.c (compare_base_decls): Use symtab_node::get.
5686 2016-01-05  Nick Clifton  <nickc@redhat.com>
5688         PR target/68770
5689         * ira-costs.c (copy_cost): Initialise the t_icode field of the
5690         secondary_reload_info structure.
5692         PR target/66655
5693         * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak
5694         decls if weak support is available.
5696 2016-01-04  Martin Sebor  <msebor@redhat.com>
5698         * doc/invoke.texi (Warning Options): Document -Winvalid-memory-model.
5700 2016-01-04  Michael Meissner  <meissner@linux.vnet.ibm.com>
5702         * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
5703         OPTION_MASK_P9_DFORM.
5705         * config/rs6000/constraints.md (wo constraint): New constraint for
5706         ISA 3.0 (power9).
5708         * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
5709         for wo constraint.
5710         (rs6000_init_hard_regno_mode_ok): Likewise.
5712         * config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
5713         wo constraint.
5715         * config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm
5716         expanders not to have constraints.  Add support for ISA 3.0 xxperm
5717         instruction.  Add support for fusing xxlor with xxperm.
5718         (altivec_vperm_<mode>_internal): Likewise.
5719         (altivec_vperm_v8hiv16qi): Likewise.
5720         (altivec_vperm_<mode>v16q): Likewise.
5721         (altivec_vperm_<mode>_uns): Likewise.
5722         (vperm_v8hiv4si): Likewise.
5723         (vperm_v16qiv8hi): Likewise.
5725         * doc/md.texi (RS/6000 constraints): Document wo constraint.
5727 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
5729         Update copyright years.
5731         * gcc.c (process_command): Update copyright notice dates.
5732         * gcov-dump.c (print_version): Ditto.
5733         * gcov.c (print_version): Ditto.
5734         * gcov-tool.c (print_version): Ditto.
5735         * gengtype.c (create_file): Ditto.
5736         * doc/cpp.texi: Bump @copying's copyright year.
5737         * doc/cppinternals.texi: Ditto.
5738         * doc/gcc.texi: Ditto.
5739         * doc/gccint.texi: Ditto.
5740         * doc/gcov.texi: Ditto.
5741         * doc/install.texi: Ditto.
5742         * doc/invoke.texi: Ditto.
5744 2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
5746         * config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
5747         modes larger than TImode as TImode if NEON is not enabled.
5749 2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
5751         PR target/69100
5752         * config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
5753         mode for %f0-%f31 only if TARGET_FPU.
5755 2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
5757         PR target/69072
5758         * config/sparc/sparc.c (scan_record_type): Take into account subfields
5759         to compute the PACKED_P predicate.
5760         (function_arg_record_value): Minor tweaks.
5762 2016-01-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
5764         * doc/install.texi (--with-multilib-list): Describe the meaning of the
5765         option for arm*-*-* targets.
5767 2016-01-03  Sandra Loosemore  <sandra@codesourcery.com>
5769         * doc/extend.texi (Common Function Attributes): Move docs for
5770         MSP430-specific attributes to....
5771         (MSP430 Function Attributes): ...here.  Delete the redundant
5772         entries and copy-edit the remaining text.
5773         (MSP430 Variable Attributes): Use uniform format for index
5774         entries and add a cross-reference to the corresponding function
5775         attribute docs.
5777 2016-01-03  Vladimír Čunát  <vcunat@gmail.com>
5779         * doc/invoke.texi (RS/6000 and PowerPC Options): Fix
5780         -finite-math typo.
5781         (x86 Options): Likewise.
5783 2016-01-01  Sandra Loosemore  <sandra@codesourcery.com>
5785         PR 1078
5787         * extend.texi (Common Function Attributes) <no_stack_limit>: New.
5788         * invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer
5789         to corresponding attribute.
5791 2016-01-01  Sandra Loosemore  <sandra@codesourcery.com>
5793         * doc/extend.texi (Common Function Attributes) <noplt>: Move
5794         to correct alphabetization of table.  Copy-edit and correct
5795         markup.
5796         <stack_protect>: Likewise.
5797         <target_clones>: Likewise.
5798         <simd>: Likewise.
5799         * doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>:
5800         Correct punctuation.
5801         (Code Gen Options) <-fno-plt>: Copy-edit.
5803 2016-01-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5805         PR target/68917
5806         * config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of
5807         SI values.  Explicitly convert SI to DI and vice-versa.
5809 2016-01-01  Jakub Jelinek  <jakub@redhat.com>
5811         PR tree-optimization/69070
5812         * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test
5813         REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST.
5815         PR sanitizer/69055
5816         * ubsan.c (ubsan_instrument_float_cast): Call
5817         initialize_sanitizer_builtins.
5819         PR target/69015
5820         * ifcvt.c (find_cond_trap): Give up if returnjump_p (jump).
5822 Copyright (C) 2016 Free Software Foundation, Inc.
5824 Copying and distribution of this file, with or without modification,
5825 are permitted in any medium without royalty provided the copyright
5826 notice and this notice are preserved.