]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/ChangeLog
Add range_idx param to range_label::get_text
[thirdparty/gcc.git] / gcc / ChangeLog
index bd0d8668bd5d897bf8cb5fb52ebb0f560bc37caf..d236d68e5015e3a684d3b2078d8ff222877295a1 100644 (file)
@@ -1,3 +1,450 @@
+2018-09-17  David Malcolm  <dmalcolm@redhat.com>
+
+       * diagnostic-show-locus.c (class layout_range): Add field
+       "m_original_idx".
+       (layout_range::layout_range): Add "original_idx" param and use it
+       to initialize new field.
+       (make_range): Use 0 for original_idx.
+       (layout::layout): Pass in index to calls to
+       maybe_add_location_range.
+       (layout::maybe_add_location_range): Add param "original_idx" and
+       pass it on to layout_range.
+       (layout::print_any_labels): Pass on range->m_original_idx to
+       get_text call.
+       (gcc_rich_location::add_location_if_nearby): Use 0 for
+       original_idx.
+       * gcc-rich-location.h (text_range_label::get_text): Update for new
+       param.
+       (range_label_for_type_mismatch::get_text): Likewise.
+
+2018-09-17  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (ix86_emit_i387_log1p): Emit fldln2 earlier.
+
+2018-09-17  David Malcolm  <dmalcolm@redhat.com>
+
+       * gimple-ssa-sprintf.c (fmtwarn): Update for introduction of
+       format_string_diagnostic_t.
+       (fmtwarn_n): Likewise.
+       * substring-locations.c
+       (format_string_diagnostic_t::format_string_diagnostic_t) New ctor.
+       (format_warning_n_va): Convert to...
+       (format_string_diagnostic_t::emit_warning_n_va): ...this.
+       (format_warning_va): Convert to...
+       (format_string_diagnostic_t::emit_warning_va): ...this.
+       (format_warning_at_substring): Convert to...
+       (format_string_diagnostic_t::emit_warning): ...this.
+       (format_warning_at_substring_n): Convert to...
+       (format_string_diagnostic_t::emit_warning_n): ...this.
+       * substring-locations.h (class format_string_diagnostic_t): New
+       class.
+       (format_warning_va): Convert to
+       format_string_diagnostic_t::emit_warning_va.
+       (format_warning_n_va): Convert to
+       format_string_diagnostic_t::emit_warning_n_va.
+       (format_warning_at_substring): Convert to
+       format_string_diagnostic_t::emit_warning.
+       (format_warning_at_substring_n): Convert to
+       format_string_diagnostic_t::emit_warning_n.
+
+2018-09-17  Cesar Philippidis  <cesar@codesourcery.com>
+           Bernd Schmidt <bernds_cb1@t-online.de>
+
+       * config/nvptx/nvptx.md (atomic_fetch_<logic><mode>): Enable with
+       SImode args.
+
+2018-09-17  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (truncxf<mode>2_i387_noop_unspec): Change
+       operand 0 predicate to nonimmediate operand.
+       (rint<mode>2_frndint): Remove insn pattern.
+       (rint<mode>2): Change operand 1 predicate to general_operand.
+       Extend operand 1 to XFmode and generate rintxf2 insn.
+       (frndintxf2_<rounding>): Rename from frndint<mode>2_<rounding>.
+       Do not use X87MODEF mode macro.
+       (frndintxf2_<rounding>_i387): Rename from
+       frndint<mode>2_<rounding>_i387.  Do not use X87MODEF mode macro.
+       (<rounding_insn><mode>2): For non-SSE modes, extend operand 1
+       to XFmode and generate significandxf3 insn.
+
+2018-09-17  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/87328
+       * tree-ssa-sccvn.c (process_bb): Remove assertion about not
+       visiting unexecutable backedges when not iterating.
+       (do_rpo_vn): Mark all edges not executable even when not
+       iterating.
+
+2018-09-17  Martin Jambor  <mjambor@suse.cz>
+
+       PR c/63886
+       * doc/invoke.texi (Warning Options): Likewise.
+
+2018-09-17  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/87301
+       * tree-ssa-sccvn.c (eliminate_dom_walker::eliminate_cleanup): Properly
+       clean EH info from leftover copy assignments.
+
+2018-09-17  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/85871
+       * gcov.c (output_intermediate_file): Fix out of bounds
+       access.
+
+2018-09-17  Vineet Gupta  <vgupta@synopsys.com>
+
+       * config/arc/arc.c: Object attributes for core4 not reflected
+       correctly.
+       * config/arc/arc.h: Don't restrict DBNZ to core3 (core4 includes
+       core3).
+
+2018-09-17  Alexey Brodkin  <abrodkin@synopsys.com>
+
+       * config/arc/linux.h (LINK_EH_SPEC): Add missing space.
+
+2018-09-17  Martin Liska  <mliska@suse.cz>
+
+       * doc/gcov.texi: Document new option --use-hotness-colors.
+       * gcov.c (struct source_info): Declare new field.
+       (source_info::source_info): Set default for maximum_count.
+       (print_usage): Add new -q option.
+       (process_args): Process it.
+       (accumulate_line_info): Save src->maximum_count.
+       (output_line_beginning): Make color line number if
+       flag_use_hotness_colors is set.
+       (output_line_details): Pass default argument value.
+       (output_lines): Pass src->maximum_count.
+
+2018-09-17  Martin Liska  <mliska@suse.cz>
+
+       * common/config/i386/i386-common.c (ix86_get_valid_option_values):
+       Use processor_names table.
+       * config/i386/i386.c (ix86_default_align): Use
+       processor_cost_table for alignment values.
+       (ix86_option_override_internal): Use processor_names.
+       (ix86_function_specific_print): Likewise.
+       * config/i386/i386.h (struct processor_costs):
+       Add alignment values.
+       (struct ptt): Remove and replace with const char *.
+       * config/i386/x86-tune-costs.h (struct processor_costs):
+       Declare default alignments for all costs.
+
+2018-09-17  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-vrp.c (extract_range_from_unary_expr): Do not special case
+       symbolics or VR_VARYING ranges for ABS_EXPR.
+       * wide-int-range.cc (wide_int_range_abs): Return positive numbers
+       when range will wrap.
+
+2018-09-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR middle-end/86864
+       * cfgexpand.c (expand_gimple_basic_block): Be prepared for a BARRIER
+       before and after a JUMP_TABLE_DATA.
+
+2018-09-14  John David Anglin  <danglin@gcc.gnu.org>
+
+       PR middle-end/87188
+       * dojump.c (do_compare_and_jump): Canonicalize function pointers
+       when one operand is a function pointer.  Use POINTER_TYPE_P and
+       FUNC_OR_METHOD_TYPE_P.
+       * expr.c (do_store_flag): Use POINTER_TYPE_P and FUNC_OR_METHOD_TYPE_P.
+       * fold-const.c (build_range_check): Likewise.
+       * match.pd (simple_comparison): Likewise.
+
+2018-09-14  David Malcolm  <dmalcolm@redhat.com>
+
+       PR c/82967
+       * spellcheck.c (get_edit_distance_cutoff): New function.
+       (selftest::test_edit_distance_unit_test_oneway): Rename to...
+       (selftest::test_get_edit_distance_one_way): ...this.
+       (selftest::test_get_edit_distance_unit): Rename to...
+       (selftest::test_get_edit_distance_both_ways): ...this.
+       (selftest::test_edit_distances): Move tests to this new function,
+       and test some more pairs of strings.  Update for above renaming.
+       (selftest::get_old_cutoff): New function.
+       (selftest::test_get_edit_distance_cutoff): New function.
+       (selftest::assert_suggested_for): New function.
+       (ASSERT_SUGGESTED_FOR): New macro.
+       (selftest::assert_not_suggested_for): New function.
+       (ASSERT_NOT_SUGGESTED_FOR): New macro.
+       (selftest::test_suggestions): New function.
+       (selftest::spellcheck_c_tests): Move test_get_edit_distance_unit
+       tests to selftest::test_edit_distances and call it.  Add calls to
+       selftest::test_get_edit_distance_cutoff and
+       selftest::test_suggestions.
+       * spellcheck.h (get_edit_distance_cutoff): New function declaration.
+       (best_match::consider): Replace hard-coded cutoff calculation with
+       a call to...
+       (best_match::get_cutoff): New declaration.
+       (best_match::get_best_meaningful_candidate): Likewise.
+
+2018-09-14  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * builtins.c (fold_builtin_strlen): Remove TODO comment.
+
+2018-09-14  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       revert:
+       2018-07-30  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * tree-ssa-forwprop.c (simplify_builtin_call): Don't create a not NUL
+       terminated string literal.
+
+2018-09-14  Martin Sebor  <msebor@redhat.com>
+
+       * builtins.c (unterminated_array): Handle ARRAY_REF.
+       (expand_builtin_stpcpy_1): Detect unterminated char arrays.
+       * builtins.h (unterminated_array): Declare extern.
+       * gimple-fold.c (gimple_fold_builtin_stpcpy): Detect unterminated
+       arrays.
+       (gimple_fold_builtin_sprintf): Propagate NO_WARNING to transformed
+       calls.
+
+2018-09-14  Martin Sebor  <msebor@redhat.com>
+           Jeff Law  <law@redhat.com>
+
+       * builtins.c (unterminated_array): New.
+       (expand_builtin_strcpy): Adjust.
+       (expand_builtin_strcpy_args): Detect unterminated arrays.
+       * gimple-fold.c (get_maxval_strlen): Add argument.  Detect
+       unterminated arrays.
+       * gimple-fold.h (get_maxval_strlen): Add argument.
+       (gimple_fold_builtin_strcpy): Detec unterminated arrays.
+
+       * gimple-fold.c (get_range_strlen): Add argument.
+       (get_maxval_strlen): Adjust.
+       * gimple-fold.h (get_range_strlen): Add argument.
+
+2018-09-14  Wei Xiao  <wei3.xiao@intel.com>
+
+       * config/i386/movdirintrin.h: Fix copyright year.
+
+2018-09-14  Uros Bizjak  <ubizjak@gmail.com>
+
+       * reg-stack.c: Include regs.h.
+       (replace_reg): Assert that mode is MODE_FLOAT or MODE_COMPLEX_FLOAT.
+       (emit_pop_insn): Default pop insn mode to the reg_raw_mode of
+       FIRST_STACK_REG, not DFmode.
+       (emit_swap_insn): Default swap insn mode to the reg_raw_mode of
+       FIRST_STACK_REG, not XFmode.  Explicitly construct swap RTX.
+       (change stack): Default register mode to the reg_raw_mode of
+       FIRST_STACK_REG, not DFmode.
+       * config/i386/i386.md (*swap<mode>): Remove insn pattern.
+       (*swapxf): Rename from swapxf.
+
+2018-09-14  Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/emmintrin.h: Add _MM_SHUFFLE2.
+       * config/rs6000/xmmintrin.h: Add _MM_SHUFFLE.
+
+2018-09-14  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR target/87224
+       * config/rs6000/rs6000.md (*mov<mode>_hardfloat64): Add Z to the Y
+       alternatives.
+
+2018-09-14  Sam Tebbs  <sam.tebbs@arm.com>
+
+       PR target/85628
+       * config/aarch64/aarch64.md (*aarch64_bfxilsi_uxtw): Define.
+
+2018-09-14  Jason Merrill  <jason@redhat.com>
+
+       Fix --enable-gather-detailed-mem-stats.
+       * hash-table.c (hash_table_usage): Change from variable to function.
+       * hash-table.h: Adjust.
+       * Makefile.in: Add missing dependencies on hash-table.h.
+
+2018-09-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR tree-optimization/87259
+       PR lto/87283
+       (pass_cse_reciprocals::execute): Run optimize_recip_sqrt after
+       execute_cse_reciprocals_1 has tried transforming.
+
+2018-09-14  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-vrp.c (extract_range_from_binary_expr_1): Normalize
+       VR_VARYING for PLUS/MINUS_EXPR.
+
+2018-09-14  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * config/s390/s390-passes.def (INSERT_PASS_BEFORE): Improve
+       formatting.
+
+2018-09-14  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/63155
+       * tree-ssa-coalesce.c (ssa_conflicts_merge): Remove conflict
+       bits for the merged partition.
+
+2018-09-13  Martin Sebor  <msebor@redhat.com>
+           Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * builtins.h (c_srlen): Add argument.
+       * builtins.c (warn_string_no_nul): New function.
+       (c_strlen): Add argument and use it.  Update recursive calls.
+       Pass DECL argument to string_constant to get info on non
+       terminated strings.  Update *NONSTR as needed.
+       (fold_builtin_strlen): Add argument to calls to c_strlen.
+       Warn for unterminated arrays.
+       (warn_string_no_null): Add prototype.
+       * expr.c (string_constant): Update arguments.  Update recursive
+       calls appropriately.  Detect missing NUL terminator and outermost
+       declaration its missing in.
+       Improve checks for arrays with nonzero lower bound or elements
+       that are not a single byte.  Simplify offset computation.
+       Simplify checks for non-NUL terminated strings.
+       * gimple-fold.c (get_range_strlen): Add argument to c_strlen call.
+       * gimple-ssa-sprintf.c (get_string_length): Remove unnecessary code.
+
+2018-09-13  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * builtins.c (c_strlen): Handle not zero terminated STRING_CSTs
+       correctly.
+       * fold-const.c (c_getstr): Fix function comment.  Remove unused third
+       argument.  Fix range checks.
+       * fold-const.h (c_getstr): Adjust protoype.
+       * gimple-fold.c (gimple_fold_builtin_memory_op): Avoid folding when
+       string is constant but contains no NUL byte.
+
+       * expr.c (string_constant): Adjust function comment.
+       Remove bogus check for zero termination.
+
+       * fold-const.c (c_getstr): Clamp STRING_LENGTH to STRING_SIZE.
+
+       * varasm.c (compare_constant): Compare type size of STRING_CSTs.
+       (get_constant_size): Don't make STRING_CSTs larger than they are.
+       (check_string_literal): New check function for STRING_CSTs.
+       (output_constant): Use it.
+
+2018-09-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR target/86812
+       * config/visium/visium.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): Define.
+
+2018-09-13  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/87263
+       * tree-ssa-sccvn.c (visit_phi): Revert some earlier changes.
+       (struct unwind_state): Add max_rpo field.
+       (do_rpo_vn): Allow up-to-date loop state to be used when not iterating.
+       Compute max_rpo, the max RPO number a block can be backwards reached
+       from.  Re-write non-iterating mode to a RPO ordered worklist approach,
+       separating it from the iterating mode.
+
+2018-09-13  Vlad Lazar  <vlad.lazar@arm.com>
+
+       * haifa-sched.c (rank_for_schedule): Schedule by INSN_COST.
+       (rfs_decision): New scheduling decision.
+
+2018-09-13  Richard Biener  <rguenther@suse.de>
+
+       PR bootstrap/87134
+       * tree-ssa-sccvn.c (vn_nary_op_insert_into): Fix assert.
+       (vn_nary_op_insert_pieces_predicated): Do not write useless
+       valid_dominated_by_p entry outside of the allocated storage.
+
+2018-09-13  Omar Sandoval  <osandov@osandov.com>
+           Tom de Vries  <tdevries@suse.de>
+
+       PR debug/86985
+       * dwarf2out.c (is_c): New function.
+       (add_subscript_info): Add DW_AT_count of 0 for C zero-length arrays.
+
+2018-09-13  Sam Tebbs  <sam.tebbs@arm.com>
+
+       PR target/85628
+       * config/aarch64/aarch64.md (*aarch64_bfxil):
+       Define.
+       * config/aarch64/constraints.md (Ulc): Define.
+       * config/aarch64/aarch64-protos.h (aarch64_high_bits_all_ones_p):
+       Define.
+       * config/aarch64/aarch64.c (aarch64_high_bits_all_ones_p):
+       New function.
+
+2018-09-13  Vlad Lazar  <vlad.lazar@arm.com>
+
+       * config/aarch64/aarch64.h (TARGET_COMPUTE_FRAME_LAYOUT): Define.
+       * config/aarch64/aarch64.c (aarch64_expand_prologue): Remove
+       aarch64_layout_frame call. 
+       (aarch64_expand_epilogue): Likewise.
+       (aarch64_initial_elimination_offset): Likewise.
+       (aarch64_get_separate_components): Likewise.
+       (aarch64_use_return_insn_p): Likewise.
+       (aarch64_layout_frame): Remove unneeded check.
+
+2018-09-13  Jakub Jelinek  <jakub@redhat.com>
+
+       * configure.ac: Only append
+       " : (reconfigured) $TOPLEVEL_CONFIGURE_ARGUMENTS" to
+       gcc_config_arguments if it was never reconfigured or last reconfigure
+       was with different arguments.
+       * configure: Regenerated.
+
+2018-09-13  Jakub Jelinek  <jakub@redhat.com>
+           Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR middle-end/87290
+       * expr.c (maybe_optimize_pow2p_mod_cmp): New function.
+       (maybe_optimize_mod_cmp): Use it if integer_pow2p treeop1.
+
+2018-09-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/87287
+       * fold-const.c (fold_binary_loc) <case EQ_EXPR>: Move signed modulo
+       X % C == 0 to X % (unsigned) C == 0 optimization to ...
+       * match.pd (X % C == 0): ... here.  New optimization.
+
+2018-09-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/82853
+       * expr.h (maybe_optimize_mod_cmp): Declare.
+       * expr.c (mod_inv): New function.
+       (maybe_optimize_mod_cmp): New function.
+       (do_store_flag): Use it.
+       * cfgexpand.c (expand_gimple_cond): Likewise.
+
+2018-09-09  Cesar Philippidis  <cesar@codesourcery.com>
+            Julian Brown  <julian@codesourcery.com>
+
+       PR middle-end/86336
+       * gimplify.c (gimplify_scan_omp_clauses): Set
+       target_firstprivatize_array_bases in OpenACC parallel and kernels
+       region contexts.  Remove GOMP_MAP_FIRSTPRIVATE_REFERENCE clauses from
+       OpenACC data regions.
+
+2018-09-12  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (sqrt_extend<mode>xf3_i387): Remove.
+       (sqrt<mode>2): Extend operand 1 to XFmode and generate sqrtxf3 insn.
+
+2018-09-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/87280
+       * tree-ssa-sccvn.c (process_bb): Handle the case of executable
+       edge but unreachable target.
+       (do_rpo_vn): For conservatively handling a PHI only mark
+       the backedge executable but not the block reachable.
+
+2018-09-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/87266
+       * tree-ssa-sccvn.c (do_rpo_vn): Always iterate to not yet
+       visited blocks.
+
+2018-09-12  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/s390.md (PFPO_RND_MODE_DFP, PFPO_RND_MODE_BFP): New
+       constants.
+       ("trunc<BFP:mode><DFP_ALL:mode>2")
+       ("trunc<DFP_ALL:mode><BFP:mode>2")
+       ("extend<BFP:mode><DFP_ALL:mode>2")
+       ("extend<DFP_ALL:mode><BFP:mode>2"): Set proper rounding mode
+       according to the target operand type.
+
 2018-09-12  Jakub Jelinek  <jakub@redhat.com>
            Andreas Krebbel  <krebbel@linux.ibm.com>