re PR bootstrap/90819 (-Walloc-size-larger-than error in trans-mem.c)
[gcc.git] / gcc / ChangeLog
index dbcf512b643bc7b51d93922c88e10b0231fbbc6c..66e45395da8eb34a0685040e21051d84796e0470 100644 (file)
@@ -1,3 +1,270 @@
+2019-06-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/90819
+       * trans-mem.c (tm_memopt_compute_available): Add assertion
+       that blocks is not empty.  Formatting fix.
+
+2019-06-11  Martin Liska  <mliska@suse.cz>
+
+       PR c++/87847
+       * hash-table.h: Extend create_gcc, add one parameter
+       that is passed into hash_table::hash_table.
+
+2019-06-10  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386-protos.h (ix86_split_fp_absneg_operator):
+       New prototype.
+       * config/i386/i386-expand.c (ix86_expand_fp_absneg_operator):
+       Emit clobber also for non-sse operations.
+       (ix86_split_fp_absneg_operator): New function.
+       * config/i386/i386.md (SSEMODEF): New mode iterator.
+       (ssevecmodef): New mode attribute.
+       (<code>tf2): Use absneg code iterator.
+       (*<code>tf2_1): Rename from *absnegtf3_sse. Use absneg code iterator.
+       Add three-operand AVX alternatives.
+       (*<code><mode>2_i387_1): Rename from *absnegxf2_i387.
+       Use absneg code iterator and X87MODEF mode iterator.
+       (absneg fp_reg non-sse splitter): Call absneg code iterator
+       and X87MODEF mode iterator.
+       (absneg general_reg non-sse splitter): Use absneg code iterator
+       and X87MODEF mode iterator.  Use ix86_split_fp_absneg_operator.
+       (*<code><mode>2_1): Rename from *absneg<mode>2.  Use absneg
+       code iterator.  Add three-operand AVX alternative.
+       (absneg sse_reg splitter): Use absneg code iterator
+       and SSEMODEF mode iterator.  Handle AVX operands.
+       (absneg fp_reg splitter): Use absneg code iterator
+       and MODEF mode iterator.
+       (absneg general_reg splitter): Merge splitters using MODEF mode
+       iterator.  Use absneg code iterator.  Call
+       ix86_split_fp_absneg_operator.
+       (*<code><mode>2_i387): Rename from *<code><mode>2_1.
+       Do not enable for non-sse modes before reload.
+       (CSGNMODE): Remove.
+       (CSGNVMODE): Ditto.
+       (copysing<mode>3): Use SSEMODEF instead of CSGNMODE and
+       ssevecmodef mode attribute instaed of CSGNVMODE.
+       (copysign<mode>3_const): Ditto.
+       (copysign<mode>3_var): Ditto.
+       * config/i386/i386.md (*<code><mode>2): Rename from *absneg<mode>2.
+       Use absneg code iterator.  Simplify code using std::swap.
+       * config/i386/predicates.md (absneg_operator): Remove.
+
+2019-06-10  Martin Sebor  <msebor@redhat.com>
+
+       * gimple-fold.c (get_range_strlen): Update comment that didn't
+       make it into r267503 or related commits.
+
+2019-06-10  Vladislav Ivanishin  <vlad@ispras.ru>
+
+       * gcov-tool.c (merge_usage, rewrite_usage): Mark with
+       ATTRIBUTE_NORETURN thus making consistent with overlap_usage.
+
+2019-06-10  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree.def (OMP_SCAN): New tree code.
+       * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_INCLUSIVE and
+       OMP_CLAUSE_EXCLUSIVE.
+       * tree.h (OMP_CLAUSES): Use OMP_SCAN instead of OMP_TASKGROUP.
+       (OMP_SCAN_BODY, OMP_SCAN_CLAUSES): Define.
+       * tree.c (omp_clause_num_ops, omp_clause_code_name): Add entries for
+       OMP_CLAUSE_{IN,EX}CLUSIVE.
+       (walk_tree_1): Handle OMP_CLAUSE_{IN,EX}CLUSIVE.
+       * tree-nested.c (convert_nonlocal_reference_stmt,
+       convert_local_reference_stmt, convert_gimple_call): Handle
+       GIMPLE_OMP_SCAN.
+       * tree-pretty-print.c (dump_omp_clause): Handle
+       OMP_CLAUSE_{IN,EX}CLUSIVE.
+       (dump_generic_node): Handle OMP_SCAN.
+       * gimple.def (GIMPLE_OMP_SCAN): New gimple code.
+       * gimple.h (gomp_scan): New type.
+       (is_a_helper <gomp_scan *>::test,
+       is_a_helper <const gomp_scan *>::test): New templates.
+       (gimple_build_omp_scan): Declare.
+       (gimple_omp_scan_clauses, gimple_omp_scan_clauses_ptr,
+       gimple_omp_scan_set_clauses): New inline functions.
+       (CASE_GIMPLE_OMP): Add case GIMPLE_OMP_SCAN:.
+       * gimple.c (gimple_build_omp_scan): New function.
+       (gimple_copy): Handle GIMPLE_OMP_SCAN.
+       * gimple-walk.c (walk_gimple_op, walk_gimple_stmt): Likewise.
+       * gimple-pretty-print.c (dump_gimple_omp_block): Don't handle
+       GIMPLE_OMP_TASKGROUP.
+       (dump_gimple_omp_scan): New function.
+       (pp_gimple_stmt_1): Handle GIMPLE_OMP_SCAN.
+       * gimple-low.c (lower_stmt): Handle GIMPLE_OMP_SCAN.
+       * tree-inline.c (remap_gimple_stmt, estimate_num_insns): Likewise.
+       * gimplify.c (enum gimplify_omp_var_data): Add GOVD_REDUCTION_INSCAN.
+       (is_gimple_stmt): Handle OMP_SCAN.
+       (gimplify_scan_omp_clauses): Reject inscan reductions on constructs
+       other than OMP_FOR or OMP_SIMD.  Handle OMP_CLAUSE_{IN,EX}CLUSIVE.
+       (gimplify_adjust_omp_clauses): Diagnose inscan reductions not
+       mentioned in nested #pragma omp scan.  Handle
+       OMP_CLAUSE_{IN,EX}CLUSIVE.
+       (gimplify_expr): Handle OMP_SCAN.
+       * omp-low.c (check_omp_nesting_restrictions): For parent context,
+       look through GIMPLE_OMP_SCAN context.  Allow #pragma omp scan in
+       simd constructs.
+       (scan_omp_1_stmt, lower_omp_1, diagnose_sb_1, diagnose_sb_2): Handle
+       GIMPLE_OMP_SCAN.
+
+2019-06-10  Martin Liska  <mliska@suse.cz>
+
+       * ipa-cp.c (ignore_edge_p): New function.
+       (build_toporder_info): Use it.
+       * ipa-inline.c (ignore_edge_p): New function.
+       (inline_small_functions): Use it.
+       * ipa-pure-const.c (ignore_edge_for_nothrow):
+       Verify opt_for_fn for caller and callee.
+       (ignore_edge_for_pure_const): Likewise.
+       * ipa-reference.c (ignore_edge_p): Extend to check
+       for opt_for_fn.
+       * ipa-utils.c (searchc): Refactor.
+       * ipa-utils.h: Fix coding style.
+
+2019-06-10  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.c (arc_rtx_costs): Update costs.
+
+2019-06-10  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc-protos.h (arc_check_ior_const): Declare.
+       (arc_split_ior): Likewise.
+       (arc_check_mov_const): Likewise.
+       (arc_split_mov_const): Likewise.
+       * config/arc/arc.c (arc_print_operand): Fix 'z' letter.
+       (arc_rtx_costs): Replace check Crr with Cax constraint.
+       (prepare_move_operands): Cleanup, remove unused code.
+       (arc_split_ior): New function.
+       (arc_check_ior_const): Likewise.
+       (arc_split_mov_const): Likewise.
+       (arc_check_mov_const): Likewise.
+       * config/arc/arc.md (movsi_insn): Restructure it, and convert it
+       in define_insn_and_split pattern.
+       (iorsi3): Likewise.
+       (mulsi3_v2): Add new matching variant.
+       (andsi3_i): Cleanup pattern.
+       (rotrsi3_cnt1): Update pattern.
+       (rotrsi3_cnt8): New pattern.
+       (ashlsi2_cnt8): Likewise.
+       (ashlsi2_cnt16): Likewise.
+       * config/arc/constraints.md (C0p): Update constraint.
+       (Crr): Remove it.
+       (C0x): New pattern.
+       (Cax): New pattern.
+
+2019-06-10  Martin Liska  <mliska@suse.cz>
+
+       * ipa-icf.c (sem_item_optimizer::parse_nonsingleton_classes):
+       Update coding style.
+       (sem_item_optimizer::dump_cong_classes):
+       Print how many items are in a non-singular class.  Improve
+       coding style.
+
+2019-06-10  Martin Liska  <mliska@suse.cz>
+
+       * value-prof.c (dump_histogram_value): Change dump format.
+       (gimple_mod_subtract_transform): Remove legacy comment.
+
+2019-06-10  Martin Liska  <mliska@suse.cz>
+
+       * value-prof.c (dump_histogram_value): Print histogram values
+       only if present.
+
+2019-06-10  Martin Liska  <mliska@suse.cz>
+
+       * gcov-io.h (GCOV_DISK_SINGLE_VALUES): New.
+       (GCOV_SINGLE_VALUE_COUNTERS): Likewise.
+       * ipa-profile.c (ipa_profile_generate_summary):
+       Use get_most_common_single_value.
+       * tree-profile.c (gimple_init_gcov_profiler):
+       Instrument with __gcov_one_value_profiler_v2
+       and __gcov_indirect_call_profiler_v4.
+       * value-prof.c (dump_histogram_value):
+       Print all values for HIST_TYPE_SINGLE_VALUE.
+       (stream_out_histogram_value): Update assert for
+       N values.
+       (stream_in_histogram_value): Set number of
+       counters for HIST_TYPE_SINGLE_VALUE.
+       (get_most_common_single_value): New.
+       (gimple_divmod_fixed_value_transform):
+       Use get_most_common_single_value.
+       (gimple_ic_transform): Likewise.
+       (gimple_stringops_transform): Likewise.
+       (gimple_find_values_to_profile): Set number
+       of counters for HIST_TYPE_SINGLE_VALUE.
+       * value-prof.h (get_most_common_single_value):
+       New.
+
+2019-06-10  Martin Liska  <mliska@suse.cz>
+
+       * hash-map.h: Pass default value to hash_table ctor.
+       * hash-table.h: Add default value to call of a ctor.
+
+2019-06-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/invoke.texi (C Dialect Options): Minor grammatical change.
+       (x86 Options): Replace all uses of "PCL_MUL" with "PCLMUL"
+
+2019-06-07  John David Anglin  <danglin@gcc.gnu.orig>
+
+       PR target/90751
+       * config/pa/pa-linux.h (ASM_DECLARE_FUNCTION_NAME): Update comment.
+       Call pa_output_function_label.
+       (TARGET_ASM_FUNCTION_PROLOGUE): define.
+       * config/pa/pa-protos.h (pa_output_function_label): Declare.
+       * config/pa/pa.c (pa_output_function_prologue): Add ATTRIBUTE_UNUSED
+       to declaration.
+       (pa_linux_output_function_prologue): Declare.
+       (TARGET_ASM_FUNCTION_PROLOGUE): Delete define.
+       (pa_output_function_label): New.
+       (pa_output_function_prologue): Revise to use pa_output_function_label.
+       (pa_linux_output_function_prologue): New.
+       * config/pa/pa.h (TARGET_ASM_FUNCTION_PROLOGUE): Define.
+
+2019-06-07  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-vrp.h (value_range_base::intersect): New.
+       (value_range::intersect_helper): Move from here...
+       (value_range_base::intersect_helper): ...to here.
+       * tree-vrp.c (value_range::intersect_helper): Rename to...
+       (value_range_base::intersect_helper): ...this, and rewrite to
+       return a value instead of modifying THIS in place.
+       Also, move equivalence handling...
+       (value_range::intersect): ...here, while calling intersect_helper.
+       * gimple-fold.c (size_must_be_zero_p): Use value_range_base when
+       calling intersect.
+       * gimple-ssa-evrp-analyze.c (ecord_ranges_from_incoming_edge):
+       Same.
+       * vr-values.c (vrp_evaluate_conditional_warnv_with_ops): Same.
+
+2019-06-07  Jakub Jelinek  <jakub@redhat.com>
+
+       * Makefile.in (genprogerr): Add condmd.
+       (genprog): Remove it here.
+
+2019-06-07  Andrew Stubbs  <ams@codesourcery.com>
+
+       * doc/invoke.texi (AMD GCN Options): Add gfx906.
+
+2019-06-07  Richard Biener  <rguenther@suse.de>
+
+       PR debug/90574
+       * tree-cfg.c (stmt_starts_bb_p): Split blocks at labels
+       that appear after user labels.
+
+2019-06-07  Martin Liska  <mliska@suse.cz>
+
+       * cselib.c (cselib_init): Disable hash table
+       sanitization.
+       * hash-set.h: Pass new default argument to m_table.
+       * hash-table.c: Add global variable with hash table
+       sanitization limit.
+       * hash-table.h (Allocator>::hash_table): Add new argument
+       to ctor.
+       (hashtab_chk_error): New.
+       * params.def (PARAM_HASH_TABLE_VERIFICATION_LIMIT): New.
+       * toplev.c (process_options): Set hash_table_sanitize_eq_limit
+       from the PARAM_HASH_TABLE_VERIFICATION_LIMIT value.
+
 2019-06-07  Jan Hubicka  <hubicka@ucw.cz>
 
        * common.opt (flto-odr-type-merging): Ignore.