diff options
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r-- | gcc/ChangeLog | 1158 |
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. |