summaryrefslogtreecommitdiff
path: root/gcc/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r--gcc/ChangeLog1158
1 files changed, 1158 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 27e4af12cbc..33a233f18df 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,1161 @@
+2017-08-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*load_tp_<mode>): Redefine as
+ define_insn_and_split. Split to a memory load from 0 in
+ DEFAULT_TLS_SEG_REG address space. Merge with *load_tp_x32
+ using PTR mode iterator.
+ (*load_tp_x32_zext"): Redefine as define_insn_and_split.
+ Split to a memory load from 0 in DEFAULT_TLS_SEG_REG address space.
+ (*add_tp_<mode>): Redefine as define_insn_and_split.
+ Split to an add with a memory load from 0 in DEFAULT_TLS_SEG_REG
+ address space. Merge with *add_tp_x32 using PTR mode iterator.
+ (*add_tp_x32_zext"): Redefine as define_insn_and_split.
+ Split to an add with a memory load from 0 in
+ DEFAULT_TLS_SEG_REG address space.
+
+2017-08-12 Andrew Pinski <apinski@cavium.com>
+
+ * config/aarch64/aarch64-option-extensions.def (rdma):
+ Fix feature string to what Linux prints out in /proc/cpuinfo.
+
+2017-08-12 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ PR ada/79542
+ * dwarf2out.c (modified_type_die): For C typedef types that have
+ an ultimate origin, process the ultimate origin instead of the
+ input type.
+ (gen_typedef_die): Assert that input DECLs have no ultimate
+ origin.
+ (gen_type_die_with_usage): For typedef variants that have an
+ ultimate origin, just call gen_decl_die on the original DECL.
+ (process_scope_var): Avoid creating DIEs for local typedefs and
+ concrete static variables.
+
+2017-08-12 Alan Modra <amodra@gmail.com>
+
+ PR target/81170
+ PR target/81295
+ * config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Upgrade to
+ match gnu-user.h startfile.
+ (ENDFILE_LINUX_SPEC): Similarly.
+
+2017-08-11 Thomas Schwinge <thomas@codesourcery.com>
+
+ PR lto/81430
+ * config/nvptx/nvptx.c (nvptx_override_options_after_change):
+ Remove function.
+ (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Remove definition.
+
+2017-08-11 Tamar Christina <tamar.christina@arm.com>
+ * config/aarch64/aarch64.md (mov<mode>): Change.
+ (*movhf_aarch64, *movsf_aarch64, *movdf_aarch64):
+ aarch64_reg_or_fp_float into aarch64_reg_or_fp_zero.
+ * config/aarch64/predicates.md (aarch64_reg_or_fp_float): Removed.
+
+2017-08-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-sra.c (build_access_from_expr_1): Use more precise diagnostics
+ for storage order barriers.
+
+2017-08-11 Martin Liska <mliska@suse.cz>
+
+ PR tree-opt/79987
+ * tree-chkp.c (chkp_get_bounds_for_decl_addr): Do not instrument
+ variables of void type.
+
+2017-08-11 Martin Liska <mliska@suse.cz>
+
+ * asan.c (asan_protect_global): Replace ASM_OUTPUT_DEF with
+ TARGET_SUPPORTS_ALIASES.
+ * cgraph.c (cgraph_node::create_same_body_alias): Likewise.
+ * ipa-visibility.c (can_replace_by_local_alias): Likewise.
+ (optimize_weakref): Likewise.
+ * symtab.c (symtab_node::noninterposable_alias): Likewise.
+ * varpool.c (varpool_node::create_extra_name_alias): Likewise.
+ * defaults.h: Introduce TARGET_SUPPORTS_ALIASES.
+
+2017-08-11 Martin Liska <mliska@suse.cz>
+
+ PR ipa/81213
+ * config/i386/i386.c (make_resolver_func): Do complete
+ refactoring of the function.
+
+2017-08-10 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/81708
+ * config/i386/i386.opt (mstack-protector-guard-symbol=): New option
+ * config/i386/i386.c (ix86_stack_protect_guard): Use
+ ix86_stack_protect_guard_symbol_str to generate varible declaration.
+ * doc/invoke.texi (x86 Options): Document
+ -mstack-protector-guard-symbol= option.
+
+2017-08-10 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386-protos.h (ix86_split_stack_guard): New prototype.
+ * config/i386/i386.c (ix86_split_stack_guard): New function.
+ (ix86_xpand_split_stack_prologue): Call ix86_split_stack_guard.
+ (ix86_legitimate_address_p) <case UNSPEC_STACK_CHECK>: Remove.
+ (i386_asm_output_addr_const_extra) <case UNSPEC_STACK_CHECK>: Ditto.
+ (optput_pic_addr_const): Remove UNSPEC_STACK_CHECK handling.
+ * config/i386/i386.md (unspec): Remove UNSPEC_STACK_CHECK.
+ (split_stack_space_check): Call ix86_split_stack_guard.
+
+2017-08-10 Martin Sebor <msebor@redhat.com>
+
+ * print-tree.c (print_node): Print location using the established
+ format %s:%i%i.
+ Replace spaces with colons.
+ (debug_raw, debug): Ditto.
+
+2017-08-10 Martin Sebor <msebor@redhat.com>
+
+ PR c++/81586
+ * pretty-print.c (pp_format): Correct the handling of %s precision.
+
+2017-08-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/81736
+ * config/i386/i386.c (ix86_finalize_stack_realign_flags): Renamed
+ to ...
+ (ix86_finalize_stack_frame_flags): This. Also clear
+ frame_pointer_needed if -fno-omit-frame-pointer is used without
+ stack access.
+ (ix86_expand_prologue): Replace ix86_finalize_stack_realign_flags
+ with ix86_finalize_stack_frame_flags.
+ (ix86_expand_epilogue): Likewise.
+ (ix86_expand_split_stack_prologue): Likewise.
+ * doc/invoke.texi: Add a note for -fno-omit-frame-pointer.
+
+2017-08-10 Martin Liska <mliska@suse.cz>
+
+ PR c++/81355
+ * c-attribs.c (handle_target_attribute):
+ Report warning for an empty string argument of target attribute.
+
+2017-08-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/81687
+ * omp-low.c (omp_copy_decl): Don't remap FORCED_LABEL or DECL_NONLOCAL
+ LABEL_DECLs.
+ * tree-cfg.c (move_stmt_op): Don't adjust DECL_CONTEXT of FORCED_LABEL
+ or DECL_NONLOCAL labels.
+ (move_stmt_r) <case GIMPLE_LABEL>: Adjust DECL_CONTEXT of FORCED_LABEL
+ or DECL_NONLOCAL labels here.
+
+2017-08-09 Will Schmidt <will_schmidt@vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_option_override_internal): Add blurb
+ to indicate when early gimple folding has been disabled.
+ (rs6000_gimple_fold_builtin): Add debug content.
+ (rs6000_invalid_builtin): Fix whitespace.
+ (rs6000_expand_builtin): Fix whitespace.
+ * config/rs6000/rs6000.opt: Add option for -mfold-gimple.
+
+2017-08-09 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR target/80938
+ * config/rs6000/rs6000.c (rs6000_savres_strategy): Don't use
+ SAVE_MULTIPLE if not all the registers that saves, should be saved.
+
+2017-08-09 Jim Wilson <jim.wilson@linaro.org>
+
+ * config/aarch64/aarch64-cores.def (falkor): Use falkor pipeline.
+ (qdf24xx): Likewise.
+ * config/aarch64/aarch64.md: Include falkor.md.
+ * config/aarch64/falkor.md: New.
+
+2017-08-09 Marek Polacek <polacek@redhat.com>
+
+ PR c/81233
+ * diagnostic-core.h (emit_diagnostic_valist): Add declaration.
+ * diagnostic.c (emit_diagnostic): Add a comment.
+ (emit_diagnostic_valist): New function.
+
+2017-08-09 Marek Polacek <polacek@redhat.com>
+
+ PR c/81417
+ * input.c (make_location): New overload.
+ * input.h (make_location): Declare.
+
+2017-08-08 Alan Modra <amodra@gmail.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ PR driver/81523
+ * gcc.c (NO_PIE_SPEC): Delete.
+ (PIE_SPEC): Define as !no-pie/pie. Move static|shared|r
+ exclusion..
+ (LINK_PIE_SPEC): ..to here.
+ (LINK_COMMAND_SPEC): Support -no-pie.
+ * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Correct
+ chain of crtbegin*.o selection, update for PIE_SPEC changes and
+ format.
+ (GNU_USER_TARGET_ENDFILE_SPEC): Similarly.
+ * config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Similarly.
+ (ENDFILE_CRTEND_SPEC): Similarly.
+
+2017-08-08 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/81708
+ * config/i386/i386.opt (mstack-protector-guard-reg=): New option
+ (mstack-protector-guard-offset=): Ditto.
+ * config/i386/i386.c (ix86_option_override): Handle
+ -mstack-protector-guard-reg= and -mstack-protector-guard-offset=
+ options.
+ (ix86_stack_protect_guard): Use ix86_stack_protect_guard_reg and
+ ix86_stack_protect_guard_offset variables.
+ (TARGET_STACK_PROTECT_GUARD): Always define.
+ * doc/invoke.texi (x86 Options): Document -mstack-protector-guard-reg=
+ and -mstack-protector-guard-offset= options.
+
+2017-08-08 Bin Cheng <bin.cheng@arm.com>
+
+ * tree-ssa-loop-ivopts.c (relate_compare_use_with_all_cands): Handle
+ boundary case for the last candidate.
+
+2017-08-08 Bin Cheng <bin.cheng@arm.com>
+
+ * doc/invoke.texi: Document -ftree-loop-distribution for O3.
+ * opts.c (default_options_table): Add OPT_ftree_loop_distribution.
+
+2017-08-08 Tamar Christina <tamar.christina@arm.com>
+
+ PR middle-end/19706
+ * config/aarch64/aarch64.md (xorsign<mode>3): New optabs.
+ * config/aarch64/aarch64-builtins.c
+ (aarch64_builtin_vectorized_function): Added CASE_CFN_XORSIGN.
+ * config/aarch64/aarch64-simd-builtins.def: Added xorsign BINOP.
+ * config/aarch64/aarch64-simd.md: Added xorsign<mode>3
+
+2017-08-08 Tamar Christina <tamar.christina@arm.com>
+ Andrew Pinski <pinskia@gmail.com>
+
+ PR middle-end/19706
+ * internal-fn.def (XORSIGN): New.
+ * optabs.def (xorsign_optab): New.
+ * tree-ssa-math-opts.c (is_copysign_call_with_1): New.
+ (convert_expand_mult_copysign): New.
+ (pass_optimize_widening_mul::execute): Call
+ convert_expand_mult_copysign.
+
+2017-08-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/81354
+ * gimple-ssa-strength-reduction.c (create_add_on_incoming_edge):
+ Insert on edges rather than explicitly creating landing pads.
+ (analyze_candidates_and_replace): Commit edge inserts.
+
+2017-08-08 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/81719
+ * tree-ssa-loop-niter.c: Include tree-dfa.h.
+ (expand_simple_operations): Also look through ADDR_EXPRs with
+ MEM_REF bases treating them as POINTER_PLUS_EXPR.
+
+2017-08-08 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/81723
+ * tree-vect-slp.c (struct bst_traits): New hash traits.
+ (bst_fail): New global.
+ (vect_build_slp_tree_2): New worker, split out from ...
+ (vect_build_slp_tree): ... this now wrapping it with using
+ bst_fail set to cache SLP tree build fails. Properly handle
+ max_tree_size.
+ (vect_analyze_slp_instance): Allocate and free bst_fail.
+
+2017-08-08 Martin Liska <mliska@suse.cz>
+
+ PR tree-opt/81696
+ * ipa-icf-gimple.c (func_checker::compare_cst_or_decl): Consider
+ LABEL_DECLs that can be from a different function.
+
+2017-08-08 Bin Cheng <bin.cheng@arm.com>
+
+ PR tree-optimization/81744
+ * tree-predcom.c (prepare_finalizers_chain): Deep copy expr of
+ loop's number of iterations.
+
+2017-08-08 Martin Liska <mliska@suse.cz>
+
+ * asan.c: Include header files.
+ * attribs.c (build_decl_attribute_variant): New function moved
+ from tree.[ch].
+ (build_type_attribute_qual_variant): Likewise.
+ (cmp_attrib_identifiers): Likewise.
+ (simple_cst_list_equal): Likewise.
+ (omp_declare_simd_clauses_equal): Likewise.
+ (attribute_value_equal): Likewise.
+ (comp_type_attributes): Likewise.
+ (build_type_attribute_variant): Likewise.
+ (lookup_ident_attribute): Likewise.
+ (remove_attribute): Likewise.
+ (merge_attributes): Likewise.
+ (merge_type_attributes): Likewise.
+ (merge_decl_attributes): Likewise.
+ (merge_dllimport_decl_attributes): Likewise.
+ (handle_dll_attribute): Likewise.
+ (attribute_list_equal): Likewise.
+ (attribute_list_contained): Likewise.
+ * attribs.h (lookup_attribute): New function moved from tree.[ch].
+ (lookup_attribute_by_prefix): Likewise.
+ * bb-reorder.c: Include header files.
+ * builtins.c: Likewise.
+ * calls.c: Likewise.
+ * cfgexpand.c: Likewise.
+ * cgraph.c: Likewise.
+ * cgraphunit.c: Likewise.
+ * convert.c: Likewise.
+ * dwarf2out.c: Likewise.
+ * final.c: Likewise.
+ * fold-const.c: Likewise.
+ * function.c: Likewise.
+ * gimple-expr.c: Likewise.
+ * gimple-fold.c: Likewise.
+ * gimple-pretty-print.c: Likewise.
+ * gimple.c: Likewise.
+ * gimplify.c: Likewise.
+ * hsa-common.c: Likewise.
+ * hsa-gen.c: Likewise.
+ * internal-fn.c: Likewise.
+ * ipa-chkp.c: Likewise.
+ * ipa-cp.c: Likewise.
+ * ipa-devirt.c: Likewise.
+ * ipa-fnsummary.c: Likewise.
+ * ipa-inline.c: Likewise.
+ * ipa-visibility.c: Likewise.
+ * ipa.c: Likewise.
+ * lto-cgraph.c: Likewise.
+ * omp-expand.c: Likewise.
+ * omp-general.c: Likewise.
+ * omp-low.c: Likewise.
+ * omp-offload.c: Likewise.
+ * omp-simd-clone.c: Likewise.
+ * opts-global.c: Likewise.
+ * passes.c: Likewise.
+ * predict.c: Likewise.
+ * sancov.c: Likewise.
+ * sanopt.c: Likewise.
+ * symtab.c: Likewise.
+ * toplev.c: Likewise.
+ * trans-mem.c: Likewise.
+ * tree-chkp.c: Likewise.
+ * tree-eh.c: Likewise.
+ * tree-into-ssa.c: Likewise.
+ * tree-object-size.c: Likewise.
+ * tree-parloops.c: Likewise.
+ * tree-profile.c: Likewise.
+ * tree-ssa-ccp.c: Likewise.
+ * tree-ssa-live.c: Likewise.
+ * tree-ssa-loop.c: Likewise.
+ * tree-ssa-sccvn.c: Likewise.
+ * tree-ssa-structalias.c: Likewise.
+ * tree-ssa.c: Likewise.
+ * tree-streamer-in.c: Likewise.
+ * tree-vectorizer.c: Likewise.
+ * tree-vrp.c: Likewise.
+ * tsan.c: Likewise.
+ * ubsan.c: Likewise.
+ * varasm.c: Likewise.
+ * varpool.c: Likewise.
+ * tree.c: Remove functions moved to attribs.[ch].
+ * tree.h: Likewise.
+ * config/aarch64/aarch64.c: Add attrs.h header file.
+ * config/alpha/alpha.c: Likewise.
+ * config/arc/arc.c: Likewise.
+ * config/arm/arm.c: Likewise.
+ * config/avr/avr.c: Likewise.
+ * config/bfin/bfin.c: Likewise.
+ * config/c6x/c6x.c: Likewise.
+ * config/cr16/cr16.c: Likewise.
+ * config/cris/cris.c: Likewise.
+ * config/darwin.c: Likewise.
+ * config/epiphany/epiphany.c: Likewise.
+ * config/fr30/fr30.c: Likewise.
+ * config/frv/frv.c: Likewise.
+ * config/ft32/ft32.c: Likewise.
+ * config/h8300/h8300.c: Likewise.
+ * config/i386/winnt.c: Likewise.
+ * config/ia64/ia64.c: Likewise.
+ * config/iq2000/iq2000.c: Likewise.
+ * config/lm32/lm32.c: Likewise.
+ * config/m32c/m32c.c: Likewise.
+ * config/m32r/m32r.c: Likewise.
+ * config/m68k/m68k.c: Likewise.
+ * config/mcore/mcore.c: Likewise.
+ * config/microblaze/microblaze.c: Likewise.
+ * config/mips/mips.c: Likewise.
+ * config/mmix/mmix.c: Likewise.
+ * config/mn10300/mn10300.c: Likewise.
+ * config/moxie/moxie.c: Likewise.
+ * config/msp430/msp430.c: Likewise.
+ * config/nds32/nds32-isr.c: Likewise.
+ * config/nds32/nds32.c: Likewise.
+ * config/nios2/nios2.c: Likewise.
+ * config/nvptx/nvptx.c: Likewise.
+ * config/pa/pa.c: Likewise.
+ * config/pdp11/pdp11.c: Likewise.
+ * config/powerpcspe/powerpcspe.c: Likewise.
+ * config/riscv/riscv.c: Likewise.
+ * config/rl78/rl78.c: Likewise.
+ * config/rx/rx.c: Likewise.
+ * config/s390/s390.c: Likewise.
+ * config/sh/sh.c: Likewise.
+ * config/sol2.c: Likewise.
+ * config/sparc/sparc.c: Likewise.
+ * config/spu/spu.c: Likewise.
+ * config/stormy16/stormy16.c: Likewise.
+ * config/tilegx/tilegx.c: Likewise.
+ * config/tilepro/tilepro.c: Likewise.
+ * config/v850/v850.c: Likewise.
+ * config/vax/vax.c: Likewise.
+ * config/visium/visium.c: Likewise.
+ * config/xtensa/xtensa.c: Likewise.
+
+2017-08-07 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/81593
+ * config/rs6000/vsx.md (vsx_concat_<mode>, VSX_D): Cleanup
+ constraints since the -mupper-regs-* switches have been
+ eliminated.
+ (vsx_concat_<mode>_1): New combiner insns to recognize inserting
+ into a vector from a double word element that was extracted from
+ another vector, and eliminate extra XXPERMDI instructions.
+ (vsx_concat_<mode>_2): Likewise.
+ (vsx_concat_<mode>_3): Likewise.
+ (vsx_set_<mode>, VSX_D): Rewrite vector set in terms of vector
+ concat to allow optimizing inserts from previous extracts.
+
+2017-08-07 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_stack_protect_guard): Generate
+ memory reference to a SSP offset in TLS address space.
+ (ix86_print_operand) <case '@'>: Remove.
+ (ix86_print_operand_punct_valid_p): Remove '@' code.
+ * config/i386/i386.md (unspec): Remove UNSPEC_SP_TLS_SET and
+ UNSPEC_SP_TLS_TEST.
+ (stack_tls_protect_set_<mode>): Remove.
+ (stack_protect_set): Do not call gen_stack_tls_protect_set_<mode>.
+ (stack_tls_protect_test_<mode>): Remove.
+ (stack_protect_test): Do not call gen_stack_tls_protect_test_<mode>.
+
+2017-08-07 Olivier Hainque <hainque@adacore.com>
+
+ PR target/81755
+ * config/vxworksae.h (VXWORKS_HAVE_TLS): Define.
+
+2017-08-07 Douglas Rupp <rupp@adacore.com>
+
+ * Makefile.in (install-mkheaders): Fix typo, where the multi_dir
+ variable was referenced as multidir in command.
+
+2017-08-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/69389
+ * gimplify.c (goa_stabilize_expr): Handle BIT_INSERT_EXPR and
+ BIT_FIELD_REF.
+
+2017-08-07 Martin Liska <mliska@suse.cz>
+
+ * config/m32c/m32c.c: Add include of stringpool.h and attribs.h.
+ * config/rl78/rl78.c: Add include of attribs.h.
+ * config/sh/sh.c: Likewise.
+ * config/v850/v850.c: Likewise.
+
+2017-08-07 Tom de Vries <tom@codesourcery.com>
+
+ PR middle-end/78266
+ * omp-expand.c (expand_oacc_for): Ensure diff_type is large enough.
+
+2017-08-07 Martin Liska <mliska@suse.cz>
+
+ * config/mips/mips.c: Include attribs.h.
+
+2017-08-07 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/68829
+ * doc/invoke.texi: Document change in behvaior for -Ofast for
+ Fortran.
+
+2017-08-07 Wilco Dijkstra <wdijkstr@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_pushwb_single_reg):
+ Use gen_frame_mem.
+ (aarch64_pop_regs): Likewise.
+ (aarch64_gen_load_pair): Likewise.
+ (aarch64_save_callee_saves): Likewise.
+ (aarch64_restore_callee_saves): Likewise.
+
+2017-08-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c: Revert the last change.
+
+2017-08-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/81736
+ * config/i386/i386.c (ix86_finalize_stack_realign_flags): Renamed
+ to ...
+ (ix86_finalize_stack_frame_flags): This. Also clear
+ frame_pointer_needed if -fno-omit-frame-pointer is used without
+ stack access.
+ (ix86_expand_prologue): Replace ix86_finalize_stack_realign_flags
+ with ix86_finalize_stack_frame_flags.
+ (ix86_expand_epilogue): Likewise.
+ (ix86_expand_split_stack_prologue): Likewise.
+
+2017-08-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/81743
+ * config/i386/i386.c (get_builtin_code_for_version): Set priority
+ to P_AES for Westmere.
+
+2017-08-07 Jonathan Yong <10walls@gmail.com>
+
+ * config/i386/mingw.opt (fset-stack-executable): Removed.
+ * config/i386/cygming.opt (fset-stack-executable): Moved
+ from mingw.opt.
+ * config/i386/cygwin.h: Define CHECK_EXECUTE_STACK_ENABLED.
+
+2017-08-07 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * print-rtl.c (print_exp): Print NOT as "~" instead of as "!".
+
+2017-08-07 Marek Polacek <polacek@redhat.com>
+
+ PR middle-end/81737
+ * fold-const.c (fold_indirect_ref_1): Check type_domain.
+
+2017-08-07 Martin Liska <mliska@suse.cz>
+
+ * attribs.h (canonicalize_attr_name): New function.
+ (cmp_attribs): Move from c-format.c and adjusted.
+ (is_attribute_p): Moved from tree.h.
+ * tree-inline.c: Add new includes.
+ * tree.c (cmp_attrib_identifiers): Use cmp_attribs.
+ (private_is_attribute_p): Remove.
+ (private_lookup_attribute): Likewise.
+ (private_lookup_attribute_by_prefix): Simplify.
+ (remove_attribute): Use is_attribute_p.
+ * tree.h: Remove removed declarations.
+
+2017-08-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/81698
+ * stmt.c (emit_case_dispatch_table): Add DEFAULT_EDGE argument,
+ instead of computing it in the function. Formatting fix.
+ (expand_case): Don't rely on default_edge being the first edge,
+ clear it if removing it, pass default_edge to
+ emit_case_dispatch_table.
+ (expand_sjlj_dispatch_table): Pass NULL as DEFAULT_EDGE, formatting
+ fix.
+
+2017-08-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.c (alpha_reorg): If trap is the last active
+ insn in the function, emit NOP after the insn.
+
+2017-08-06 Tom de Vries <tom@codesourcery.com>
+
+ * omp-expand.c (expand_oacc_for): Add missing edge probability for tile
+ and element loops.
+
+2017-08-06 Tom de Vries <tom@codesourcery.com>
+
+ * omp-expand.c (expand_oacc_for): Add missing edge probability for chunk
+ loop.
+
+2017-08-04 Yury Gribov <tetra2005@gmail.com>
+
+ PR tree-optimization/57371
+ * match.pd: New pattern.
+
+2017-08-04 Marek Polacek <polacek@redhat.com>
+
+ PR middle-end/81695
+ * fold-const.c (fold_indirect_ref_1): For ((int *)&a + 4 -> a[1],
+ perform the computation in offset_int.
+
+2017-08-04 Richard Sandiford <richard.sandiford@linaro.org>
+
+ PR tree-optimization/81136
+ * tree-vectorizer.h: Include tree-hash-traits.h.
+ (vec_base_alignments): New typedef.
+ (vec_info): Add a base_alignments field.
+ (vect_record_base_alignments): Declare.
+ * tree-data-ref.h (data_reference): Add an is_conditional_in_stmt
+ field.
+ (DR_IS_CONDITIONAL_IN_STMT): New macro.
+ (create_data_ref): Add an is_conditional_in_stmt argument.
+ * tree-data-ref.c (create_data_ref): Likewise. Use it to initialize
+ the is_conditional_in_stmt field.
+ (data_ref_loc): Add an is_conditional_in_stmt field.
+ (get_references_in_stmt): Set the is_conditional_in_stmt field.
+ (find_data_references_in_stmt): Update call to create_data_ref.
+ (graphite_find_data_references_in_stmt): Likewise.
+ * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Likewise.
+ * tree-vect-data-refs.c (vect_analyze_data_refs): Likewise.
+ (vect_record_base_alignment): New function.
+ (vect_record_base_alignments): Likewise.
+ (vect_compute_data_ref_alignment): Adjust base_addr and aligned_to
+ for nested statements even if we fail to compute a misalignment.
+ Use pooled base alignments for unconditional references.
+ (vect_find_same_alignment_drs): Compare base addresses instead
+ of base objects.
+ (vect_analyze_data_refs_alignment): Call vect_record_base_alignments.
+ * tree-vect-slp.c (vect_slp_analyze_bb_1): Likewise.
+
+2017-08-04 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * tree-vectorizer.h (vec_info): Add a constructor and destructor.
+ Add an explicit name for the enum. Use auto_vec for slp_instances
+ and grouped_stores.
+ (_loop_vec_info): Add a constructor and destructor. Use auto_vec
+ for all vectors.
+ (_bb_vec_info): Add a constructor and destructor.
+ (vinfo_for_stmt): Return NULL for uids of -1 as well.
+ (destroy_loop_vec_info): Delete.
+ (vect_destroy_datarefs): Likewise.
+ * tree-vectorizer.c (vect_destroy_datarefs): Delete.
+ (vec_info::vec_info): New function.
+ (vec_info::~vec_info): Likewise.
+ (vectorize_loops): Use delete instead of destroy_loop_vec_info.
+ * tree-parloops.c (gather_scalar_reductions): Use delete instead of
+ destroy_loop_vec_info.
+ * tree-vect-loop.c (new_loop_vec_info): Replace with...
+ (_loop_vec_info::_loop_vec_info): ...this.
+ (destroy_loop_vec_info): Replace with...
+ (_loop_vec_info::~_loop_vec_info): ...this. Unconditionally delete
+ the stmt_vec_infos. Leave handling of vec_info information to its
+ destructor. Remove explicit vector releases.
+ (vect_analyze_loop_form): Use new instead of new_loop_vec_info.
+ (vect_analyze_loop): Use delete instead of destroy_loop_vec_info.
+ * tree-vect-slp.c (new_bb_vec_info): Replace with...
+ (_bb_vec_info::_bb_vec_info): ...this. Don't reserve space in
+ BB_VINFO_GROUPED_STORES or BB_VINFO_SLP_INSTANCES.
+ (destroy_bb_vec_info): Replace with...
+ (_bb_vec_info::~_bb_vec_info): ...this. Leave handling of vec_info
+ information to its destructor.
+ (vect_slp_analyze_bb_1): Use new and delete instead of
+ new_bb_vec_info and destroy_bb_vec_info.
+ (vect_slp_bb): Replace 2 calls to destroy_bb_vec_info with a
+ single delete.
+
+2017-08-04 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * tree-data-ref.h (subscript): Add access_fn field.
+ (data_dependence_relation): Add could_be_independent_p.
+ (SUB_ACCESS_FN, DDR_COULD_BE_INDEPENDENT_P): New macros.
+ (same_access_functions): Move to tree-data-ref.c.
+ * tree-data-ref.c (ref_contains_union_access_p): New function.
+ (access_fn_component_p): Likewise.
+ (access_fn_components_comparable_p): Likewise.
+ (dr_analyze_indices): Add a reference to access_fn_component_p.
+ (dump_data_dependence_relation): Use SUB_ACCESS_FN instead of
+ DR_ACCESS_FN.
+ (constant_access_functions): Likewise.
+ (add_other_self_distances): Likewise.
+ (same_access_functions): Likewise. (Moved from tree-data-ref.h.)
+ (initialize_data_dependence_relation): Use XCNEW and remove
+ explicit zeroing of DDR_REVERSED_P. Look for a subsequence
+ of access functions that have the same type. Allow the
+ subsequence to end with different bases in some circumstances.
+ Record the chosen access functions in SUB_ACCESS_FN.
+ (build_classic_dist_vector_1): Replace ddr_a and ddr_b with
+ a_index and b_index. Use SUB_ACCESS_FN instead of DR_ACCESS_FN.
+ (subscript_dependence_tester_1): Likewise dra and drb.
+ (build_classic_dist_vector): Update calls accordingly.
+ (subscript_dependence_tester): Likewise.
+ * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Check
+ DDR_COULD_BE_INDEPENDENT_P.
+ * tree-vectorizer.h (LOOP_REQUIRES_VERSIONING_FOR_ALIAS): Test
+ comp_alias_ddrs instead of may_alias_ddrs.
+ * tree-vect-data-refs.c (vect_analyze_possibly_independent_ddr):
+ New function.
+ (vect_analyze_data_ref_dependence): Use it if
+ DDR_COULD_BE_INDEPENDENT_P, but fall back to using the recorded
+ distance vectors if that fails.
+ (dependence_distance_ge_vf): New function.
+ (vect_prune_runtime_alias_test_list): Use it. Don't clear
+ LOOP_VINFO_MAY_ALIAS_DDRS.
+
+2017-08-04 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/81705
+ * fold-const.c (fold_binary_loc): Properly restrict
+ minus_var0 && minus_var1 case when associating undefined overflow
+ entities.
+
+2017-08-04 Tom de Vries <tom@codesourcery.com>
+
+ * omp-simd-clone.c (simd_clone_adjust): Add missing edge probability.
+
+2017-08-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
+ Don't start diagnostic messages with a capital letter.
+ * config/rs6000/rs6000.c (rs6000_option_override_internal):
+ Likewise.
+ (rs6000_invalid_builtin): Likewise.
+ (rs6000_trampoline_init): Likewise.
+
+2017-08-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/81621
+ * bb-reorder.c (pass_partition_blocks::execute): Return TODO_df_finish
+ after setting changeable df flags.
+
+2017-08-03 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-reassoc.c (should_break_up_subtract): Also break
+ up if the use is in USE - X.
+
+2017-08-03 Alexander Monakov <amonakov@ispras.ru>
+
+ * toplev.c (dumpfile.h): New include.
+ (internal_error_reentered): New static function. Use it...
+ (internal_error_function): ...here to handle reentered internal_error.
+
+2017-08-03 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/81148
+ * fold-const.c (split_tree): Add minus_var and minus_con
+ arguments, remove unused loc arg. Never generate NEGATE_EXPRs
+ here but always use minus_*.
+ (associate_trees): Assert we never associate with MINUS_EXPR
+ and NULL first operand. Do not recurse for PLUS_EXPR operands
+ when associating as MINUS_EXPR either.
+ (fold_binary_loc): Track minus_var and minus_con.
+
+2017-08-03 Tom de Vries <tom@codesourcery.com>
+
+ PR lto/81430
+ * tree-streamer-in.c (lto_input_ts_function_decl_tree_pointers): If
+ ACCEL_COMPILER, apply finish_options on
+ DECL_FUNCTION_SPECIFIC_OPTIMIZATION.
+
+2017-08-03 Tom de Vries <tom@codesourcery.com>
+
+ PR target/81662
+ * config/nvptx/nvptx.c (nvptx_option_override): Emit sorry if
+ function_entry_patch_area_size > 0.
+
+2017-08-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR driver/81650
+ * calls.c (alloc_max_size): Use HOST_WIDE_INT_UC (10??)
+ instead of 10??LU, perform unit multiplication in wide_int,
+ don't change alloc_object_size_limit if the limit is larger
+ than SSIZE_MAX.
+
+ PR tree-optimization/81655
+ PR tree-optimization/81588
+ * tree-ssa-reassoc.c (optimize_range_tests_var_bound): Handle also
+ the case when ranges[i].low and high are 1 for unsigned type with
+ precision 1.
+
+ PR middle-end/81052
+ * omp-low.c (diagnose_sb_0): Handle flag_openmp_simd like flag_openmp.
+ (pass_diagnose_omp_blocks::gate): Enable also for flag_openmp_simd.
+
+2017-08-03 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
+
+ * tree-vrp.h: Add include guard.
+
+2017-08-02 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/81644
+ * config/i386/i386.md (unspecv): Add UNSPECV_UD2.
+ (ud2): New insn pattern.
+ * config/i386/i386.c (ix86_expand_epilogue):
+ For naked functions, generate ud2 instead of trap insn.
+
+2017-08-02 Marek Polacek <polacek@redhat.com>
+
+ PR other/81667
+ * alloc-pool.h (base_pool_allocator): Initialize m_elt_size.
+
+2017-08-02 Tom de Vries <tom@codesourcery.com>
+ Cesar Philippidis <cesar@codesourcery.com>
+
+ * config/nvptx/nvptx.c (nvptx_lockless_update, nvptx_lockfull_update):
+ Add missing edge probabilities.
+
+2017-08-02 Tamar Christina <tamar.christina@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_reinterpret_float_as_int):
+ Correct endianness.
+
+2017-08-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/79499
+ * function.c (thread_prologue_and_epilogue_insns): Determine blocks
+ for find_many_sub_basic_blocks bitmap by looking up BLOCK_FOR_INSN
+ of first NONDEBUG_INSN_P in each of the split_prologue_seq and
+ prologue_seq sequences - if any.
+
+2017-08-02 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-stmts.c (vectorizable_store): Perform vector extracts
+ via vectors if supported, integer extracts via punning if supported
+ or otherwise vector extracts.
+
+2017-08-02 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-pre.c (bitmap_insert_into_set_1): Remove and inline
+ into ...
+ (bitmap_insert_into_set): ... this.
+
+2017-08-02 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/81633
+ Revert
+ 2015-08-17 Alan Hayward <alan.hayward@arm.com>
+
+ PR tree-optimization/71752
+ * tree-vect-slp.c (vect_get_slp_defs): Handle null operands.
+
+2017-08-01 Daniel Santos <daniel.santos@pobox.com>
+
+ * config/i386/i386.h (ix86_frame::outlined_save_offset): Remove field.
+ (machine_function::call_ms2sysv_pad_out): Remove field.
+ * config/i386/i386.c (xlogue_layout::get_stack_space_used): Modify.
+ (ix86_compute_frame_layout): Likewise.
+
+2017-08-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/81654
+ * config/i386/i386.c (ix86_set_func_type): Disallow naked
+ attribute with interrupt attribute.
+
+2017-08-01 Andrew Pinski <apinski@cavium.com>
+
+ * tree-ssa-scopedtables.c (hashable_expr_equal_p): Check
+ BIT_INSERT_EXPR's operand 1
+ to see if the types precision matches.
+
+2017-08-01 Martin Liska <mliska@suse.cz>
+
+ PR middle-end/70140
+ * builtins.c (expand_builtin_memcpy_args): Remove.
+ (expand_builtin_memcpy): Call newly added function
+ expand_builtin_memory_copy_args.
+ (expand_builtin_memcpy_with_bounds): Likewise.
+ (expand_builtin_mempcpy): Remove last argument.
+ (expand_builtin_mempcpy_with_bounds): Likewise.
+ (expand_builtin_memory_copy_args): New function created from
+ expand_builtin_mempcpy_args with small modifications.
+ (expand_builtin_mempcpy_args): Remove.
+ (expand_builtin_stpcpy): Remove unused argument.
+ (expand_builtin): Likewise.
+ (expand_builtin_with_bounds): Likewise.
+
+2017-08-01 Martin Liska <mliska@suse.cz>
+
+ Revert r250771
+ Make mempcpy more optimal (PR middle-end/70140).
+
+2017-08-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/81622
+ * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): For
+ __builtin_vec_cmpne verify both arguments are compatible vectors
+ before looking at TYPE_MODE on the element type. For __builtin_vec_ld
+ verify arg1_type is a pointer or array type. For __builtin_vec_st,
+ move computation of aligned to after checking the argument types.
+ Formatting fixes.
+
+ PR target/80846
+ * config/rs6000/vsx.md (vextract_fp_from_shorth,
+ vextract_fp_from_shortl): Add element mode after mode in gen_vec_init*
+ calls.
+
+2017-08-01 Jerome Lambourg <lambourg@adacore.com>
+ Doug Rupp <rupp@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+
+ * config.gcc (arm-wrs-vxworks*): Rework to handle arm-wrs-vxworks7 as
+ well as arm-wrs-vxworks. Update target_cpu_name from arm6 (arch v3) to
+ arm8 (arch v4).
+ * config/arm/vxworks.h (MAYBE_TARGET_BPABI_CPP_BUILTINS): New, helper
+ for TARGET_OS_CPP_BUILTIN.
+ (TARGET_OS_CPP_BUILTIN): Invoke MAYBE_TARGET_BPABI_CPP_BUILTINS(),
+ refine CPU definitions for arm_arch5 and add those for arm_arch6 and
+ arm_arch7.
+ (MAYBE_ASM_ABI_SPEC): New, helper for SUBTARGET_EXTRA_ASM_SPEC,
+ passing required abi options to the assembler for EABI configurations.
+ (EXTRA_CC1_SPEC): New macro, to help prevent the implicit production
+ of .text.hot and .text.unlikely sections for kernel modules when
+ using ARM style exceptions.
+ (CC1_SPEC): Remove obsolete attempt at mimicking Diab toolchain
+ options. Add EXTRA_CC1_SPEC.
+ (VXWORKS_ENDIAN_SPEC): Adjust comment and remove handling of Diab
+ toolchain options.
+ (DWARF2_UNWIND_INFO): Redefine to handle the pre/post VxWorks 7
+ transition.
+ (ARM_TARGET2_DWARF_FORMAT): Define.
+ * config/arm/t-vxworks: Adjust multilib control to removal of the
+ Diab command line options.
+
+2017-08-01 Martin Liska <mliska@suse.cz>
+
+ PR gcov-profile/81561
+ * gcov.c (unblock): Make unblocking safe as we need to preserve
+ index correspondence of blocks and block_lists.
+
+2017-08-01 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/81181
+ * tree-ssa-pre.c (compute_antic_aux): Defer clean() to ...
+ (compute_antic): ... end of iteration here.
+
+2017-08-01 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * common.opt (ftree-vectorize): No longer set flag_tree_vectorize.
+ (ftree-loop-vectorize): Set as EnabledBy ftree-vectorize.
+ (ftree-slp-vectorize): Likewise.
+ * omp-expand (expand_omp_simd): Remove flag_tree_vectorize, as it
+ can no longer be set independent of flag_tree_loop_vectorize.
+ * omp-general.c (emp_max_vf): Likewise.
+ * opts.c (enable_fdo_optimizations): Remove references to
+ flag_tree_vectorize, these are now implicit.
+ (common_handle_option): Remove handling for OPT_ftree_vectorize,
+ and leave it for the options machinery.
+
+2017-08-01 Martin Liska <mliska@suse.cz>
+
+ PR middle-end/70140
+ * builtins.c (expand_builtin_memcpy_args): Remove.
+ (expand_builtin_memcpy): Call newly added function
+ expand_builtin_memory_copy_args.
+ (expand_builtin_memcpy_with_bounds): Likewise.
+ (expand_builtin_mempcpy): Remove last argument.
+ (expand_builtin_mempcpy_with_bounds): Likewise.
+ (expand_builtin_memory_copy_args): New function created from
+ expand_builtin_mempcpy_args with small modifications.
+ (expand_builtin_mempcpy_args): Remove.
+ (expand_builtin_stpcpy): Remove unused argument.
+ (expand_builtin): Likewise.
+ (expand_builtin_with_bounds): Likewise.
+
+2017-08-01 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/81641
+ * config/i386/i386.c (ix86_print_operand_address_as): For -masm=intel
+ print "ds:" only for immediates in generic address space.
+
+2017-08-01 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/81639
+ * config/i386/i386.c (ix86_funciton_naked): New prototype.
+ (ix86_function_ok_for_sibcall): Return false for naked functions.
+
+2017-08-01 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-pre.c (print_pre_expr): Handle NULL expr.
+ (compute_antic): Seed worklist with exit block predecessors.
+ * cfganal.c (dfs_find_deadend): For a cycle return the source
+ of the edge closing it.
+
+2017-08-01 Tamar Christina <tamar.christina@arm.com>
+
+ * config/aarch64/aarch64.c
+ (aarch64_can_const_movi_rtx_p): Move 0 check.
+
+2017-08-01 Bin Cheng <bin.cheng@arm.com>
+
+ * tree.h (POINTER_TYPE_OVERFLOW_UNDEFINED): Delete.
+ * fold-const.c (fold_comparison, fold_binary_loc): Delete use of
+ above macro.
+ * match.pd: Ditto in address comparison pattern.
+
+2017-08-01 Bin Cheng <bin.cheng@arm.com>
+
+ PR tree-optimization/81627
+ * tree-predcom.c (prepare_finalizers): Always rewrite into loop
+ closed ssa form for store-store chain.
+
+2017-08-01 Bin Cheng <bin.cheng@arm.com>
+
+ PR tree-optimization/81620
+ * tree-predcom.c (add_ref_to_chain): Don't set has_max_use_after
+ for store-store chain.
+
+2017-08-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/81588
+ * tree-ssa-reassoc.c (optimize_range_tests_var_bound): If
+ ranges[i].in_p, invert comparison code ccode. For >/>=,
+ swap rhs1 and rhs2 and comparison code unconditionally,
+ for </<= don't do that. Don't swap rhs1/rhs2 again if
+ ranges[i].in_p, instead invert comparison code ccode if
+ opcode or oe->rank is BIT_IOR_EXPR.
+
+ PR target/80846
+ * optabs.def (vec_extract_optab, vec_init_optab): Change from
+ a direct optab to conversion optab.
+ * optabs.c (expand_vector_broadcast): Use convert_optab_handler
+ with GET_MODE_INNER as last argument instead of optab_handler.
+ * expmed.c (extract_bit_field_1): Likewise. Use vector from
+ vector extraction if possible and optab is available.
+ * expr.c (store_constructor): Use convert_optab_handler instead
+ of optab_handler. Use vector initialization from smaller
+ vectors if possible and optab is available.
+ * tree-vect-stmts.c (vectorizable_load): Likewise.
+ * doc/md.texi (vec_extract, vec_init): Document that the optabs
+ now have two modes.
+ * config/i386/i386.c (ix86_expand_vector_init): Handle expansion
+ of vec_init from half-sized vectors with the same element mode.
+ * config/i386/sse.md (ssehalfvecmode): Add V4TI case.
+ (ssehalfvecmodelower, ssescalarmodelower): New mode attributes.
+ (reduc_plus_scal_v8df, reduc_plus_scal_v4df, reduc_plus_scal_v2df,
+ reduc_plus_scal_v16sf, reduc_plus_scal_v8sf, reduc_plus_scal_v4sf,
+ reduc_<code>_scal_<mode>, reduc_umin_scal_v8hi): Add element mode
+ after mode in gen_vec_extract* calls.
+ (vec_extract<mode>): Renamed to ...
+ (vec_extract<mode><ssescalarmodelower>): ... this.
+ (vec_extract<mode><ssehalfvecmodelower>): New expander.
+ (rotl<mode>3, rotr<mode>3, <shift_insn><mode>3, ashrv2di3): Add
+ element mode after mode in gen_vec_init* calls.
+ (VEC_INIT_HALF_MODE): New mode iterator.
+ (vec_init<mode>): Renamed to ...
+ (vec_init<mode><ssescalarmodelower>): ... this.
+ (vec_init<mode><ssehalfvecmodelower>): New expander.
+ * config/i386/mmx.md (vec_extractv2sf): Renamed to ...
+ (vec_extractv2sfsf): ... this.
+ (vec_initv2sf): Renamed to ...
+ (vec_initv2sfsf): ... this.
+ (vec_extractv2si): Renamed to ...
+ (vec_extractv2sisi): ... this.
+ (vec_initv2si): Renamed to ...
+ (vec_initv2sisi): ... this.
+ (vec_extractv4hi): Renamed to ...
+ (vec_extractv4hihi): ... this.
+ (vec_initv4hi): Renamed to ...
+ (vec_initv4hihi): ... this.
+ (vec_extractv8qi): Renamed to ...
+ (vec_extractv8qiqi): ... this.
+ (vec_initv8qi): Renamed to ...
+ (vec_initv8qiqi): ... this.
+ * config/rs6000/vector.md (VEC_base_l): New mode attribute.
+ (vec_init<mode>): Renamed to ...
+ (vec_init<mode><VEC_base_l>): ... this.
+ (vec_extract<mode>): Renamed to ...
+ (vec_extract<mode><VEC_base_l>): ... this.
+ * config/rs6000/paired.md (vec_initv2sf): Renamed to ...
+ (vec_initv2sfsf): ... this.
+ * config/rs6000/altivec.md (splitter, altivec_copysign_v4sf3,
+ vec_unpacku_hi_v16qi, vec_unpacku_hi_v8hi, vec_unpacku_lo_v16qi,
+ vec_unpacku_lo_v8hi, mulv16qi3, altivec_vreve<mode>2): Add
+ element mode after mode in gen_vec_init* calls.
+ * config/aarch64/aarch64-simd.md (vec_init<mode>): Renamed to ...
+ (vec_init<mode><Vel>): ... this.
+ (vec_extract<mode>): Renamed to ...
+ (vec_extract<mode><Vel>): ... this.
+ * config/aarch64/iterators.md (Vel): New mode attribute.
+ * config/s390/s390.c (s390_expand_vec_strlen, s390_expand_vec_movstr):
+ Add element mode after mode in gen_vec_extract* calls.
+ * config/s390/vector.md (non_vec_l): New mode attribute.
+ (vec_extract<mode>): Renamed to ...
+ (vec_extract<mode><non_vec_l>): ... this.
+ (vec_init<mode>): Renamed to ...
+ (vec_init<mode><non_vec_l>): ... this.
+ * config/s390/s390-builtins.def (s390_vlgvb, s390_vlgvh, s390_vlgvf,
+ s390_vlgvf_flt, s390_vlgvg, s390_vlgvg_dbl): Add element mode after
+ vec_extract mode.
+ * config/arm/iterators.md (V_elem_l): New mode attribute.
+ * config/arm/neon.md (vec_extract<mode>): Renamed to ...
+ (vec_extract<mode><V_elem_l>): ... this.
+ (vec_extractv2di): Renamed to ...
+ (vec_extractv2didi): ... this.
+ (vec_init<mode>): Renamed to ...
+ (vec_init<mode><V_elem_l>): ... this.
+ (reduc_plus_scal_<mode>, reduc_plus_scal_v2di, reduc_smin_scal_<mode>,
+ reduc_smax_scal_<mode>, reduc_umin_scal_<mode>,
+ reduc_umax_scal_<mode>, neon_vget_lane<mode>, neon_vget_laneu<mode>):
+ Add element mode after gen_vec_extract* calls.
+ * config/mips/mips-msa.md (vec_init<mode>): Renamed to ...
+ (vec_init<mode><unitmode>): ... this.
+ (vec_extract<mode>): Renamed to ...
+ (vec_extract<mode><unitmode>): ... this.
+ * config/mips/loongson.md (vec_init<mode>): Renamed to ...
+ (vec_init<mode><unitmode>): ... this.
+ * config/mips/mips-ps-3d.md (vec_initv2sf): Renamed to ...
+ (vec_initv2sfsf): ... this.
+ (vec_extractv2sf): Renamed to ...
+ (vec_extractv2sfsf): ... this.
+ (reduc_plus_scal_v2sf, reduc_smin_scal_v2sf, reduc_smax_scal_v2sf):
+ Add element mode after gen_vec_extract* calls.
+ * config/mips/mips.md (unitmode): New mode iterator.
+ * config/spu/spu.c (spu_expand_prologue, spu_allocate_stack,
+ spu_builtin_extract): Add element mode after gen_vec_extract* calls.
+ * config/spu/spu.md (inner_l): New mode attribute.
+ (vec_init<mode>): Renamed to ...
+ (vec_init<mode><inner_l>): ... this.
+ (vec_extract<mode>): Renamed to ...
+ (vec_extract<mode><inner_l>): ... this.
+ * config/sparc/sparc.md (veltmode): New mode iterator.
+ (vec_init<VMALL:mode>): Renamed to ...
+ (vec_init<VMALL:mode><VMALL:veltmode>): ... this.
+ * config/ia64/vect.md (vec_initv2si): Renamed to ...
+ (vec_initv2sisi): ... this.
+ (vec_initv2sf): Renamed to ...
+ (vec_initv2sfsf): ... this.
+ (vec_extractv2sf): Renamed to ...
+ (vec_extractv2sfsf): ... this.
+ * config/powerpcspe/vector.md (VEC_base_l): New mode attribute.
+ (vec_init<mode>): Renamed to ...
+ (vec_init<mode><VEC_base_l>): ... this.
+ (vec_extract<mode>): Renamed to ...
+ (vec_extract<mode><VEC_base_l>): ... this.
+ * config/powerpcspe/paired.md (vec_initv2sf): Renamed to ...
+ (vec_initv2sfsf): ... this.
+ * config/powerpcspe/altivec.md (splitter, altivec_copysign_v4sf3,
+ vec_unpacku_hi_v16qi, vec_unpacku_hi_v8hi, vec_unpacku_lo_v16qi,
+ vec_unpacku_lo_v8hi, mulv16qi3): Add element mode after mode in
+ gen_vec_init* calls.
+
+2017-08-01 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/81297
+ * tree-vrp.c (get_single_symbol): Remove assert, instead drop
+ TREE_OVERFLOW from INTEGER_CSTs.
+
+2017-07-31 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.c (enum rs6000_reg_type): Delete trailing comma.
+
+2017-07-31 Carl Love <cel@us.ibm.com>
+
+ * config/rs6000/rs6000-c: Add support for built-in functions
+ vector signed char vec_xl_be (signed long long, signed char *);
+ vector unsigned char vec_xl_be (signed long long, unsigned char *);
+ vector signed int vec_xl_be (signed long long, signed int *);
+ vector unsigned int vec_xl_be (signed long long, unsigned int *);
+ vector signed long long vec_xl_be (signed long long, signed long long *);
+ vector unsigned long long vec_xl_be (signed long long, unsigned long long *);
+ vector signed short vec_xl_be (signed long long, signed short *);
+ vector unsigned short vec_xl_be (signed long long, unsigned short *);
+ vector double vec_xl_be (signed long long, double *);
+ vector float vec_xl_be (signed long long, float *);
+ * config/rs6000/altivec.h (vec_xl_be): Add #define.
+ * config/rs6000/rs6000-builtin.def (XL_BE_V16QI, XL_BE_V8HI, XL_BE_V4SI)
+ XL_BE_V2DI, XL_BE_V4SF, XL_BE_V2DF, XL_BE): Add definitions
+ for the builtins.
+ * config/rs6000/rs6000.c (altivec_expand_xl_be_builtin): Add function.
+ (altivec_expand_builtin): Add switch statement to call
+ altivec_expand_xl_be for each builtin.
+ (altivec_init_builtins): Add def_builtin for _builtin_vsx_le_be_v8hi,
+ __builtin_vsx_le_be_v4si, __builtin_vsx_le_be_v2di,
+ __builtin_vsx_le_be_v4sf, __builtin_vsx_le_be_v2df,
+ __builtin_vsx_le_be_v16qi.
+ * doc/extend.texi: Update the built-in documentation file for the
+ new built-in functions.
+
+2017-07-31 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/25967
+ * config/i386/i386.c (ix86_allocate_stack_slots_for_args):
+ New function.
+ (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Define.
+
2017-07-31 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config.gcc: Add z14.