PR tree-optimization/86571 - AIX NaNQ and NaNS output format conflicts with __builtin...
[gcc.git] / gcc / ChangeLog
index 367a529d4b66dbcd3e5103daecfd7b7242cdab08..7d2323983ec26aab89715e685708b3d93e59d5be 100644 (file)
@@ -1,3 +1,267 @@
+2018-08-04  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/86571
+       * gimple-ssa-sprintf.c (format_floating): Extend upper bound of
+       NaN output to 4.
+
+2018-08-03  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * config/nios2/nios2.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
+       Define.
+
+2018-08-03  Jeff Law  <law@redhat.com>
+
+       PR target/86795
+       * config/mn10300/mn10300.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
+       Define to speculation_safe_value_not_needed.
+
+2018-08-03  David Malcolm  <dmalcolm@redhat.com>
+
+       * doc/gcov.texi (-x): Remove duplicate "to".
+       * doc/invoke.texi (-Wnoexcept-type): Remove duplicate "calls".
+       (-Wif-not-aligned): Remove duplicate "is".
+       (-flto): Remove duplicate "the".
+       (MicroBlaze Options): In examples of "-mcpu=cpu-type", remove
+       duplicate "v5.00.b".
+       (MSP430 Options): Remove duplicate "and" from the description
+       of "-mgprel-sec=regexp".
+       (x86 Options): Remove duplicate copies of "vmldLog102" and
+       vmlsLog104 from description of "-mveclibabi=type".
+
+2018-08-03  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * internal-fn.h (first_commutative_argument): Declare.
+       * internal-fn.c (first_commutative_argument): New function.
+       * tree-vect-slp.c (vect_get_and_check_slp_defs): Remove extra
+       restrictions for pattern statements.  Use first_commutative_argument
+       to look for commutative operands in calls to internal functions.
+
+2018-08-03  Aldy Hernandez  <aldyh@redhat.com>
+
+       * Makefile.in (wide-int-range.o): New.
+       * tree-vrp.c: Move all the wide_int_* functions to...
+       * wide-int-range.cc: ...here.
+       * tree-vrp.h: Move all the wide_int_* prototypes to...
+       * wide-int-range.h: ...here.
+
+2018-08-03  Tom de Vries  <tdevries@suse.de>
+
+       * common/config/nvptx/nvptx-common.c (nvptx_except_unwind_info): Return
+       UI_NONE.
+       * config/nvptx/nvptx.c (TARGET_ASM_BYTE_OP): Remove define.
+       * except.c (output_function_exception_table): Do early exit if
+       targetm_common.except_unwind_info (&global_options) == UI_NONE.
+
+2018-08-03  Martin Liska  <mliska@suse.cz>
+
+       * predict.c (dump_prediction): Change to 2 digits
+        in fraction part.
+
+2018-08-03  Siddhesh Poyarekar  <siddhesh@sourceware.org>
+
+       * config/aarch64/falkor.md (falkor_am_1_vxvy_vxvy): Move
+       neon_dup_q to...
+       (falkor_am_1_gtov_gtov): ... a new insn reservation.
+
+2018-07-19  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * config/nds32/nds32.c (nds32_hard_regno_mode_ok): Replace > with >=.
+       * df-problems.c (df_remove_dead_eq_notes): Replace > with >=.
+       * dwarf2out.c (mem_loc_descriptor): Replace > with >=.
+       * lra-constraints.c (spill_hard_reg_in_range): Replace <= with <.
+       * lra-remat.c (call_used_input_regno_present_p): Replace <= with <.
+
+2018-08-02  David Malcolm  <dmalcolm@redhat.com>
+
+       * diagnostic-show-locus.c (diagnostic_show_locus): Use
+       pp_take_prefix when saving the existing prefix.
+       * diagnostic.c (diagnostic_append_note): Likewise.
+       * langhooks.c (lhd_print_error_function): Likewise.
+       * pretty-print.c (pp_set_prefix): Drop the "const" from "prefix"
+       param's type.  Free the existing prefix.
+       (pp_take_prefix): New function.
+       (pretty_printer::pretty_printer): Drop the prefix parameter.
+       Rename the length parameter to match the comment.
+       (pretty_printer::~pretty_printer): Free the prefix.
+       * pretty-print.h (pretty_printer::pretty_printer): Drop the prefix
+       parameter.
+       (struct pretty_printer): Drop the "const" from "prefix" field's
+       type and clarify memory management.
+       (pp_set_prefix): Drop the "const" from the 2nd param.
+       (pp_take_prefix): New decl.
+
+2018-08-02  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * config/rs6000/rs6000-string.c (select_block_compare_mode): Move test
+       for word_mode_ok here instead of passing as argument.
+       (expand_block_compare): Change select_block_compare_mode() call.
+       (expand_strncmp_gpr_sequence): New function.
+       (expand_strn_compare): Make use of expand_strncmp_gpr_sequence.
+
+2018-08-02  Jeff Law  <law@redhat.com>
+
+       PR target/86790
+       * config/m68k/m68k.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
+       Define to speculation_safe_value_not_needed.
+
+       PR target/86784
+       * config/h8300/h8300.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
+       Define to speculation_safe_value_not_needed.
+
+2018-08-02  Tom de Vries  <tdevries@suse.de>
+
+       PR target/86660
+       * common/config/nvptx/nvptx-common.c (nvptx_except_unwind_info): New
+       function.  Return UI_TARGET unconditionally.
+       (TARGET_EXCEPT_UNWIND_INFO): Redefine to nvptx_except_unwind_info.
+       * config/nvptx/nvptx.c (TARGET_ASM_BYTE_OP): Emit commented out '.byte'.
+
+2018-08-02  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * genemit.c (print_overload_test): Fix typo.
+
+2018-08-02  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/86816
+       * tree-ssa-tail-merge.c (tail_merge_valueize): New function
+       which checks for value availability before querying it.
+       (gvn_uses_equal): Use it.
+       (same_succ_hash): Likewise.
+       (gimple_equal_p): Likewise.
+
+2018-08-02  Nick Clifton  <nickc@redhat.com>
+
+       PR target/86813
+       * config/stormy16/stormy16.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
+       Define to speculation_safe_value_not_needed.
+
+       PR target/86810
+       * config/v850/v850.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
+       Define to speculation_safe_value_not_needed.
+
+       PR target/86810
+       * config/v850/v850.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
+       Define to speculation_safe_value_not_needed.
+
+       PR target/86803
+       * config/rx/rx.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
+       Define to speculation_safe_value_not_needed.
+
+       PR target/86797
+       * config/msp430/msp430.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
+       Define to speculation_safe_value_not_needed.
+
+       PR target/86791
+       * config/mcore/mcore.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
+       Define to speculation_safe_value_not_needed.
+
+       PR target/86789
+       * config/m32r/m32r.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
+       Define to speculation_safe_value_not_needed.
+
+       PR target/86787
+       * config/iq2000/iq2000.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
+       Define to speculation_safe_value_not_needed.
+
+       PR target/86782
+       * config/frv/frv.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): Define to
+       speculation_safe_value_not_needed.
+
+       PR target/86781
+       * config/fr30/fr30.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): Define
+       to speculation_safe_value_not_needed.
+
+2018-08-02  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * doc/md.texi: Expand the documentation of instruction names
+       to mention port-local uses.  Document '@' in pattern names.
+       * read-md.h (overloaded_instance, overloaded_name): New structs.
+       (mapping): Declare.
+       (md_reader::handle_overloaded_name): New member function.
+       (md_reader::get_overloads): Likewise.
+       (md_reader::m_first_overload): New member variable.
+       (md_reader::m_next_overload_ptr): Likewise.
+       (md_reader::m_overloads_htab): Likewise.
+       * read-md.c (md_reader::md_reader): Initialize m_first_overload,
+       m_next_overload_ptr and m_overloads_htab.
+       * read-rtl.c (iterator_group): Add "type" and "get_c_token" fields.
+       (get_mode_token, get_code_token, get_int_token): New functions.
+       (map_attr_string): Add an optional argument that passes back
+       the associated iterator.
+       (overloaded_name_hash, overloaded_name_eq_p, named_rtx_p):
+       (md_reader::handle_overloaded_name, add_overload_instance): New
+       functions.
+       (apply_iterators): Handle '@' names.  Report an error if '@'
+       is used without iterators.
+       (initialize_iterators): Initialize the new iterator_group fields.
+       * genopinit.c (handle_overloaded_code_for)
+       (handle_overloaded_gen): New functions.
+       (main): Use them to print declarations of maybe_code_for_* and
+       maybe_gen_* functions, and inline definitions of code_for_* and gen_*.
+       * genemit.c (print_overload_arguments, print_overload_test)
+       (handle_overloaded_code_for, handle_overloaded_gen): New functions.
+       (main): Use it to print definitions of maybe_code_for_* and
+       maybe_gen_* functions.
+       * config/aarch64/aarch64.c (aarch64_split_128bit_move): Use
+       gen_aarch64_mov{low,high}_di and gen_aarch64_movdi_{low,high}
+       instead of explicit mode checks.
+       (aarch64_split_simd_combine): Likewise gen_aarch64_simd_combine.
+       (aarch64_split_simd_move): Likewise gen_aarch64_split_simd_mov.
+       (aarch64_emit_load_exclusive): Likewise gen_aarch64_load_exclusive.
+       (aarch64_emit_store_exclusive): Likewise gen_aarch64_store_exclusive.
+       (aarch64_expand_compare_and_swap): Likewise
+       gen_aarch64_compare_and_swap and gen_aarch64_compare_and_swap_lse
+       (aarch64_gen_atomic_cas): Likewise gen_aarch64_atomic_cas.
+       (aarch64_emit_atomic_swap): Likewise gen_aarch64_atomic_swp.
+       (aarch64_constant_pool_reload_icode): Delete.
+       (aarch64_secondary_reload): Use code_for_aarch64_reload_movcp
+       instead of aarch64_constant_pool_reload_icode.  Use
+       code_for_aarch64_reload_mov instead of explicit mode checks.
+       (rsqrte_type, get_rsqrte_type, rsqrts_type, get_rsqrts_type): Delete.
+       (aarch64_emit_approx_sqrt): Use gen_aarch64_rsqrte instead of
+       get_rsqrte_type and gen_aarch64_rsqrts instead of gen_rqrts_type.
+       (recpe_type, get_recpe_type, recps_type, get_recps_type): Delete.
+       (aarch64_emit_approx_div): Use gen_aarch64_frecpe instead of
+       get_recpe_type and gen_aarch64_frecps instead of get_recps_type.
+       (aarch64_atomic_load_op_code): Delete.
+       (aarch64_emit_atomic_load_op): Likewise.
+       (aarch64_gen_atomic_ldop): Use UNSPECV_ATOMIC_* instead of
+       aarch64_atomic_load_op_code.  Use gen_aarch64_atomic_load
+       instead of aarch64_emit_atomic_load_op.
+       * config/aarch64/aarch64.md (aarch64_reload_movcp<GPF_TF:mode><P:mode>)
+       (aarch64_reload_movcp<VALL:mode><P:mode>, aarch64_reload_mov<mode>)
+       (aarch64_movdi_<mode>low, aarch64_movdi_<mode>high)
+       (aarch64_mov<mode>high_di, aarch64_mov<mode>low_di): Add a '@'
+       character before the pattern name.
+       * config/aarch64/aarch64-simd.md (aarch64_split_simd_mov<mode>)
+       (aarch64_rsqrte<mode>, aarch64_rsqrts<mode>)
+       (aarch64_simd_combine<mode>, aarch64_frecpe<mode>)
+       (aarch64_frecps<mode>): Likewise.
+       * config/aarch64/atomics.md (atomic_compare_and_swap<mode>)
+       (aarch64_compare_and_swap<mode>, aarch64_compare_and_swap<mode>_lse)
+       (aarch64_load_exclusive<mode>, aarch64_store_exclusive<mode>)
+       (aarch64_atomic_swp<mode>, aarch64_atomic_cas<mode>)
+       (aarch64_atomic_load<atomic_ldop><mode>): Likewise.
+
+2018-08-02  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_float_const_representable_p):
+       Allow HFmode constants if TARGET_FP_F16INST.
+
+2018-08-02  Jackson Woodruff  <jackson.woodruff@arm.com>
+
+       PR target/86014
+       * config/aarch64/aarch64.c (aarch64_operands_adjust_ok_for_ldpstp):
+       No longer check last store for clobber of address register.
+
+2018-08-02  Martin Liska  <mliska@suse.cz>
+
+        PR gcov-profile/86817
+       * gcov.c (process_all_functions): New function.
+       (main): Call it.
+       (process_file): Move functions processing to
+        process_all_functions.
+
 2018-08-02  David Malcolm  <dmalcolm@redhat.com>
 
        * dumpfile.c (dump_user_location_t::dump_user_location_t): Add