re PR sanitizer/88619 (ICE in asan_emit_stack_protection, at asan.c:1574 since r266664)
[gcc.git] / gcc / ChangeLog
index a231aeea3567f4c2a9d4af7c51c7f5680d192933..73fd2460724242eb853945d248e6c874300966f3 100644 (file)
@@ -1,3 +1,129 @@
+2019-01-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR sanitizer/88619
+       * cfgexpand.c (expand_stack_vars): Only align prev_offset to
+       ASAN_MIN_RED_ZONE_SIZE, not to maximum of that and alignb.
+
+       PR c++/85052
+       * tree-vect-generic.c: Include insn-config.h and recog.h.
+       (expand_vector_piecewise): Add defaulted ret_type argument,
+       if non-NULL, use that in preference to type for the result type.
+       (expand_vector_parallel): Formatting fix.
+       (do_vec_conversion, do_vec_narrowing_conversion,
+       expand_vector_conversion): New functions.
+       (expand_vector_operations_1): Call expand_vector_conversion
+       for VEC_CONVERT ifn calls.
+       * internal-fn.def (VEC_CONVERT): New internal function.
+       * internal-fn.c (expand_VEC_CONVERT): New function.
+       * fold-const-call.c (fold_const_vec_convert): New function.
+       (fold_const_call): Use it for CFN_VEC_CONVERT.
+       * doc/extend.texi (__builtin_convertvector): Document.
+
+2019-01-07  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx-protos.h (nvptx_output_red_partition): Declare.
+       * config/nvptx/nvptx.c (vector_red_size, vector_red_align,
+       vector_red_partition, vector_red_sym): New global variables.
+       (nvptx_option_override): Initialize vector_red_sym.
+       (nvptx_declare_function_name): Restore red_partition register.
+       (nvptx_file_end): Emit code to declare the vector reduction variables.
+       (nvptx_output_red_partition): New function.
+       (nvptx_expand_shared_addr): Add vector argument. Use it to handle
+       large vector reductions.
+       (enum nvptx_builtins): Add NVPTX_BUILTIN_VECTOR_ADDR.
+       (nvptx_init_builtins): Add VECTOR_ADDR.
+       (nvptx_expand_builtin): Update call to nvptx_expand_shared_addr.
+       Handle nvptx_expand_shared_addr.
+       (nvptx_get_shared_red_addr): Add vector argument and handle large
+       vectors.
+       (nvptx_goacc_reduction_setup): Add offload_attrs argument and handle
+       large vectors.
+       (nvptx_goacc_reduction_init): Likewise.
+       (nvptx_goacc_reduction_fini): Likewise.
+       (nvptx_goacc_reduction_teardown): Likewise.
+       (nvptx_goacc_reduction): Update calls to nvptx_goacc_reduction_{setup,
+       init,fini,teardown}.
+       (nvptx_init_axis_predicate): Initialize vector_red_partition.
+       (nvptx_set_current_function): Init vector_red_partition.
+       * config/nvptx/nvptx.md (UNSPECV_RED_PART): New unspecv.
+       (nvptx_red_partition): New insn.
+       * config/nvptx/nvptx.h (struct machine_function): Add red_partition.
+
+2019-01-07  Tom de Vries  <tdevries@suse.de>
+
+       PR target/85381
+       * config/nvptx/nvptx.c (nvptx_process_pars): Don't emit barriers for
+       empty loops.
+
+2019-01-07  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.c (oacc_bcast_partition): Declare.
+       (nvptx_option_override): Init oacc_bcast_partition.
+       (nvptx_init_oacc_workers): New function.
+       (nvptx_declare_function_name): Call nvptx_init_oacc_workers.
+       (nvptx_needs_shared_bcast): New function.
+       (nvptx_find_par): Generalize to enable vectors to use shared-memory
+       to propagate state.
+       (nvptx_shared_propagate): Initialize vector bcast partition and
+       synchronization state.
+       (nvptx_single):  Generalize to enable vectors to use shared-memory
+       to propagate state.
+       (nvptx_process_pars): Likewise.
+       (nvptx_set_current_function): Initialize oacc_broadcast_partition.
+       * config/nvptx/nvptx.h (struct machine_function): Add
+       bcast_partition and sync_bar members.
+
+2019-01-07  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.c (nvptx_welformed_vector_length_p)
+       (nvptx_apply_dim_limits): New function.
+       (nvptx_goacc_validate_dims_1): Allow PTX_MAX_VECTOR_LENGTH larger than
+       PTX_WARP_SIZE.
+
+2019-01-07  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Move warnings to
+       as late as possible.
+
+2019-01-07  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.c (PTX_VECTOR_LENGTH): Remove.
+       (PTX_DEFAULT_VECTOR_LENGTH, PTX_MAX_VECTOR_LENGTH): Define.
+       (nvptx_goacc_validate_dims_1, nvptx_dim_limit)
+       (nvptx_goacc_reduction_fini): Use PTX_DEFAULT_VECTOR_LENGTH,
+       PTX_MAX_VECTOR_LENGTH and PTX_WARP_SIZE instead of PTX_VECTOR_LENGTH.
+
+2019-01-07  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Add asserts.
+
+2019-01-07  Tom de Vries  <tdevries@suse.de>
+
+       * omp-offload.c (oacc_get_min_dim): New function.
+       * omp-offload.h (oacc_get_min_dim): Declare.
+
+2018-12-26  Mateusz B  <mateuszb@poczta.onet.pl>
+
+       PR target/88521
+       * config/i386/i386.c (function_value_ms_64): Return small sturct in
+       AX_REG and float/double in FIRST_SSE_REG for 4 or 8 byte modes.
+
+2019-01-05  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR tree-opt/86020
+       Revert:
+       2017-05-22  Jan Hubicka  <hubicka@ucw.cz>
+       
+        * ipa-inline.c (edge_badness): Use inlined_time instead of
+        inline_summaries->get.
+
+2019-01-05  Jan Hubicka  <hubicka@ucw.cz>
+
+       * opts.c (enable_fdo_optimizations): Enable
+       version-loops-for-strides, loop-interchange, unrol-and-jam
+       and tree-loop-distribution.
+       * invoke.texi: Document newly enabled options.
+
 2019-01-05  Jan Hubicka  <hubicka@ucw.cz>
 
        * doc/invoke.texi (max-inline-insns-small): New parameters.