2016-01-20 Sandra Loosemore <sandra@codesourcery.com>
[official-gcc.git] / gcc / ChangeLog
blob82cb6d610d789ab13f972154db7b04c6ccfc2824
1 2016-01-20  Sandra Loosemore <sandra@codesourcery.com>
3         * doc/invoke.texi (Instrumentation Options): Clarify -mmpx linking
4         requirements.
6 2016-01-20  Sandra Loosemore <sandra@codesourcery.com>
8         * common.opt (feliminate-dwarf2-dups): Replace references to
9         "DWARF 2" with just "DWARF".
10         * config/ia64/ia64.opt (mdwarf2-asm): Likewise.
11         * doc/extend.texi: Likewise.
12         * doc/cpp.texi: Likewise.
13         * doc/invoke.texi: Likewise.
14         (Option Summary): Add -gdwarf to list of Debugging Options.
15         (Debugging Options): Document -gdwarf.
16         * doc/contrib.texi: Spell "DWARF" like that.
18 2016-01-21  Jakub Jelinek  <jakub@redhat.com>
20         * omp-low.c (expand_omp_target): Avoid -Wmaybe-uninitialized
21         warning.  Fix up formatting.
23         PR middle-end/67653
24         * gimplify.c (gimplify_asm_expr): Warn if it is too late to
25         attempt to mark memory input operand addressable and
26         call prepare_gimple_addressable in that case.  Don't adjust
27         input_location for diagnostics, use error_at instead.
29 2016-01-20  Peter Bergner  <bergner@vnet.ibm.com>
31         * config/rs6000/ppc-auxv.h: New file.
32         * config/rs6000/rs6000-builtin.def (cpu_init): Add new builtin.
33         (cpu_is): Likewise.
34         (cpu_supports): Likewise.
35         * config/rs6000/rs6000.c: include "ppc-auxv.h".
36         (cpu_is_info): New variable.
37         (cpu_supports_info): Likewise.
38         (tcb_verification_symbol): Likewise.
39         (cpu_builtin_p): Likewise.
40         (cpu_expand_builtin): New function.
41         (rs6000_expand_ternop_builtin): Add support for CPU builtin functions.
42         (rs6000_init_builtins): Likewise.
43         (rs6000_elf_file_end): Emit HWCAP in TCB verification symbol.
44         * config/rs6000/rs6000.h (TLS_REGNUM): New define.
45         * configure.ac (gcc_cv_libc_provides_hwcap_in_tcb): New test.
46         * configure: Regenerate.
47         * config.in: Likewise.
48         * doc/extend.texi (PowerPC Built-in Functions): Document
49         __builtin_cpu_init, __builtin_cpu_is and __builtin_cpu_supports.
51 2016-01-20  David Edelsohn  <dje.gcc@gmail.com>
53         PR target/68609
54         * config/rs6000/rs6000.c (rs6000_emit_swsqrt): Add vector sqrt
55         domain check.
56         * config/rs6000/vector.md (sqrt<mode>2): Call rs6000_emit_swsqrt
57         for V4SFmode.
59 2016-01-20  Richard Henderson  <rth@redhat.com>
61         PR bootstrap/69343
62         PR bootstrap/69339
63         PR tree-opt/68964
64         Revert:
65         * tree.c (tm_define_builtin): New.
66         (find_tm_vector_type): New.
67         (build_tm_vector_builtins): New.
68         (build_common_builtin_nodes): Call it.
70 2016-01-20  Christophe Lyon  <christophe.lyon@linaro.org>
72         * doc/sourcebuild.texi (arm_crypto_pragma_ok): Document new entry.
73         (arm_fp_ok): Likewise.
74         (arm_fp): Likewise.
75         (arm_crypto): Likewise.
77 2016-01-20  Ilya Enkovich  <enkovich.gnu@gmail.com>
78             Richard Biener  <rguenther@suse.de>
80         PR tree-optimization/69328
81         * tree-vect-stmts.c (vect_is_simple_cond): Check compared
82         vectors have same number of elements.
83         (vectorizable_condition): Fix masked version recognition.
85 2016-01-20  Richard Biener  <rguenther@suse.de>
87         PR tree-optimization/69345
88         * tree-ssa-sccvn.h (VN_INFO_RANGE_INFO): New inline function.
89         (VN_INFO_PTR_INFO): Likewise.
90         * tree-ssa-sccvn.c (set_ssa_val_to): Avoid clearing points-to
91         info when it is equal between non-dominating SSA names.
92         * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
93         Make sure to look at original SSA infos.
95 2016-01-20  Jeff Law  <law@redhat.com>
97         PR target/25114
98         * config/m68k/predicates.md (pow2_m1_operand): New predicate
99         extracted from ...
100         (reg_or_pow2_m1_operand): Call pow2_m1_operand.
101         (pc_or_label_operand): New predicate.
102         * config/m68k/m68k.md: Add new peephole2 patterns for GTU/LEU
103         tests for small integers that are 2^n - 1.
105 2016-01-20  Jonathan Wakely  <jwakely@redhat.com>
107         * doc/invoke.texi (Options Summary): Add '.' after @xref.
109 2016-01-19  Jeff Law  <law@redhat.com>
111         PR middle-end/69347
112         * tree-ssa-threadbackwards.c
113         (fsm_find_control_statement_thread_paths): Do not try to lookup
114         FSM paths for SSA_NAMEs appearing in abnormal PHIs.
116 2016-01-20  Kugan Vivekanandarajah  <kuganv@linaro.org>
118         * doc/lto.texi: Remove text that says only Gold has linker plugin
119         support.
121 2016-01-19  Eric Botcazou  <ebotcazou@adacore.com>
123         * dwarf2out.c (need_endianity_attribute_p): New inline predicate.
124         (base_type_die): Add REVERSE parameter and attach DW_AT_endianity to
125         the DIE accordingly.
126         (modified_type_die): Add REVERSE parameter and pass it recursively,
127         as well as to base_type_die.  Adjust presence check accordingly.
128         (base_type_for_mode): Adjust call to modified_type_die.
129         (add_type_attribute): Add REVERSE parameter and pass it to
130         modified_type_die.
131         (generic_parameter_die): Adjust call to add_type_attribute.
132         (add_scalar_info): Likewise.
133         (add_subscript_info): Likewise.
134         (gen_array_type_die): Likewise.
135         (gen_descr_array_type_die): Likewise.
136         (gen_entry_point_die): Likewise.
137         (gen_enumeration_type_die): Likewise.
138         (gen_formal_parameter_die): Likewise.
139         (gen_subprogram_die): Likewise.
140         (gen_variable_die ): Likewise.
141         (gen_const_die): Likewise.
142         (gen_field_die): Likewise.
143         (gen_pointer_type_die): Likewise.
144         (gen_reference_type_die): Likewise.
145         (gen_ptr_to_mbr_type_die): Likewise.
146         (gen_inheritance_die): Likewise.
147         (gen_subroutine_type_die): Likewise.
148         (gen_typedef_die): Likewise.
149         (force_type_die): Adjust call to modified_type_die.
151 2016-01-19  Sandra Loosemore <sandra@codesourcery.com>
153         * doc/standards.texi: Copy-editing for grammar, markup, and sentence
154         flow throughout the file.  Fix broken link to Objective-C 2.0
155         documentation.
156         * doc/invoke.texi: More copy-editing; fix numerous typos and spelling
157         errors.
159 2016-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
161         * ccmp.c (expand_ccmp_expr_1): Avoid spurious unused warnings.
163 2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
165         PR ipa/66223
166         * ipa-devirt.c (is_cxa_pure_virtual_p): New function.
167         (maybe_record_node): Record cxa_pure_virtual as the only possible
168         target if there are not ohter candidates.
169         (possible_polymorphic_call_target_p): Accept cxa_pure_virtual.
171 2016-01-19  Richard Biener  <rguenther@suse.de>
173         * hsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants.
174         (get_memory_order): Likewise.
176 2016-01-19  Kirill Yukhin  <kirill.yukhin@intel.com>
178         * tree-vect-stmts.c (vectorizable_store): Check
179         rhs vectype.
181 2016-01-19  David Malcolm  <dmalcolm@redhat.com>
183         PR jit/68446
184         * gcc.c (driver::decode_argv): Add call to
185         init_opts_obstack before init_options_struct.
186         * opts.c (init_opts_obstack): Remove idempotency.
187         (init_options_struct): Replace call to init_opts_obstack
188         with a gcc_assert to verify that it has already been called.
189         * toplev.c (toplev::main): Add call to init_opts_obstack before
190         calls to init_options_struct.
191         (toplev::finalize): Move cleanup of opts_obstack next to
192         cleanup of save_decoded_options, clearing the latter, and
193         save_decoded_options_count.
195 2016-01-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
197         PR target/69135
198         * config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Set "conds"
199         attribute to unconditional.  Remove %? from output template.
201 2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
202             Jiong Wang  <jiong.wang@arm.com>
204         * ccmp.c (expand_ccmp_expr_1): Cost the instruction sequences
205         generated from different expand order.
207 2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
209         * /config/aarch64/aarch64.c (aarch64_if_then_else_costs):
210         Add support for CCMP costing.
212 2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
214         * ccmp.c (ccmp_candidate_p): Remove integer-only restriction.
215         * config/aarch64/aarch64.md (fccmp<mode>): New pattern.
216         (fccmpe<mode>): Likewise.
217         (fcmp): Rename to fcmp and globalize pattern.
218         (fcmpe): Likewise.
219         * config/aarch64/aarch64.c (aarch64_gen_ccmp_first): Add FP support.
220         (aarch64_gen_ccmp_next): Add FP support.
222 2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
224         * target.def (gen_ccmp_first): Update documentation.
225         (gen_ccmp_next): Likewise.
226         * doc/tm.texi (gen_ccmp_first): Update documentation.
227         (gen_ccmp_next): Likewise.
228         * ccmp.c (expand_ccmp_expr): Extract cmp_code from return value of
229         expand_ccmp_expr_1.  Improve comments.
230         * config/aarch64/aarch64.md (ccmp_and): Use if_then_else for ccmp.
231         (ccmp_ior<mode>): Remove pattern.
232         (cmp<mode>): Remove expand.
233         (cmp): Globalize pattern.
234         (cstorecc4): Use cc_register.
235         (mov<mode>cc): Remove ccmp_cc_register check.
236         * config/aarch64/aarch64.c (aarch64_get_condition_code_1):
237         Simplify after removal of CC_DNE/* modes.
238         (aarch64_ccmp_mode_to_code): Remove.
239         (aarch64_print_operand): Remove 'K' case.  Merge 'm' and 'M' cases.
240         In 'k' case use integer as condition.
241         (aarch64_nzcv_codes): Remove inverted cases.
242         (aarch64_code_to_ccmode): Remove.
243         (aarch64_gen_ccmp_first): Use cmp pattern directly.  Return the correct
244         comparison with CC register to be used in folowing CCMP/branch/CSEL.
245         (aarch64_gen_ccmp_next): Use previous comparison and mode in CCMP
246         pattern.  Return the comparison with CC register.  Invert conditions
247         when bitcode is OR.
248         * config/aarch64/aarch64-modes.def: Remove CC_DNE/* modes.
249         * config/aarch64/predicates.md (ccmp_cc_register): Remove.
251 2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
253         * cgraphunit.c (cgraph_node::reset): Clear thunk info and
254         instrumented_version.
256 2016-01-19  Richard Biener  <rguenther@suse.de>
258         PR tree-optimization/69336
259         * tree-ssa-scopedtables.c (avail_expr_hash): Handle all
260         handled components with get_ref_base_and_extent.
261         (equal_mem_array_ref_p): Adjust.
263 2016-01-19  Jakub Jelinek  <jakub@redhat.com>
265         PR debug/65779
266         * shrink-wrap.c: Include valtrack.h.
267         (move_insn_for_shrink_wrap): Add DEBUG argument.  If
268         MAY_HAVE_DEBUG_INSNS, call dead_debug_add on DEBUG_INSNs
269         in between insn and where it will be moved to.  Call
270         dead_debug_insert_temp.
271         (prepare_shrink_wrap): Adjust caller.  Call dead_debug_local_init
272         first and dead_debug_local_finish at the end.
273         For uses and defs bitmap, handle all regs in between REGNO and
274         END_REGNO, not just the first one.
276 2016-01-19  Richard Biener  <rguenther@suse.de>
278         PR tree-optimization/69352
279         * tree-ssa-scopedtables.c (avail_expr_hash): Check for size == -1.
280         (equal_mem_array_ref_p): Constrain size and max size properly.
281         Compare the reverse flag.
283 2016-01-19  Bernd Schmidt  <bschmidt@redhat.com>
285         * ira.c (ira): Update regstat data if we deleted insns.
287 2016-01-19  Jakub Jelinek  <jakub@redhat.com>
289         PR rtl-optimization/68955
290         PR rtl-optimization/64557
291         * dse.c (record_store, check_mem_read_rtx): Don't call get_addr
292         here.  Fix up formatting.
293         * alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P.
295 2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
297         PR lto/69133
298         * cgraphunit.c (cgraph_node::expand_thunk): When forcing gimple
299         assume that the node has body.
300         * cgraph.c (cgraph_node::get_untransformed_body): Use gimple_body_p
301         check.
303 2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
305         * lto-streamer-out.c (lto_output): Do not stream instrumentation
306         thunks.
308 2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
310         * symtab.c (symtab_node::asm_name): Do not call printable name directly.
311         (symtab_node::name): Report name as unnamed if DECL_NAME is not set.
313 2016-01-19  Martin Jambor  <mjambor@suse.cz>
314             Martin Liska  <mliska@suse.cz>
315             Michael Matz <matz@suse.de>
317         * Makefile.in (OBJS): Add new source files.
318         (GTFILES): Add hsa.c.
319         * common.opt (disable_hsa): New variable.
320         (-Whsa): New warning.
321         * config.in (ENABLE_HSA): New.
322         * configure.ac: Treat hsa differently from other accelerators.
323         (OFFLOAD_TARGETS): Define ENABLE_OFFLOADING according to
324         $enable_offloading.
325         (ENABLE_HSA): Define ENABLE_HSA according to $enable_hsa.
326         * doc/install.texi (Configuration): Document --with-hsa-runtime,
327         --with-hsa-runtime-include, --with-hsa-runtime-lib and
328         --with-hsa-kmt-lib.
329         * doc/invoke.texi (-Whsa): Document.
330         (hsa-gen-debug-stores): Likewise.
331         * lto-wrapper.c (compile_images_for_offload_targets): Do not attempt
332         to invoke offload compiler for hsa acclerator.
333         * opts.c (common_handle_option): Determine whether HSA offloading
334         should be performed.
335         * params.def (PARAM_HSA_GEN_DEBUG_STORES): New parameter.
336         * builtin-types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
337         (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
338         (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
339         * gimple-low.c (lower_stmt): Also handle GIMPLE_OMP_GRID_BODY.
340         * gimple-pretty-print.c (dump_gimple_omp_for): Also handle
341         GF_OMP_FOR_KIND_GRID_LOOP.
342         (dump_gimple_omp_block): Also handle GIMPLE_OMP_GRID_BODY.
343         (pp_gimple_stmt_1): Likewise.
344         * gimple-walk.c (walk_gimple_stmt): Likewise.
345         * gimple.c (gimple_build_omp_grid_body): New function.
346         (gimple_copy): Also handle GIMPLE_OMP_GRID_BODY.
347         * gimple.def (GIMPLE_OMP_GRID_BODY): New.
348         * gimple.h (enum gf_mask): Added GF_OMP_PARALLEL_GRID_PHONY,
349         GF_OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY and
350         GF_OMP_TEAMS_GRID_PHONY.
351         (gimple_statement_omp_single_layout): Updated comments.
352         (gimple_build_omp_grid_body): New function.
353         (gimple_has_substatements): Also handle GIMPLE_OMP_GRID_BODY.
354         (gimple_omp_for_grid_phony): New function.
355         (gimple_omp_for_set_grid_phony): Likewise.
356         (gimple_omp_parallel_grid_phony): Likewise.
357         (gimple_omp_parallel_set_grid_phony): Likewise.
358         (gimple_omp_teams_grid_phony): Likewise.
359         (gimple_omp_teams_set_grid_phony): Likewise.
360         (gimple_return_set_retbnd): Also handle GIMPLE_OMP_GRID_BODY.
361         * omp-builtins.def (BUILT_IN_GOMP_OFFLOAD_REGISTER): New.
362         (BUILT_IN_GOMP_OFFLOAD_UNREGISTER): Likewise.
363         (BUILT_IN_GOMP_TARGET): Updated type.
364         * omp-low.c: Include symbol-summary.h, hsa.h and params.h.
365         (adjust_for_condition): New function.
366         (get_omp_for_step_from_incr): Likewise.
367         (extract_omp_for_data): Moved parts to adjust_for_condition and
368         get_omp_for_step_from_incr.
369         (build_outer_var_ref): Handle GIMPLE_OMP_GRID_BODY.
370         (fixup_child_record_type): Bail out if receiver_decl is NULL.
371         (scan_sharing_clauses): Handle OMP_CLAUSE__GRIDDIM_.
372         (scan_omp_parallel): Do not create child functions for phony
373         constructs.
374         (check_omp_nesting_restrictions): Handle GIMPLE_OMP_GRID_BODY.
375         (scan_omp_1_op): Checking assert we are not remapping to
376         ERROR_MARK.  Also also handle GIMPLE_OMP_GRID_BODY.
377         (parallel_needs_hsa_kernel_p): New function.
378         (expand_parallel_call): Register apprpriate parallel child
379         functions as HSA kernels.
380         (grid_launch_attributes_trees): New type.
381         (grid_attr_trees): New variable.
382         (grid_create_kernel_launch_attr_types): New function.
383         (grid_insert_store_range_dim): Likewise.
384         (grid_get_kernel_launch_attributes): Likewise.
385         (get_target_argument_identifier_1): Likewise.
386         (get_target_argument_identifier): Likewise.
387         (get_target_argument_value): Likewise.
388         (push_target_argument_according_to_value): Likewise.
389         (get_target_arguments): Likewise.
390         (expand_omp_target): Call get_target_arguments instead of looking
391         up for teams and thread limit.
392         (grid_expand_omp_for_loop): New function.
393         (grid_arg_decl_map): New type.
394         (grid_remap_kernel_arg_accesses): New function.
395         (grid_expand_target_kernel_body): New function.
396         (expand_omp): Call it.
397         (lower_omp_for): Do not emit phony constructs.
398         (lower_omp_taskreg): Do not emit phony constructs but create for them
399         a temporary variable receiver_decl.
400         (lower_omp_taskreg): Do not emit phony constructs.
401         (lower_omp_teams): Likewise.
402         (lower_omp_grid_body): New function.
403         (lower_omp_1): Call it.
404         (grid_reg_assignment_to_local_var_p): New function.
405         (grid_seq_only_contains_local_assignments): Likewise.
406         (grid_find_single_omp_among_assignments_1): Likewise.
407         (grid_find_single_omp_among_assignments): Likewise.
408         (grid_find_ungridifiable_statement): Likewise.
409         (grid_target_follows_gridifiable_pattern): Likewise.
410         (grid_remap_prebody_decls): Likewise.
411         (grid_copy_leading_local_assignments): Likewise.
412         (grid_process_kernel_body_copy): Likewise.
413         (grid_attempt_target_gridification): Likewise.
414         (grid_gridify_all_targets_stmt): Likewise.
415         (grid_gridify_all_targets): Likewise.
416         (execute_lower_omp): Call grid_gridify_all_targets.
417         (make_gimple_omp_edges): Handle GIMPLE_OMP_GRID_BODY.
418         * tree-core.h (omp_clause_code): Added OMP_CLAUSE__GRIDDIM_.
419         (tree_omp_clause): Added union field dimension.
420         * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__GRIDDIM_.
421         * tree.c (omp_clause_num_ops): Added number of arguments of
422         OMP_CLAUSE__GRIDDIM_.
423         (omp_clause_code_name): Added name of OMP_CLAUSE__GRIDDIM_.
424         (walk_tree_1): Handle OMP_CLAUSE__GRIDDIM_.
425         * tree.h (OMP_CLAUSE_GRIDDIM_DIMENSION): New.
426         (OMP_CLAUSE_SET_GRIDDIM_DIMENSION): Likewise.
427         (OMP_CLAUSE_GRIDDIM_SIZE): Likewise.
428         (OMP_CLAUSE_GRIDDIM_GROUP): Likewise.
429         * passes.def: Schedule pass_ipa_hsa and pass_gen_hsail.
430         * tree-pass.h (make_pass_gen_hsail): Declare.
431         (make_pass_ipa_hsa): Likewise.
432         * ipa-hsa.c: New file.
433         * lto-section-in.c (lto_section_name): Add hsa section name.
434         * lto-streamer.h (lto_section_type): Add hsa section.
435         * timevar.def (TV_IPA_HSA): New.
436         * hsa-brig-format.h: New file.
437         * hsa-brig.c: New file.
438         * hsa-dump.c: Likewise.
439         * hsa-gen.c: Likewise.
440         * hsa.c: Likewise.
441         * hsa.h: Likewise.
442         * toplev.c (compile_file): Call hsa_output_brig.
443         * hsa-regalloc.c: New file.
445 2016-01-18  Jeff Law  <law@redhat.com>
447         PR tree-optimization/69320
448         * tree-ssa-dom.c (record_edge_info): For comparisons against a boolean
449         ranged object, do nothing if the RHS constant is not [0..1].
450         (optimize_stmt): Comparing a boolean ranged object against a
451         constant outside [0..1] results in a compile-time constant.
453         * tree-ssanames.c (ssa_name_has_boolean_range): Remove unnecessary
454         test.
456 2016-01-18  Sandra Loosemore <sandra@codesourcery.com>
458         * doc/invoke.texi (Invoking GCC): Add new section to menu.
459         (Option Summary): Update to reflect new section and moved options.
460         (C++ Dialect Options): Move -fstats to new section.
461         (Debugging Options): Move all dump, statistics, and other GCC
462         developer options to new section.  Rewrite section introduction
463         and re-order remaining options to put the more basic ones first.
464         (Optimization Options): Move -fira-verbose and -flto-report* to
465         new section.
466         (Developer Options): New section incorporating moved options.
467         * doc/cppopts.texi (-dM): Update cross-reference.
469 2016-01-18  Richard Henderson  <rth@redhat.com>
471         PR target/69176
472         * config/aarch64/aarch64.md (add<GPI>3): Move long immediate
473         operands to pseudo only if CSE is expected.  Split long immediate
474         operands only after reload, and for the stack pointer.
475         (*add<GPI>3_pluslong): Remove.
476         (*addsi3_aarch64, *adddi3_aarch64): Merge into...
477         (*add<GPI>3_aarch64): ... here.  Add r/rk/Upl alternative.
478         (*addsi3_aarch64_uxtw): Add r/rk/Upl alternative.
479         (*add<GPI>3 peepholes): New.
480         (*add<GPI>3 splitters): New.
481         * config/aarch64/constraints.md (Upl): New.
482         * config/aarch64/predicates.md (aarch64_pluslong_strict_immedate): New.
484 2016-01-18  Richard Biener  <rguenther@suse.de>
486         PR tree-optimization/69297
487         * tree-vect-slp.c (vect_bb_slp_scalar_cost): Count each scalar
488         stmt at most once.
489         (vect_bb_vectorization_profitable_p): Clear visited flag again.
491 2016-01-18  Yuri Rumyantsev  <ysrumyan@gmail.com>
493         PR middle-end/68542
494         * fold-const.c (fold_binary_op_with_conditional_arg): Bail out for case
495         of mixind vector and scalar types.
496         (fold_relational_const): Add handling of vector
497         comparison with boolean result.
498         * tree-cfg.c (verify_gimple_comparison): Add argument CODE, allow
499         comparison of vector operands with boolean result for EQ/NE only.
500         (verify_gimple_assign_binary): Adjust call for verify_gimple_comparison.
501         (verify_gimple_cond): Likewise.
502         * tree-vrp.c (extract_code_and_val_from_cond_with_ops): Modify check on
503         valid type of VAL.
505 2016-01-18  Joseph Myers  <joseph@codesourcery.com>
507         * config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): Require
508         !TARGET_OCTEON.
510 2016-01-18  Richard Biener  <rguenther@suse.de>
512         PR middle-end/69308
513         * gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND.
515 2016-01-18  Tom de Vries  <tom@codesourcery.com>
517         * passes.def: Add pass_parallelize_loops to pass_oacc_kernels.
519 2016-01-18  Tom de Vries  <tom@codesourcery.com>
521         * omp-low.c (set_oacc_fn_attrib): Make extern.
522         * omp-low.h (set_oacc_fn_attrib): Declare.
523         * tree-parloops.c (struct reduction_info): Add reduc_addr field.
524         (create_call_for_reduction_1): Handle case that reduc_addr is non-NULL.
525         (create_parallel_loop, gen_parallel_loop, try_create_reduction_list):
526         Add and handle function parameter oacc_kernels_p.
527         (find_reduc_addr, get_omp_data_i_param): New function.
528         (ref_conflicts_with_region, oacc_entry_exit_ok_1)
529         (oacc_entry_exit_single_gang, oacc_entry_exit_ok): New function.
530         (parallelize_loops): Add and handle function parameter oacc_kernels_p.
531         Calculate dominance info.  Skip loops that are not in a kernels region
532         in oacc_kernels_p mode.  Skip inner loops of parallelized loops.
533         (pass_parallelize_loops::execute): Call parallelize_loops with
534         oacc_kernels_p argument.
535         (pass_parallelize_loops::clone, pass_parallelize_loops::set_pass_param):
536         New member function.
537         (pass_parallelize_loops::bool oacc_kernels_p): New member var.
538         * passes.def: Add argument to pass_parallelize_loops instantation.
540 2016-01-18  Tom de Vries  <tom@codesourcery.com>
542         * tree-parloops.c (pass_parallelize_loops::execute): Allow
543         pass_parallelize_loops to be run outside the loop pipeline.
545 2016-01-18  Alan Lawrence  <alan.lawrence@arm.com>
547         * tree-scalar-evolution.c (follow_copies_to_constant): New.
548         (analyze_initial_condition, analyze_scalar_evolution_1): Call previous.
550 2016-01-18  Alan Lawrence  <alan.lawrence@arm.com>
552         PR target/63679
553         * tree-ssa-scopedtables.c (avail_expr_hash): Hash MEM_REF and ARRAY_REF
554         using get_ref_base_and_extent.
555         (equal_mem_array_ref_p): New.
556         (hashable_expr_equal_p): Add call to previous.
558 2016-01-18  Alan Lawrence  <alan.lawrence@arm.com>
560         PR target/63679
561         * tree-sra.c (disqualified_constants, constant_decl_p): New.
562         (sra_initialize): Allocate disqualified_constants.
563         (sra_deinitialize): Free disqualified_constants.
564         (disqualify_candidate): Update disqualified_constants when appropriate.
565         (create_access): Scan for constant-pool entries as we go along.
566         (scalarizable_type_p): Add check against type_contains_placeholder_p.
567         (maybe_add_sra_candidate): Allow constant-pool entries.
568         (load_assign_lhs_subreplacements): Bind debug for constant pool vars.
569         (initialize_constant_pool_replacements): New.
570         (sra_modify_assign): Avoid mangling assignments created by previous,
571         and don't generate writes into constant pool.
572         (sra_modify_function_body): Call initialize_constant_pool_replacements.
574 2016-01-18  Ilya Enkovich  <enkovich.gnu@gmail.com>
576         * config/i386/i386.c (scalar_to_vector_candidate_p): Support
577         andnot instruction.
578         (scalar_chain::convert_op): Likewise.
579         * config/i386/i386.md (*andndi3_doubleword): New.
581 2016-01-18  Richard Biener  <rguenther@suse.de>
583         PR tree-optimization/69170
584         * tree-vect-slp.c (vect_build_slp_tree): Verify we are not
585         building a vector from scalar results of a pattern stmt.
587 2016-01-18  Jakub Jelinek  <jakub@redhat.com>
589         * haifa-sched.c (autopref_multipass_init): Work around
590         -Wmaybe-uninitialized warning.
592 2016-01-18  Thomas Preud'homme  <thomas.preudhomme@arm.com>
594         * config/arm/arm.c (thumb1_reorg): Check that the comparison is
595         against the constant 0.
597 2016-01-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
599         PR tree-optimization/68799
600         * gimple-ssa-strength-reduction.c (create_phi_basis): Directly
601         look up phi candidates in the statement-candidate map.
602         (phi_add_costs): Likewise.
603         (record_phi_increments): Likewise.
604         (phi_incr_cost): Likewise.
605         (ncd_with_phi): Likewise.
606         (all_phi_incrs_profitable): Likewise.
608 2016-01-17  Jakub Jelinek  <jakub@redhat.com>
610         * omp-low.c (mark_loops_in_oacc_kernels_region): Work around
611         -Wmaybe-uninitialized warning.
613 2016-01-16  Sandra Loosemore  <sandra@codesourcery.com>
615         * doc/invoke.texi (Invoking GCC): Add new section to menu.
616         (Option Summary): Update to reflect new section and moved options.
617         (C++ Dialect Options): Move -fvtable-verify and related options.
618         (Debugging Options): Move Sanitizer, Pointer Bounds Checker,
619         and profiling-related options.
620         (Optimization Options): Move profile generation options and
621         -fstack-protector and related options.
622         (Instrumentation Options): New section incorporating moved options.
623         (Code Generation Options): Move -finstrument-functions and
624         related options, -fstack-check, -fstack-limit*, and -fbounds-check.
626 2016-01-16  Tom de Vries  <tom@codesourcery.com>
628         * passes.def: Move pass_expand_omp_ssa out of pass_parallelize_loops.
630 2016-01-16  Tom de Vries  <tom@codesourcery.com>
632         * omp-low.c (expand_omp_atomic_fetch_op):  Release defs of update stmt.
634 2016-01-16  Richard Sandiford  <richard.sandiford@arm.com>
636         * hash-table.h (hash_table::empty): Turn into an inline wrapper
637         that checks whether the table is already empty.  Rename the
638         original implementation to...
639         (hash_table::empty_slot): ...this new private function.
641 2016-01-15  David Malcolm  <dmalcolm@redhat.com>
643         PR diagnostic/68899
644         * diagnostic-show-locus.c (layout::print_source_line): Move x
645         offset of line until after call to
646         get_line_width_without_trailing_whitespace.
648 2016-01-15  Jeff Law  <law@redhat.com>
650         PR tree-optimization/69270
651         * tree-ssanames.c (ssa_name_has_boolean_range): Moved here from
652         tree-ssa-dom.c.  Improve test for [0..1] ranve from VRP.
653         * tree-ssa-dom.c (ssa_name_has_boolean_range): Remove.
654         * tree-ssanames.h (ssa_name_has_boolean_range): Prototype.
655         * tree-ssa-uncprop.c (associate_equivalences_with_edges): Use
656         ssa_name_has_boolean_range and constant_boolean_node.
658 2016-01-15  Vladimir Makarov  <vmakarov@redhat.com>
660         PR rtl-optimization/69030
661         * lra-spills.c (remove_pseudos): Check nrefs and make the function
662         returning bool.
663         (spill_pseudos): Delete debug insn for dead pseudo.
664         (lra_spill): Initiate spill_hard_reg and slots memory separately.
666 2016-01-15  Jiong Wang  <jiong.wang@arm.com>
668         * config/aarch64/aarch64-builtins.c (aarch64_types_unopus_qualifiers):
669         New.
670         (TYPES_UNOPUS): Likewise.
671         * config/aarch64/aarch64-simd-builtins.def (lbtruncuv2sf): Correct
672         builtin type, from UNOP to UNOPUS.
673         (lbtruncuv4sf): Likewise.
674         (lbtruncuv2df): Likewise.
675         (lrounduv2sf): Likewise.
676         (lrounduv4sf): Likewise.
677         (lrounduv2df): Likewise.
678         (lroundusf): Likewise.
679         (lroundusf): Likewise.
680         (lceiluv2sf): Likewise.
681         (lceiluv4sf): Likewise.
682         (lceiluv2df): Likewise.
683         (lceilusf): Likewise.
684         (lceiludf): Likewise.
685         (lflooruv2sf): Likewise.
686         (lflooruv4sf): Likewise.
687         (lflooruv2df): Likewise.
688         (lfloorusf): Likewise.
689         (lfloorudf): Likewise.
690         (lfrintnuv2sf): Likewise.
691         (lfrintnuv4sf): Likewise.
692         (lfrintnuv2df): Likewise.
693         (lfrintnusf): Likewise.
694         (lfrintnudf): Likewise.
695         * config/aarch64/arm_neon.h (vcvt_u32_f32): Remove unncessary type
696         conversion.
697         (vcvtq_u32_f32): Likewise.
698         (vcvtq_u64_f64): Likewise.
699         (vcvta_u32_f32): Likewise.
700         (vcvtaq_u32_f32): Likewise.
701         (vcvtaq_u64_f64): Likewise.
702         (vcvtm_u32_f32): Likewise.
703         (vcvtmq_u32_f32): Likewise.
704         (vcvtmq_u64_f64): Likewise.
705         (vcvtn_u32_f32): Likwise.
706         (vcvtnq_u32_f32): Likewise.
707         (vcvtnq_u64_f64): Likewise.
708         (vcvtp_u32_f32): Likewise.
709         (vcvtpq_u32_f32): Likewise.
710         (vcvtpq_u64_f64): Likewise.
711         (vcvtmd_u64_f64): Likewise.
712         (vcvtms_u32_f32): Likewise.
713         (vcvtad_u64_f64): Likewise.
714         (vcvtas_u32_f32): Likewise.
715         (vcvtnd_u64_f64): Likewise.
716         (vcvtns_u32_f32): Likewise.
717         (vcvtpd_u64_f64): Likewise.
718         (vcvtps_u32_f32): Likewise.
720 2016-01-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
722         * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Handle
723         CSEL of zero_extended registers.
725 2016-01-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
727         * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
728         Handle COMPARE of ZERO_EXTRACT against zero form of TST-immediate.
730 2016-01-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
732         * config/aarch64/aarch64.c (aarch64_process_one_target_attr): Return
733         false when argument string is not found in the attributes table
734         at all.
736 2016-01-15  David Edelsohn  <dje.gcc@gmail.com>
738         PR target/68609
739         * config/rs6000/rs6000.c (rs6000_emit_msub): Delete.
740         (rs6000_emit_swsqrt): Convert to Goldschmidt's Algorithm
741         * config/rs6000/rs6000.md (sqrt<mode>2): Limit swsqrt to high
742         precision estimate.
744 2016-01-15  Richard Biener  <rguenther@suse.de>
746         PR tree-optimization/66856
747         * tree-vect-loop.c (vect_transform_loop): Free SLP instances here.
748         * tree-vect-slp.c (vect_free_slp_tree): Decrement stmt reference count.
749         (vect_create_new_slp_node): Increment stmt reference count.
750         (vect_get_and_check_slp_defs): Make sure stmts are nor already in
751         an SLP tree before swapping operands.
752         (vect_build_slp_tree): Likewise.
753         (destroy_bb_vec_info): Free stmt info after SLP instances.
754         * tree-vect-stmts.c (new_stmt_vec_info): Initialize reference count.
755         * tree-vectorizer.h (struct _stmt_vec_info): Add num_slp_uses field.
756         (STMT_VINFO_NUM_SLP_USES): New macro.
758 2016-01-15  Richard Biener  <rguenther@suse.de>
760         PR debug/69137
761         * dwarf2out.c (add_linkage_name_raw): New function split out from ...
762         (add_linkage_name): ... here.
763         (gen_typedef_die): Use add_linkage_name_raw instead of
764         add_linkage_attr to delay DECL_ASSEMBLER_NAME computation
765         if necessary.
767 2016-01-15  Cesar Philippidis  <cesar@codesourcery.com>
769         * gimplify.c (oacc_default_clause): Decode reference and pointer
770         types for both kernels and parallel regions.
772 2016-01-15  Richard Sandiford  <richard.sandiford@arm.com>
774         PR middle-end/69246
775         * calls.c (emit_call_1): Force n_popped to zero for sibcalls.
777 2016-01-15  Ilya Enkovich  <enkovich.gnu@gmail.com>
779         * config/i386/i386.c (scalar_chain::compute_convert_gain): Fix typo.
780         (convert_scalars_to_vector): Likewise.
782 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
784         * doc/extend.texi (Type Traits): Fix grammar.
786 2016-01-15  Martin Jambor  <mjambor@suse.cz>
788         * tree-inline.c (remap_decl): Use existing dclarations if
789         remapping a type and prevent_decl_creation_for_types.
790         (replace_locals_stmt): Do an initial remapping of non-VLA typed
791         decls first.  Do real remapping with
792         prevent_decl_creation_for_types set.
793         * tree-inline.h (copy_body_data): New field
794         prevent_decl_creation_for_types, moved remap_var_for_cilk to avoid
795         padding.
797 2016-01-15  Dominik Vogt  <vogt@linux.vnet.ibm.com>
799         * config/s390/s390.opt (mmvcle): More verbose help text.
801 2016-01-15  Dominik Vogt  <vogt@linux.vnet.ibm.com>
803         * config/s390/s390.opt: Add period to -mzvector option text.
805 2016-01-15  Richard Biener  <rguenther@suse.de>
807         PR tree-optimization/68961
808         * tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost
809         of invariants in stores again.
811 2016-01-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
813         * config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib.
815 2016-01-15  Ilya Enkovich  <enkovich.gnu@gmail.com>
817         * config/i386/i386.c (ix86_expand_branch): Don't split
818         DI mode xor instruction to SI mode.
820 2016-01-15  Jan Hubicka  <hubicka@ucw.cz>
822         PR ipa/68148
823         * ipa-icf.c (sem_function::merge): Virtual functions may become
824         reachable even if they address is not taken and there are no
825         idrect calls.
827 2016-01-15  Jan Hubicka  <hubicka@ucw.cz>
829         * lto-streamer-out.c (subtract_estimated_size): New function.
830         (get_symbol_initial_value): Use it.
832 2016-01-15  Christian Bruel  <christian.bruel@st.com>
834         PR target/65837
835         * config/arm/arm-builtins.c (ARM_BUILTIN_CRYPTO_BASE): New enum tag.
836         (arm_init_neon_builtins_internal): Rename arm_init_neon_builtins,
837         (arm_init_crypto_builtins_internal): Rename arm_init_crypto_builtins.
838         use add_builtin_function_ext_scope instead of add_builtin_function.
839         (neon_set_p, neon_crypto_set_p): Remove.
840         (arm_init_builtins): Always call arm_init_neon_builtins and
841         arm_init_crypto_builtins.
842         (arm_expand_builtin): Check that builtins are allowed for the arch.
843         * config/arm/arm-protos.h (arm_init_neon_builtins): Remove prototype.
844         * config/arm/arm.c (arm_valid_target_attribute_tree): Remove
845         arm_init_neon_builtins call.
847 2016-01-15  Richard Biener  <rguenther@suse.de>
849         PR tree-optimization/69117
850         * tree-ssa-sccvn.h (struct vn_ssa_aux): Add info member.
851         * tree-ssa-sccvn.c (set_ssa_val_to): Save and adjust SSA name info
852         of the leader conservatively.
853         (free_scc_vn): Restore original SSA name infos.
855 2016-01-14  Jeff Law  <law@redhat.com>
857         PR tree-optimization/69270
858         * tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a
859         single bit of precision, verify it's also unsigned.
860         (record_edge_info): Use constant_boolean_node rather than fold_convert
861         to convert boolean_true/boolean_false to the right type.
863 2016-01-14  Richard Henderson  <rth@redhat.com>
865         PR rtl-opt/69014
866         * loop-doloop.c (record_reg_sets): New.
867         (doloop_optimize): Reject the transform if the sequence
868         clobbers registers live at the end of the loop block.
869         (doloop_optimize_loops): Enable df_live if needed. 
871 2016-01-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
873         * config/rs6000/rs6000-builtin.def: Revert 2016-01-13 change.
874         * gcc/config/rs6000/rs6000.c: Likewise.
875         * gcc/config/rs6000/rs6000.h: Likewise.
876         * gcc/config/rs6000/rs6000.md: Likewise.
877         * gcc/doc/extend.texi: Likewsie.
879 2016-01-14  Jeff Law  <law@redhat.com>
881         * tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment
882         typo.
884 2016-01-14  Richard Henderson  <rth@redhat.com>
886         PR c/69272
887         PR tree-opt/68964
888         * trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size.
889         * tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p
890         instead of builtin_decl_declared_p to test for declaration.
892 2016-01-14  Nicklas Bo Jensen  <nbjensen@gmail.com>
894         * doc/loop.texi (Loop Analysis and Representation): Document
895         loop_depth function.
897 2016-01-14  Tom de Vries  <tom@codesourcery.com>
899         PR tree-optimization/68773
900         * omp-low.c (expand_omp_target): Don't set force_output.
901         * varpool.c (varpool_node::get_create): Same.
902         * lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and
903         offload_funcs with force_output.
905 2016-01-14  Jakub Jelinek  <jakub@redhat.com>
907         PR debug/69244
908         * lra-eliminations.c (move_plus_up): Don't change anything if either
909         the outer or inner subreg mode is not MODE_INT.
910         * dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is
911         integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards.
913 2016-01-14  Alan Lawrence  <alan.lawrence@arm.com>
915         * doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m},
916         reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m},
917         reduc_uplus_@var{m}): Remove.
918         * expr.c (expand_expr_real_2): Remove expansion path for
919         reduc_[us](min|max|plus) optabs.
920         * optabs-tree.c (scalar_reduc_to_vector): Remove.
921         * optabs-tree.h (scalar_reduc_to_vector): Remove.
922         * optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab,
923         reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove.
924         * tree-vect-loop.c (vectorizable_reduction): Remove test for
925         reduc_[us](min|max|plus) optabs.
927 2016-01-14  Alan Lawrence  <alan.lawrence@arm.com>
929         * config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove.
930         (reduc_plus_scal_v2sf): New.
931         (reduc_smax_v2sf): Rename to...
932         (reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract.
933         (reduc_smin_v2sf): Rename to...
934         (reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract.
936 2016-01-14  Jan Hubicka  <hubicka@ucw.cz>
938         * alias.c (compare_base_symbol_refs): New function.
939         (rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use
940         it.
942 2016-01-14  Jakub Jelinek  <jakub@redhat.com>
944         PR middle-end/68146
945         PR tree-optimization/69155
946         * tree-complex.c: Include cfganal.h.
947         (phis_to_revisit): New variable.
948         (extract_component): Add phiarg_p argument.  Assert that returned
949         SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true.
950         (update_phi_components): Partly rewrite to use loop over real/imag
951         components instead of code duplication.  If extract_component returns
952         SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or
953         create_tmp_reg into the PHI node instead, and mention the phi triplet
954         in phis_to_revisit.
955         (tree_lower_complex): Walk bbs in rpo order.  Adjust phis recorded
956         in phis_to_revisit at the end.
958 2016-01-14  Richard Biener  <rguenther@suse.de>
960         PR tree-optimization/68060
961         * tree-vect-loop.c (vect_is_simple_reduction): Check the
962         outer loop reduction is only used in the inner loop before
963         detecting a double reduction.
965 2016-01-14  Jakub Jelinek  <jakub@redhat.com>
967         PR target/68269
968         * combine.c (expand_field_assignment): Punt if compute_mode is
969         unsupported scalar mode.
971 2016-01-14  Richard Biener  <rguenther@suse.de>
973         PR tree-optimization/66856
974         * tree-vect-slp.c (vect_build_slp_tree): Refactor to build
975         SLP node only if it built successfully.
976         (vect_analyze_slp_instance): Adjust.
978 2016-01-14  Jeff Law  <law@redhat.com>
980         PR tree-optimization/69270
981         * tree-ssa-dom.c (ssa_name_has_boolean_range): New function.
982         (record_edge_info): Use it.  Convert boolean_{true,false}_node
983         to the type of op0.
985 2016-01-13  Jan Hubicka  <hubicka@ucw.cz>
987         PR ipa/66487
988         * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p):
989         use block_ultimate_origin
990         (noncall-stmt_may_be_vtbl_ptr_store): Likewise.
992 2016-01-13  Sandra Loosemore <sandra@codesourcery.com>
994         * doc/invoke.texi (Submodel Options): Rename section to
995         "Machine-Dependent Options" to better reflect its content.
996         Rewrite introductory text to remove archaic CPU names.
997         Update references.
999 2016-01-13  Sandra Loosemore <sandra@codesourcery.com>
1001         * doc/invoke.texi (Code Gen Options): Move section up in file,
1002         before target-specific options.  Update menu and option summary
1003         to reflect the new section ordering.
1005 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
1007         * doc/invoke.texi (C Dialect Options): Adjust -std default for C++.
1008         (C++ Dialect Options): Add cross-reference to -std option.
1009         * doc/standards.texi (C++ Language): Document C++14 support.
1011 2016-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
1013         * config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support
1014         for pack/unpack functions for __ibm128.
1015         (PACK_IF): Likewise.
1016         (UNPACK_IF): Likewise.
1018         * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
1019         support for __ibm128 pack/unpack functions.
1020         (rs6000_invalid_builtin): Likewise.
1021         (rs6000_init_builtins): Likewise.
1022         (rs6000_opt_masks): Likewise.
1024         * config/rs6000/rs6000.h (MASK_FLOAT128): Add short name.
1025         (RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack
1026         functions
1027         (RS6000_BTM_COMMON): Likewise.
1029         * config/rs6000/rs6000.md (f128_vsx): New mode attribute.
1030         (unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to
1031         disallow __builtin_{pack,unpack}_longdouble if long double is IEEE
1032         128-bit floating point.  Add support for the double values to be
1033         in Altivec registers for TF/IF packing and unpacking, but restrict
1034         TD packing sub-fields to be FPR registers.  Don't allow overlapped
1035         register support for packing.  Allow pack inputs to be memory
1036         locations.  Don't build generator functions for unpack<mode>_dm
1037         and unpack<mode>_nodm.
1038         (unpack<mode>_dm): Likewise.
1039         (unpack<mode>_nodm): Likewise.
1040         (pack<mode>): Likewise.
1042         * config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add
1043         built-in functions to pack/unpack explicit __ibm128 values.
1044         (__builtin_unpack_ibm128): Likewise.
1046         * doc/extend.texi (PowerPC Built-in Functions): Document
1047         __builtin_pack_ibm128 and __builtin_unpack_ibm128.
1049 2016-01-13  Bernd Schmidt  <bschmidt@redhat.com>
1051         PR c/66208
1052         * c-common.c (check_function_nonnull): Remove unnecessary declaration.
1053         Add new arg loc and pass it down as context.
1054         (check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer
1055         to the location to use for the warning.
1056         (check_function_arguments): New arg loc.  All callers changed.  Pass
1057         it to check_function_nonnull.
1058         * c-common.h (check_function_arguments): Adjust declaration.
1060 2016-01-13  Jakub Jelinek  <jakub@redhat.com>
1062         PR tree-optimization/69156
1063         * gimple.c (validate_type): Removed.
1064         (gimple_builtin_call_types_compatible_p): Use
1065         useless_type_conversion_p instead of validate_type.
1066         * value-prof.c (gimple_stringop_fixed_value): Fold
1067         icall_size to correct type.
1069 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
1071         * doc/extend.texi (__atomic Builtins): Clarify compare_exchange
1072         effects.
1074 2016-01-13  Richard Henderson  <rth@redhat.com>
1076         PR tree-opt/68964
1077         * target.def (builtin_tm_load, builtin_tm_store): Remove.
1078         * config/i386/i386.c (ix86_builtin_tm_load): Remove.
1079         (ix86_builtin_tm_store): Remove.
1080         (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
1081         (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
1082         * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
1083         (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
1084         * doc/tm.texi: Rebuild.
1086         * gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New.
1087         (BUILT_IN_TM_MEMCPY_RTWN): New.
1088         * trans-mem.c (tm_log_emit_stmt): Rearrange code for better
1089         fallback from vector to integer helpers.
1090         (build_tm_load): Handle vector types directly, instead of
1091         via target hook.
1092         (build_tm_store): Likewise.
1093         (expand_assign_tm): Prepare for register types not handled by
1094         the above.  Copy them to memory and use memcpy.
1095         * tree.c (tm_define_builtin): New.
1096         (find_tm_vector_type): New.
1097         (build_tm_vector_builtins): New.
1098         (build_common_builtin_nodes): Call it.
1100 2016-01-13  Uros Bizjak  <ubizjak@gmail.com>
1102         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for
1103         TARGET_SSE_MATH without TARGET_SSE2.  Rewrite.
1105 2016-01-13  Tom de Vries  <tom@codesourcery.com>
1107         PR tree-optimization/69169
1108         * tree-ssa-structalias.c (create_variable_info_for_1): Add and handle
1109         handled_struct_type param.
1110         (create_variable_info_for, intra_create_variable_infos): Call
1111         create_variable_info_for_1 with extra arg.
1113 2016-01-13  Yvan Roux  <yvan.roux@linaro.org>
1115         * config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a"
1116         and "armv8.1-a+crc" entries.
1118 2016-01-13  Alexander Fomin  <alexander.fomin@intel.com>
1120         PR target/69228
1121         * config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"):
1122         Change first operand predicate from register_or_constm1_operand
1123         to register_operand.
1124         (define_expand "avx512pf_gatherpf<mode>df"): Likewise.
1125         (define_expand "avx512pf_scatterpf<mode>sf"): Likewise.
1126         (define_expand "avx512pf_scatterpf<mode>df"): Likewise.
1127         (define_insn "*avx512pf_gatherpf<mode>sf"): Remove.
1128         (define_insn "*avx512pf_gatherpf<mode>df"): Likewise.
1129         (define_insn "*avx512pf_scatterpf<mode>sf"): Likewise.
1130         (define_insn "*avx512pf_scatterpf<mode>df"): Likewise.
1131         * config/i386/i386.c (ix86_expand_builtin): Remove first operand
1132         comparison with constm1_rtx from vec_prefetch_gen part.
1134 2016-01-13  Richard Biener  <rguenther@suse.de>
1136         PR tree-optimization/69013
1137         * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths):
1138         Exchange assert for a test.
1140 2016-01-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
1142         PR target/69247
1143         * config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg.
1145 2016-01-13  Richard Biener  <rguenther@suse.de>
1147         PR tree-optimization/69242
1148         * tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus
1149         assert with a check.
1151 2016-01-13  Richard Biener  <rguenther@suse.de>
1153         PR tree-optimization/69186
1154         * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
1155         Properly guard vect_update_misalignment_for_peel call.
1157 2016-01-12  Jeff Law  <law@redhat.com>
1159         PR tree-optimization/pr67755
1160         * tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field
1161         "need_profile_correction".
1162         (thread_block_1): Initialize new field to false by default.  If we
1163         have multiple thread paths through a common joiner to different
1164         final targets, then set new field to true.
1165         (compute_path_counts): Only do count adjustment when it's really
1166         needed.
1168 2016-01-12  Sandra Loosemore  <sandra@codesourcery.com>
1170         * doc/invoke.texi (Spec Files): Move section down in file, past
1171         all command-line option descriptions.
1173 2016-01-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
1175         PR middle-end/54809
1176         * doc/gty.texi: Remove documentation of mark_hook.
1177         * gengtype.c (struct write_types_data): Remove code to support
1178         mark_hook attribute.
1179         (walk_type): Likewise.
1180         (write_func_for_structure): Likewise.
1182 2016-01-12  Sandra Loosemore  <sandra@codesourcery.com>
1184         * doc/invoke.texi (Option Summary) Move -no-canonical-prefixes to
1185         Directory Options, and -specs= to Overall Options.
1186         (Overall Options): Adjust similarly.  Reorder to group related
1187         options together.  Make -specs= cross-reference the spec file details.
1188         (Directory Options): Adjust similarly.
1190 2016-01-12  Jeff Law  <law@redhat.com>
1192         * tree-ssa-threadupdate.c: Various whitespace and typo fixes.
1194 2016-01-12  Olivier Hainque  <hainque@adacore.com>
1196         * gcc.c (spec_undefvar_allowed): New global.
1197         (process_command): Set to true when running for --version or --help,
1198         alone or together.
1199         (getenv_spec_function): When the variable is not defined, use the
1200         variable name as the variable value if we're allowed not to issue
1201         a fatal error.
1203 2016-01-12  Bin Cheng  <bin.cheng@arm.com>
1205         PR tree-optimization/68911
1206         * tree-vrp.c (adjust_range_with_scev): Check overflow in range
1207         information computed for expression "init + nit * step".
1209 2016-01-12  Sandra Loosemore  <sandra@codesourcery.com>
1211         * doc/invoke.texi (Invoking GCC): Copy-edit.  Incorporate information
1212         about name of GCC executable.  Remove deleted node from menu.
1213         (Directory Options) <-B>: Remove cross-reference to deleted node.
1214         (Target Options): Delete section.
1216 2016-01-12  Christian Bruel  <christian.bruel@st.com>
1218         PR target/69180
1219         * config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL
1220         for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX.
1222 2016-01-12  Jakub Jelinek  <jakub@redhat.com>
1224         PR target/69198
1225         * config/i386/i386.c (ix86_expand_special_args_builtin): Ensure
1226         aligned_mem is properly set for AVX512-VL floating point masked
1227         stores.
1229         PR target/69175
1230         * ifcvt.c (cond_exec_process_if_block): When removing the last
1231         insn from then_bb, remove also any possible barriers that follow it.
1233 2016-01-12  H.J. Lu  <hongjiu.lu@intel.com>
1235         PR target/68456
1236         PR target/69226
1237         * config/i386/iamcu.h (SIZE_TYPE): New macro.
1238         (PTRDIFF_TYPE): Likewise.
1239         (WCHAR_TYPE): Likewise.
1240         (WCHAR_TYPE_SIZE): Likewise.
1241         (STDINT_LONG32): Likewise.
1243 2016-01-12  Richard Biener  <rguenther@suse.de>
1245         PR tree-optimization/69053
1246         * tree-vect-loop.c (get_initial_def_for_reduction): Properly
1247         convert initial value for cond reductions.
1249 2016-01-12  Richard Biener  <rguenther@suse.de>
1251         PR tree-optimization/69007
1252         * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move
1253         widen_sum after dot_prod and sad.
1255 2016-01-12  Richard Biener  <rguenther@suse.de>
1257         PR tree-optimization/69168
1258         * tree-vect-loop.c (vect_analyze_loop_2): Reset both main and
1259         pattern stmt SLP type.
1260         * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may
1261         end up unused so cope with that case.
1263 2016-01-12  Richard Biener  <rguenther@suse.de>
1265         PR tree-optimization/69157
1266         * tree-vect-stmts.c (vectorizable_mask_load_store): Check
1267         stmts def type only during analyze phase.
1268         (vectorizable_call): Likewise.
1269         (vectorizable_simd_clone_call): Likewise.
1270         (vectorizable_conversion): Likewise.
1271         (vectorizable_assignment): Likewise.
1272         (vectorizable_shift): Likewise.
1273         (vectorizable_operation): Likewise.
1274         (vectorizable_store): Likewise.
1275         (vectorizable_load): Likewise.
1277 2016-01-12  Richard Biener  <rguenther@suse.de>
1279         PR tree-optimization/69174
1280         * tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical
1281         space.
1282         (vectorizable_load): Properly compute the number of loads needed
1283         for permuted strided SLP loads and do not spuriously assign
1284         to SLP_TREE_VEC_STMTS.
1286 2016-01-12  Andris Pavenis  <andris.pavenis@iki.fi>
1288         * config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2
1289         (TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive
1290         (MD_EXEC_PREFIX): Remove.
1291         (MD_STARTFILE_PREFIX) Removee.
1292         (FILE_NAME_ABSOLUTE_P): Remove.
1293         (CPP_SPEC): Do not read macros from sys/version.h.
1294         (LINK_COMMAND_SPEC): Remove.
1295         (LOCAL_INCLUDE_DIR): Remove.
1296         (TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section
1297         (TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix.
1298         (POST_LINK_SPEC): Define to invoke stubify after linker
1299         (LIBSTDCXX): Remove define
1300         (DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map.
1301         (DEFAULT_PCC_STRUCT_RETURN): Define to 1.
1302         (SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210.
1303         (SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message.
1304         (SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info.
1305         (IX86_MAYBE_NO_LIBGCC_TFMODE): Remove.
1306         (i386_djgpp_asm_named_section): Add propotype of new procedure
1308         * config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define.
1309         (MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h).
1310         (STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX in config/i386/djgpp.h).
1311         (STANDARD_STARTFILE_PREFIX_2): Define identical to STANDARD_STARTFILE_PREFIX_1.
1312         (LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h).
1313         (GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal installation errors.
1314         (MAX_OFILE_ALIGNMENT): Define to 128.
1315         (HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h.
1317         * config/i386/djgpp.c: New file. Add implementation of i386_djgpp_asm_named_section.
1319         * config/i386/djgpp.opt: Remove obsolete option -mbnu210.
1321         * config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS.
1322         Add rule for building djgpp.o.
1324 2016-01-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1326         * config/rs6000/rs6000.c (v2df_reduction_p): New function.
1327         (rtx_is_swappable_p): Reductions are swappable.
1328         (insn_is_swappable_p): V2DF reductions are swappable.
1330 2016-01-11  John David Anglin  <danglin@gcc.gnu.org>
1332         * config/pa/pa.c (pa_emit_move_sequence): Handle floating point
1333         reloads for other unsupported memory operands.
1335 2016-01-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
1336             Jim Wilson  <jim.wilson@linaro.org>
1338         PR target/69194
1339         * config/arm/arm-builtins.c (arm_expand_neon_args): Call
1340         copy_to_mode_reg instead of force_reg.
1342 2016-01-11  H.J. Lu  <hongjiu.lu@intel.com>
1344         PR target/69225
1345         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if
1346         TARGET_80387 is true.
1348 2016-01-11  Jakub Jelinek  <jakub@redhat.com>
1350         PR target/69071
1351         * lra-eliminations.c (move_plus_up): Only move plus up
1352         if subreg of the constant can be simplified into constant
1353         and use the simplified subreg of the constant instead of
1354         the original constant.
1356         * fold-const.c (fold_convertible_p): Don't return true
1357         for conversion of VECTOR_TYPE to same sized integral type.
1358         (fold_convert_loc): Fix up formatting.  Fold conversion of
1359         VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR
1360         instead of NOP_EXPR.
1362         PR tree-optimization/69214
1363         * tree-vrp.c (simplify_cond_using_ranges): Don't propagate
1364         innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
1365         Formatting fix.
1367         PR tree-optimization/69207
1368         * tree-vect-slp.c (vect_get_constant_vectors): For
1369         VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of
1370         fold_convertible_p to vector_type's element type, and always
1371         use VCE for non-VECTOR_BOOLEAN_TYPE_P.
1373 2016-01-11  Richard Biener  <rguenther@suse.de>
1375         PR tree-optimization/69173
1376         * tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Only
1377         fixup the cycle if all stmts are in a pattern.
1379 2016-01-11  Uros Bizjak  <ubizjak@gmail.com>
1381         PR middle-end/68999
1382         * alias.c (base_alias_check): Move check for addresses with
1383         alignment ANDs before the call for compare_base_decls.
1384         (memrefs_conflict_p): Return -1 for different decls
1385         that went through alignment adjustments.
1387 2016-01-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1389         PR rtl-optimization/68796
1390         * config/aarch64/aarch64.md (*and<mode>_compare0): New pattern.
1391         * config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode
1392         and QImode comparisons against zero with CC_NZmode.
1393         * config/aarch64/iterators.md (short_mask): New mode_attr.
1395 2016-01-11  H.J. Lu  <hongjiu.lu@intel.com>
1397         * config/i386/sse.md (<avx512>_load<mode>_mask): Remove snprintf.
1398         (<avx512>_store<mode>_mask): Likewise.
1400 2016-01-11  Bernd Schmidt  <bschmidt@redhat.com>
1401             Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1403         PR rtl-optimization/68841
1404         * ifcvt.c (struct noce_if_info): Add orig_x field.
1405         (bbs_ok_for_cmove_arith): Add to_rename parameter.
1406         Don't record conflicts on to_rename if it's present.
1407         Allow memory destinations in sets.
1408         (noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple
1409         blocks, passing orig_x to the checks.
1410         (noce_process_if_block): Set if_info->orig_x appropriately.
1412 2016-01-11  Tom de Vries  <tom@codesourcery.com>
1414         PR tree-optimization/69069
1415         * tree-parloops.c (create_parallel_loop): Add missing phi args.
1417 2016-01-11  Yuri Rumyantsev  <ysrumyan@gmail.com>
1419         PR rtl-optimization/68920
1420         * config/i386/i386.c (ix86_option_override_internal): Restrict number
1421         of conditional moves for  RTL if-conversion to 1 for
1422         TARGET_ONE_IF_CONV_INSN.
1423         * config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros.
1424         * config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros.
1425         * params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new
1426         parameter to restirct number of conditional moves for
1427         RTL if-conversion.
1428         * doc/invoke.texi (max-rtl-if-conversion-insns): Document it.
1429         * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of
1430         conditionl moves.
1432 2016-01-11  Alexandre Oliva  <aoliva@redhat.com>
1434         PR bootstrap/69123
1435         * var-tracking.c (drop_overlapping_mem_locs): Operate on all
1436         onepart vars.  Fix typo in comment.  Fix reversed condition in
1437         unshare test.
1438         (dataflow_set_remove_mem_locs): Operate on all onepart vars.
1440         PR bootstrap/69123
1441         * var-tracking.c (dump_onepart_variable_differences): New.
1442         (dataflow_set_different): If a detailed dump is requested,
1443         delay early returns and dump differences between onepart
1444         variables present before and after, and added variables.
1446 2016-01-11  Ilya Enkovich  <enkovich.gnu@gmail.com>
1448         PR target/69010
1449         * expr.c (expand_expr_real_1): For boolean vector constants
1450         with a scalar mode use const_scalar_mask_from_tree.
1451         (const_scalar_mask_from_tree): New.
1452         * optabs.c (expand_vec_cond_mask_expr): Use mask mode
1453         assigned to a mask type to handle constants.
1455 2016-01-11  Martin Jambor  <mjambor@suse.cz>
1457         PR ipa/69044
1458         * ipa-cp.c (estimate_local_effects): Do not clone for removal of
1459         useless parameters if we cannot change function signature.
1461 2016-01-11  Martin Jambor  <mjambor@suse.cz>
1463         PR ipa/66616
1464         * cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
1465         flag.
1467 2016-01-11  Tom de Vries  <tom@codesourcery.com>
1469         PR tree-optimization/69109
1470         * tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow
1471         latch with phi.
1473 2016-01-11  Tom de Vries  <tom@codesourcery.com>
1475         PR tree-optimization/69108
1476         * tree-parloops.c (gather_scalar_reductions): Handle case that outer phi
1477         res is not used in a phi.
1479 2016-01-11  Yury Gribov  <y.gribov@samsung.com>
1481         PR 67425
1482         * common.opt (frandom-seed): Fix parameter name.
1483         * doc/invoke.texi (frandom-seed): Ditto and describe parameter.
1485 2016-01-11  Tom de Vries  <tom@codesourcery.com>
1487         PR tree-optimization/69058
1488         * tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp
1489         not supported.
1491 2016-01-11  Andrew Burgess  <andrew.burgess@embecosm.com>
1493         * config/arc/arc.opt (mdiv-rem): Add period to the end.
1494         (mcode-density): Likewise.
1496 2016-01-10  Tom de Vries  <tom@codesourcery.com>
1498         PR tree-optimization/69062
1499         * tree-parloops.c (loop_has_phi_with_address_arg): New function.
1500         (parallelize_loops): Don't paralelize loop that has phi with address
1501         arg.
1503 2016-01-10  Tom de Vries  <tom@codesourcery.com>
1505         PR tree-optimization/69039
1506         * tree-parloops.c (try_create_reduction_list): Only allow single exit
1507         phi for reduction.
1509 2016-01-09  John David Anglin  <danglin@gcc.gnu.org>
1511         PR middle-end/68743
1512         * match.pd: Require target has function_c99_misc before doing
1513         truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.
1514         
1515 2016-01-09  Gerald Pfeifer  <gerald@pfeifer.com>
1517         * configure.ac (isl_options_set_schedule_serialize_sccs): Also 
1518         use GMPINC.
1519         * configure: Regenerate.
1521 2016-01-09  Jakub Jelinek  <jakub@redhat.com>
1523         PR middle-end/50865
1524         PR tree-optimization/69097
1525         * fold-const.h (expr_not_equal_to): New prototype.
1526         * fold-const.c: Include stringpool.h and tree-ssanames.h.
1527         (expr_not_equal_to): New function.
1528         * match.pd (X % -Y is the same as X % Y): Don't optimize
1529         unless X is known not to be equal to minimum or Y is known
1530         not to be equal to -1.
1531         * tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument.
1532         fold TRUNC_MOD_EXPR if the second argument is not a power of two.
1533         (simplify_stmt_using_ranges): Adjust caller.
1534         (vrp_finalize): Call set_value_range on SSA_NAMEs before calling
1535         substitute_and_fold.
1537 2016-01-09  Jan Hubicka  <hubicka@ucw.cz>
1539         * ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
1540         w/o DECL_NAME.
1542 2016-01-08  Jakub Jelinek  <jakub@redhat.com>
1544         PR tree-optimization/69167
1545         * gimple-fold.c (replace_stmt_with_simplification): Also punt if
1546         new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of
1547         ops[0] comparison.
1548         * gimple-match-head.c (maybe_push_res_to_seq): Likewise.
1550 2016-01-08  Alan Lawrence  <alan.lawrence@arm.com>
1551             Richard Biener  <rguenther@suse.de>
1553         PR tree-optimization/68707
1554         * tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP
1555         instances that can be handled via vect_load_lanes.
1557 2016-01-08  Uros Bizjak  <ubizjak@gmail.com>
1559         * symtab.c (symtab_node::equal_address_to): Return -1 instead of 2
1560         if we can't determine address equivalence.
1561         * alias.c (compare_base_decl): Update for changed return value of
1562         symtab_node::equal_address_to.
1564 2016-01-08  Jason Merrill  <jason@redhat.com>
1566         PR c++/68983
1567         PR c++/67557
1568         * function.c (assign_temp): Guard against TREE_ADDRESSABLE types here.
1569         * expr.c (store_field): Not here.
1570         * tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a
1571         call with TREE_ADDRESSABLE type.
1572         * tree-cfg.c (verify_gimple_call): Adjust.
1574 2016-01-08  Olivier Hainque  <hainque@adacore.com>
1576         * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
1577         libc_internal.
1579 2016-01-08  Alan Lawrence  <alan.lawrence@arm.com>
1581         * gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to...
1582         (reduc_smax_scal_v2sf): ...here, make result SFmode, extract element.
1583         (reduc_smin_v2sf): Rename to...
1584         (reduc_smin_scal_v2sf): ...here, make result SFmode, extract element.
1585         (reduc_splus_v2sf): Rename to...
1586         (reduc_plus_scal_v2sf): ...here, make result SFmode, extract element.
1588 2016-01-08  Jakub Jelinek  <jakub@redhat.com>
1590         PR tree-optimization/69162
1591         * gimplify.c (gimplify_va_arg_expr): Encode original type of
1592         valist argument in another argument.
1593         (gimplify_modify_expr): Adjust for the above change.  Cleanup.
1594         * tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument
1595         to determine the va_list type, build a MEM_REF instead of
1596         build_fold_indirect_ref.
1598         PR tree-optimization/69172
1599         * gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to
1600         gimple_build.
1602 2016-01-08  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1604         PR tree-optimization/67781
1605         * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
1606         and cmpnop in two steps: first the ones not accessed in original
1607         gimple expression in a endian independent way and then the ones not
1608         accessed in the final result in an endian-specific way.
1610 2016-01-08  Jakub Jelinek  <jakub@redhat.com>
1612         PR tree-optimization/69083
1613         * tree-vect-slp.c (vect_get_constant_vectors): For
1614         VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's
1615         element type.  If op is fold_convertible_p to vector_type's element
1616         type, use NOP_EXPR instead of VCE.
1618 2016-01-08  Segher Boessenkool  <segher@kernel.crashing.org>
1620         PR rtl-optimization/67778
1621         PR rtl-optimization/68634
1622         PR rtl-optimization/68909
1623         * shrink-wrap.c (try_shrink_wrapping): Add comment.  Don't pop
1624         block from the stack until done with it.  Remove a superfluous
1625         bitmap set.  Remove a superfluous bitmap test.
1627 2016-01-07  Martin Sebor  <msebor@redhat.com>
1629         PR c/68966
1630         * doc/extend.texi (__atomic Builtins, __sync Builtins): Document
1631         constraint on the type of arguments.
1633 2016-01-07  Andreas Tobler  <andreast@gcc.gnu.org>
1635         * config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to
1636         SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check
1637         unaligned_access on the gcc_options set.
1638         * config/arm/arm.c (arm_option_override_internal): Use
1639         SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.
1641 2016-01-07  Uros Bizjak  <ubizjak@gmail.com>
1643         PR target/69140
1644         * config/i386/i386.c (ix86_frame_pointer_required): Enable
1645         frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned.
1647 2016-01-07  Uros Bizjak  <ubizjak@gmail.com>
1649         Revert
1650         2016-01-06  Uros Bizjak  <ubizjak@gmail.com>
1652         PR target/69140
1653         * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
1654         depending on frame_pointer_needed before remaining integer and SSE
1655         registers are saved.
1657 2016-01-07  Sandra Loosemore  <sandra@codesourcery.com>
1659         PR 1078
1660         * doc/extend.texi (Nvidia PDX Function Attributes): New section.
1662 2016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
1664         PR target/69171
1665         * config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
1666         Use the "xBm" constraint.
1667         (float<sseintvecmodelower><mode>2<mask_name><round_name):
1668         Likewise.
1669         (sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
1670         (sse_cvtsi2ssq<round_name>): Likewise.
1671         (sse_cvtss2si<round_name>): Likewise.
1672         (sse_cvtss2siq<round_name>): Likewise.
1673         (sse2_cvtsi2sdq<round_name>): Likewise.
1674         (sse2_cvtsd2si<round_name>): Likewise.
1675         (sse2_cvtsd2siq<round_name>): Likewise.
1676         * config/i386/subst.md (round_nimm_scalar_predicate): New
1677         predicate.
1679 2015-12-15  Bernd Schmidt  <bschmidt@redhat.com>
1681         PR middle-end/67639
1682         * varasm.c (make_decl_rtl): Mark invalid register vars as
1683         DECL_EXTERNAL.
1685         PR rtl-optimization/66206
1686         * bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx.
1687         All callers changed.
1689 2016-01-07  Jakub Jelinek  <jakub@redhat.com>
1691         PR tree-optimization/69141
1692         * tree-ssa-pre.c: Include langhooks.h.
1693         (eliminate_dom_walker::before_dom_children): Use
1694         lang_hooks.decl_printable_name instead of
1695         cgraph_node::get ()->name ().
1697         PR middle-end/68960
1698         * gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy
1699         it and DECL_ALIGN too.
1701 2016-01-06  Robert Suchanek  <robert.suchanek@imgtec.com>
1703         * config/mips/mips-ftypes.def: Sort to lexicographical order.
1705 2016-01-06  Uros Bizjak  <ubizjak@gmail.com>
1707         PR target/69140
1708         * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
1709         depending on frame_pointer_needed before remaining integer and SSE
1710         registers are saved.
1712 2015-01-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1714         * config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M
1715         mode iterator with VSX_M2.
1716         (*p9_vecstore_<mode>): Likewise.
1717         (*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR.
1718         (*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise.
1719         (*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise.
1720         (define_split for VSX_LE128 stores): Likewise.
1721         (define_peephole2 for TImode LE swaps): Likewise.
1722         (define_split for VSX_LE128 post-reload stores): Likewise.
1724 2016-01-06  Marek Polacek  <polacek@redhat.com>
1726         PR sanitizer/69099
1727         * convert.c (convert_to_integer_1): Adjust call to
1728         ubsan_instrument_float_cast.  Use NULL_TREE instead of NULL.
1729         * ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter.  Use
1730         EXPR instead of ARG.
1731         * ubsan.h (ubsan_instrument_float_cast): Adjust declaration.
1733 2016-01-05  Sandra Loosemore  <sandra@codesourcery.com>
1735         PR 1078
1736         * doc/extend.texi (RL78 Variable Attributes): New section.
1738 2016-01-05  Marek Polacek  <polacek@redhat.com>
1740         PR c/69104
1741         * builtins.c (get_memmodel): Use expansion point location rather than
1742         the input location.  Call warning_at rather than warning.
1743         (expand_builtin_atomic_compare_exchange): Likewise.
1744         (expand_builtin_atomic_load): Likewise.
1745         (expand_builtin_atomic_store): Likewise.
1746         (expand_builtin_atomic_clear): Likewise.
1748 2016-01-05  H.J. Lu  <hongjiu.lu@intel.com>
1750         PR target/68991
1751         * config/i386/i386.c (ix86_expand_vector_logical_operator):
1752         Replace nonimmediate_operand with vector_operand.
1753         * config/i386/predicates.md (vector_operand): New predicate.
1754         (general_vector_operand): Replace nonimmediate_operand with
1755         vector_operand.
1756         * config/i386/sse.md: Replace nonimmediate_operand with
1757         vector_operand and m constraint with Bm constraint on SSE
1758         patterns with 16-byte memory operand.
1759         * config/i386/subst.md (round_nimm_predicate): Replace
1760         nonimmediate_operand with vector_operand.
1761         (round_saeonly_nimm_predicate): Likewise.
1762         (round_saeonly_nimm_scalar_predicate): New.
1764 2016-01-05  H.J. Lu  <hongjiu.lu@intel.com>
1766         PR target/68991
1767         * config/i386/constraints.md (Bm): New constraint.
1768         * config/i386/predicates.md (vector_memory_operand): New
1769         predicate.
1770         * config/i386/sse.md: Replace xm with xBm in plusminus and
1771         any_logic patterns.
1773 2016-01-05  Sandra Loosemore  <sandra@codesourcery.com>
1775         PR 1078
1776         * doc/extend.texi (V850 Function Attributes): New section.
1777         (V850 Variable Attributes): New section.
1779 2016-01-05  Sandra Loosemore  <sandra@codesourcery.com>
1781         PR 1078
1782         * doc/extend.texi (MicroBlaze Function Attributes): Document
1783         interrupt_handler and fast_interrupt attributes.
1785 2016-01-05  Sergei Trofimovich  <siarheit@google.com>
1787         PR other/60465
1788         * config/ia64/ia64.c (ia64_expand_load_address): Use gprel64
1789         for local symbolic operands.
1790         * config/ia64/predicates.md (local_symbolic_operand64): New
1791         predicate.
1793 2016-01-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1795         PR rtl-optimization/68651
1796         * combine.c (combine_simplify_rtx): Canonicalize x + x into
1797         x << 1.
1799 2016-01-05  Nathan Sidwell  <nathan@acm.org>
1801         * alias.c (compare_base_decls): Use symtab_node::get.
1803 2016-01-05  Nick Clifton  <nickc@redhat.com>
1805         PR target/68770
1806         * ira-costs.c (copy_cost): Initialise the t_icode field of the
1807         secondary_reload_info structure.
1809         PR target/66655
1810         * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak
1811         decls if weak support is available.
1813 2016-01-04  Martin Sebor  <msebor@redhat.com>
1815         * doc/invoke.texi (Warning Options): Document -Winvalid-memory-model.
1817 2016-01-04  Michael Meissner  <meissner@linux.vnet.ibm.com>
1819         * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
1820         OPTION_MASK_P9_DFORM.
1822         * config/rs6000/constraints.md (wo constraint): New constraint for
1823         ISA 3.0 (power9).
1825         * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
1826         for wo constraint.
1827         (rs6000_init_hard_regno_mode_ok): Likewise.
1829         * config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
1830         wo constraint.
1832         * config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm
1833         expanders not to have constraints.  Add support for ISA 3.0 xxperm
1834         instruction.  Add support for fusing xxlor with xxperm.
1835         (altivec_vperm_<mode>_internal): Likewise.
1836         (altivec_vperm_v8hiv16qi): Likewise.
1837         (altivec_vperm_<mode>v16q): Likewise.
1838         (altivec_vperm_<mode>_uns): Likewise.
1839         (vperm_v8hiv4si): Likewise.
1840         (vperm_v16qiv8hi): Likewise.
1842         * doc/md.texi (RS/6000 constraints): Document wo constraint.
1844 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
1846         Update copyright years.
1848         * gcc.c (process_command): Update copyright notice dates.
1849         * gcov-dump.c (print_version): Ditto.
1850         * gcov.c (print_version): Ditto.
1851         * gcov-tool.c (print_version): Ditto.
1852         * gengtype.c (create_file): Ditto.
1853         * doc/cpp.texi: Bump @copying's copyright year.
1854         * doc/cppinternals.texi: Ditto.
1855         * doc/gcc.texi: Ditto.
1856         * doc/gccint.texi: Ditto.
1857         * doc/gcov.texi: Ditto.
1858         * doc/install.texi: Ditto.
1859         * doc/invoke.texi: Ditto.
1861 2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
1863         * config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
1864         modes larger than TImode as TImode if NEON is not enabled.
1866 2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
1868         PR target/69100
1869         * config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
1870         mode for %f0-%f31 only if TARGET_FPU.
1872 2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
1874         PR target/69072
1875         * config/sparc/sparc.c (scan_record_type): Take into account subfields
1876         to compute the PACKED_P predicate.
1877         (function_arg_record_value): Minor tweaks.
1879 2016-01-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1881         * doc/install.texi (--with-multilib-list): Describe the meaning of the
1882         option for arm*-*-* targets.
1884 2016-01-03  Sandra Loosemore  <sandra@codesourcery.com>
1886         * doc/extend.texi (Common Function Attributes): Move docs for
1887         MSP430-specific attributes to....
1888         (MSP430 Function Attributes): ...here.  Delete the redundant
1889         entries and copy-edit the remaining text.
1890         (MSP430 Variable Attributes): Use uniform format for index
1891         entries and add a cross-reference to the corresponding function
1892         attribute docs.
1894 2016-01-03  Vladimír Čunát  <vcunat@gmail.com>
1896         * doc/invoke.texi (RS/6000 and PowerPC Options): Fix
1897         -finite-math typo.
1898         (x86 Options): Likewise.
1900 2016-01-01  Sandra Loosemore  <sandra@codesourcery.com>
1902         PR 1078
1904         * extend.texi (Common Function Attributes) <no_stack_limit>: New.
1905         * invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer
1906         to corresponding attribute.
1908 2016-01-01  Sandra Loosemore  <sandra@codesourcery.com>
1910         * doc/extend.texi (Common Function Attributes) <noplt>: Move
1911         to correct alphabetization of table.  Copy-edit and correct
1912         markup.
1913         <stack_protect>: Likewise.
1914         <target_clones>: Likewise.
1915         <simd>: Likewise.
1916         * doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>:
1917         Correct punctuation.
1918         (Code Gen Options) <-fno-plt>: Copy-edit.
1920 2016-01-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1922         PR target/68917
1923         * config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of
1924         SI values.  Explicitly convert SI to DI and vice-versa.
1926 2016-01-01  Jakub Jelinek  <jakub@redhat.com>
1928         PR tree-optimization/69070
1929         * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test
1930         REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST.
1932         PR sanitizer/69055
1933         * ubsan.c (ubsan_instrument_float_cast): Call
1934         initialize_sanitizer_builtins.
1936         PR target/69015
1937         * ifcvt.c (find_cond_trap): Give up if returnjump_p (jump).
1939 Copyright (C) 2016 Free Software Foundation, Inc.
1941 Copying and distribution of this file, with or without modification,
1942 are permitted in any medium without royalty provided the copyright
1943 notice and this notice are preserved.