1. 03 Oct, 2019 15 commits
    • re PR target/91769 (wrong code with -O2 on MIPS) · 206c926a
      Fix PR target/91769
      
      This fixes the issue by checking that addr's base reg is not part of dest
      multiword reg instead just checking the first reg of dest.
      
      gcc/ChangeLog:
      
      2019-10-03  Dragan Mladjenovic  <dmladjenovic@wavecomp.com>
      
      	PR target/91769
      	* config/mips/mips.c (mips_split_move): Use reg_overlap_mentioned_p
      	instead of REGNO equality check on addr.reg.
      
      gcc/testsuite/ChangeLog:
      
      2019-10-03  Dragan Mladjenovic  <dmladjenovic@wavecomp.com>
      
      	PR target/91769
      	* gcc.target/mips/pr91769.c: New test.
      
      From-SVN: r276525
      Dragan Mladjenovic committed
    • Libgomp magic offset value self-documentation · 6c7e076b
      2019-10-02  Julian Brown  <julian@codesourcery.com>
      	    Cesar Philippidis  <cesar@codesourcery.com>
      
      	libgomp/
      	* libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
      	* target.c (FIELD_TGT_EMPTY): Define.
      	(gomp_map_val): Use OFFSET_* macros instead of magic constants.  Write
      	as switch instead of list of ifs.
      	(gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
      
      Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
      
      From-SVN: r276519
      Julian Brown committed
    • primary.c (match_real_constant): Remove shadowing local vars. · 5dbe01a1
      2019-10-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * primary.c (match_real_constant): Remove shadowing local vars.
              Rename local vars.  Fix undefined behavior in loop termination.
              (gfc_convert_to_structure_constructor): Rename local var.
      
      From-SVN: r276518
      Bernd Edlinger committed
    • params.def (PARAM_INLINE_HEURISTICS_HINT_PERCENT, [...]): New. · 2925cad2
      
      	* params.def (PARAM_INLINE_HEURISTICS_HINT_PERCENT,
      	PARAM_INLINE_HEURISTICS_HINT_PERCENT_O2): New.
      	* doc/invoke.texi (inline-heuristics-hint-percent,
      	inline-heuristics-hint-percent-O2): Document.
      	* tree-inline.c (inline_insns_single, inline_insns_auto): Add new
      	hint attribute.
      	(can_inline_edge_by_limits_p): Use it.
      
      From-SVN: r276516
      Jan Hubicka committed
    • Avoid reserved identifier in include/parallel/multiway_merge.h · ebf8247e
      	* include/parallel/multiway_merge.h (_RAIter3): Replace _C by _Cp.
      
      From-SVN: r276515
      Rainer Orth committed
    • Check init_priority in g++.dg/cpp0x/gen-attrs-67.C · a164d19a
      	gcc/testsuite:
      	* g++.dg/cpp0x/gen-attrs-67.C: Expect constructor priorities error
      	on any !init_priority target.
      
      From-SVN: r276510
      Rainer Orth committed
    • [arm] Fix rtl-checking failure in arm_print_value · eec30638
      Noticed while debugging the arm bootstrap failure.
      
      2019-10-03  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* config/arm/arm.c (arm_print_value): Use real_to_decimal
      	to print CONST_DOUBLEs.
      
      From-SVN: r276508
      Richard Sandiford committed
    • re PR jit/91928 (libgccjit fails on subsequent compilations in ipa-cp) · 12e088ba
      PR jit/91928
      
      	* ipa-cp.c (ipa_cp_c_finalize): Release ipcp_transformation_sum.
      	* ipa-prop.c (ipcp_free_transformation_sum): New function.
      	* ipa-prop.h (ipcp_free_transformation_sum): Add declaration.
      
      From-SVN: r276507
      Andrea Corallo committed
    • re PR fortran/84487 (Large rodate section increase in 465.tonto with r254427) · 3aad513c
      2019-10-03  Thomas Koenig <tkoenig@gcc.gnu.org>
      
      	PR fortran/84487
      	* trans-decl.c (gfc_get_symbol_decl): For __def_init, set
      	DECL_ARTIFICAL and do not set TREE_READONLY.
      
      2019-10-03  Thomas Koenig <tkoenig@gcc.gnu.org>
      
      	PR fortran/84487
      	* gfortran.dg/typebound_call_22.f03: xfail.
      
      From-SVN: r276506
      Thomas Koenig committed
    • Character typenames in errors and warnings · f61e54e5
          
      Character type names now incorporate length, kind is only shown if
      the default character is not being used.
          
      Examples:
         
        character(7) is reported as CHARACTER(7)
        character(len=20,kind=4) is reported as CHARACTER(20,4)
         
      dummy character variables with assumed length:
          
        character(*) is reported as CHARACTER(*)
        character(*,kind=4) is reported as CHARACTER(*,4)
      
      From-SVN: r276505
      Mark Eggleston committed
    • Makefile.in (OBJS): Add range.o and range-op.o. · 38a73435
      	* Makefile.in (OBJS): Add range.o and range-op.o.
      	Remove wide-int-range.o.
      	* function-tests.c (test_ranges): New.
      	(function_tests_c_tests): Call test_ranges.
      	* ipa-cp.c (ipa_vr_operation_and_type_effects): Call
      	range_fold_unary_expr instead of extract_range_from_unary_expr.
      	* ipa-prop.c (ipa_compute_jump_functions_for_edge): Same.
      	* range-op.cc: New file.
      	* range-op.h: New file.
      	* range.cc: New file.
      	* range.h: New file.
      	* selftest.h (range_tests): New prototype.
      	* ssa.h: Include range.h.
      	* tree-vrp.c (value_range_base::value_range_base): New
      	constructors.
      	(value_range_base::singleton_p): Do not call
      	ranges_from_anti_range until sure we will need to.
      	(value_range_base::type): Rename gcc_assert to
      	gcc_checking_assert.
      	(vrp_val_is_max): New argument.
      	(vrp_val_is_min): Same.
      	(wide_int_range_set_zero_nonzero_bits): Move from
      	wide-int-range.cc.
      	(extract_range_into_wide_ints): Remove.
      	(extract_range_from_multiplicative_op): Remove.
      	(extract_range_from_pointer_plus_expr): Abstract POINTER_PLUS code
      	from extract_range_from_binary_expr.
      	(extract_range_from_plus_minus_expr): Abstract PLUS/MINUS code
      	from extract_range_from_binary_expr.
      	(extract_range_from_binary_expr): Remove.
      	(normalize_for_range_ops): New.
      	(range_fold_binary_expr): New.
      	(range_fold_unary_expr): New.
      	(value_range_base::num_pairs): New.
      	(value_range_base::lower_bound): New.
      	(value_range_base::upper_bound): New.
      	(value_range_base::upper_bound): New.
      	(value_range_base::contains_p): New.
      	(value_range_base::invert): New.
      	(value_range_base::union_): New.
      	(value_range_base::intersect): New.
      	(range_compatible_p): New.
      	(value_range_base::operator==): New.
      	(determine_value_range_1): Call range_fold_*expr instead of
      	extract_range_from_*expr.
      	* tree-vrp.h (class value_range_base): Add new constructors.
      	Add methods for union_, intersect, operator==, contains_p,
      	num_pairs, lower_bound, upper_bound, invert.
      	(vrp_val_is_min): Add handle_pointers argument.
      	(vrp_val_is_max): Same.
      	(extract_range_from_unary_expr): Remove.
      	(extract_range_from_binary_expr): Remove.
      	(range_fold_unary_expr): New.
      	(range_fold_binary_expr): New.
      	* vr-values.c (vr_values::extract_range_from_binary_expr): Call
      	range_fold_binary_expr instead of extract_range_from_binary_expr.
      	(vr_values::extract_range_basic): Same.
      	(vr_values::extract_range_from_unary_expr): Call
      	range_fold_unary_expr instead of extract_range_from_unary_expr.
      	* wide-int-range.cc: Remove.
      	* wide-int-range.h: Remove.
      
      From-SVN: r276504
      Aldy Hernandez committed
    • Daily bump. · e6f53878
      From-SVN: r276502
      GCC Administrator committed
    • Use the SIGNED_16BIT_OFFSET_EXTRA_P macro for 16-bit signed tests. · e5ec901c
      2019-10-02   Michael Meissner  <meissner@linux.ibm.com>
      
      	* config/rs6000/rs6000.c (mem_operand_gpr): Use
      	SIGNED_16BIT_OFFSET_EXTRA_P.
      	(mem_operand_ds_form): Use SIGNED_16BIT_OFFSET_EXTRA_P.
      	(rs6000_mode_dependent_address): Use SIGNED_16BIT_OFFSET_EXTRA_P.
      
      From-SVN: r276498
      Michael Meissner committed
  2. 02 Oct, 2019 25 commits
    • Define WIDTH macros for C2x. · 202be586
      As part of the integration of TS 18661-1 into C2x, many features
      became unconditional features not depending on any feature test macro
      being defined.  This patch updates the conditionals on the *_WIDTH
      macros in limits.h and stdint.h accordingly so that they are defined
      for C2x.  The macro CR_DECIMAL_DIG in float.h does still require
      __STDC_WANT_IEC_60559_BFP_EXT__ to be defined, and a test for this is
      added.
      
      Bootstrapped with no regressions on x86_64-pc-linux-gnu.
      
      gcc:
      	* ginclude/stdint-gcc.h [__STDC_WANT_IEC_60559_BFP_EXT__]: Change
      	condition on WIDTH macros to [__STDC_WANT_IEC_60559_BFP_EXT__ ||
      	(__STDC_VERSION__ && __STDC_VERSION__ > 201710L)].
      	* glimits.h: Likewise.
      
      gcc/testsuite:
      	* gcc.dg/cr-decimal-dig-2.c: New test.
      	* gcc.dg/limits-width-2.c: New test.  Based on limits-width-1.c.
      	* gcc.dg/stdint-width-2.c: New test.  Based on stdint-width-1.c.
      
      From-SVN: r276497
      Joseph Myers committed
    • init.c (build_new): Use cp_expr_loc_or_input_loc in two places. · f5fc32e4
      /cp
      2019-10-03  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* init.c (build_new): Use cp_expr_loc_or_input_loc in two places.
      	* name-lookup.c (do_pushdecl): Use DECL_SOURCE_LOCATION.
      	(push_class_level_binding_1): Likewise.
      	(set_decl_namespace): Likewise.
      
      /testsuite
      2019-10-03  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/diagnostic/integral-array-size-1.C: New.
      	* g++.dg/cpp0x/alias-decl-1.C: Test location(s) too.
      	* g++.dg/init/new43.C: Likewise.
      	* g++.dg/lookup/friend12.C: Likewise.
      	* g++.dg/lookup/pr79766.C: Likewise.
      	* g++.dg/lookup/pr84375.C: Likewise.
      	* g++.dg/other/new-size-type.C: Likewise.
      
      From-SVN: r276496
      Paolo Carlini committed
    • re PR rtl-optimization/91976 (RTL check: expected code 'const_int', have 'reg'… · 775eaa4d
      re PR rtl-optimization/91976 (RTL check: expected code 'const_int', have 'reg' in emit_block_move_hints, at expr.c:1627)
      
      	PR rtl-optimization/91976
      	* expr.c (emit_block_move_hints): Don't call can_move_by_pieces if
      	size is not CONST_INT_P, set pieces_ok to false in that case.  Simplify
      	CONST_INT_P (size) && pieces_ok to pieces_ok.  Formatting fix.
      
      From-SVN: r276495
      Jakub Jelinek committed
    • constexpr.c (cxx_eval_constant_expression): If not skipping upon entry to body... · 1006c9d4
      	* constexpr.c (cxx_eval_constant_expression) <case CLEANUP_STMT>: If
      	not skipping upon entry to body, run cleanup with the same *jump_target
      	as it started to run the cleanup even if the body returns, breaks or
      	continues.
      	(potential_constant_expression_1): Allow CLEANUP_STMT.
      
      	* g++.dg/ext/constexpr-attr-cleanup1.C: New test.
      
      From-SVN: r276494
      Jakub Jelinek committed
    • constexpr.c (cxx_eval_store_expression): Formatting fix. · 276a52d5
      	* constexpr.c (cxx_eval_store_expression): Formatting fix.  Handle
      	const_object_being_modified with array type.
      
      From-SVN: r276493
      Jakub Jelinek committed
    • Add changelog entries for r276491. · bead5784
      From-SVN: r276492
      Martin Sebor committed
    • PR tree-optimization/80936 - bcmp, bcopy, and bzero not declared nonnull · d1090a8a
      gcc/testsuite/ChangeLog:
      
      	PR tree-optimization/80936
      	* gcc.dg/Wnonnull-2.c: New test.
      	* gcc.dg/Wnonnull-3.c: New test.
      	* gcc.dg/nonnull-3.c: Expect more warnings.
      
      gcc/ChangeLog:
      
      	PR tree-optimization/80936
      	* builtins.def (bcmp, bcopy, bzero): Declare nonnull.
      
      From-SVN: r276491
      Martin Sebor committed
    • Fix ALL_REGS thinko in initialisation of function_used_regs · aa29ed6d
      My change to the -fipa-ra bookkeeping used ALL_REGS as the supposedly
      safe default assumption, but ALL_REGS isn't literally all registers,
      just a close approximation.
      
      This caused a bootstrap failure on arm-linux-gnu, where the condition
      code register isn't in ALL_REGS and so was being masked out of some
      call-clobbered sets.
      
      2019-10-02  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* cgraph.c (cgraph_node::rtl_info): Use SET_HARD_REG_SET
      	instead of reg_class_contents[ALL_REGS].
      
      From-SVN: r276489
      Richard Sandiford committed
    • runtime: mark go-context.S as no-executable-stack and split-stack supported · b7c41230
          
          The .note.GNU-stack section tells the linker that this object does not
          require an executable stack.
          
          The .note.GNU-split-stack section tells the linker that functions in
          this object can be called directly by split-stack functions, without
          require a large stack.
          
          The .note.GNU-no-split-stack section tells the linker that functions
          in this object do not have a split-stack prologue.
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/198440
      
      From-SVN: r276488
      Ian Lance Taylor committed
    • Improve C++ fold caching efficiency. · b830c28b
      While looking at concepts caching I noticed that we were clearing the caches
      unnecessarily for non-constant initialization, which shouldn't affect
      folding.
      
      	* typeck2.c (store_init_value): Only clear_cv_and_fold_caches if the
      	value is constant.
      
      From-SVN: r276487
      Jason Merrill committed
    • Add some hash_map_safe_* functions like vec_safe_*. · c89844e5
      gcc/
      	* hash-map.h (default_hash_map_size): New variable.
      	(create_ggc): Use it as default argument.
      	(hash_map_maybe_create, hash_map_safe_get)
      	(hash_map_safe_get_or_insert, hash_map_safe_put): New fns.
      gcc/cp/
      	* constexpr.c (maybe_initialize_fundef_copies_table): Remove.
      	(get_fundef_copy): Use hash_map_safe_get_or_insert.
      	* cp-objcp-common.c (cp_get_debug_type): Use hash_map_safe_*.
      	* decl.c (store_decomp_type): Remove.
      	(cp_finish_decomp): Use hash_map_safe_put.
      	* init.c (get_nsdmi): Use hash_map_safe_*.
      	* pt.c (store_defaulted_ttp, lookup_defaulted_ttp): Remove.
      	(add_defaults_to_ttp): Use hash_map_safe_*.
      
      From-SVN: r276484
      Jason Merrill committed
    • Testsuite, remove alloca header · d61bff85
      2019-10-02  Andreas Tobler  <andreast@gcc.gnu.org>
      
      	* testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
      	include. Replace alloca () with __builtin_alloca ().
      	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
      
      Reviewed-by: Thomas Schwinge <thomas@codesourcery.com>
      
      From-SVN: r276479
      Andreas Tobler committed
    • re PR fortran/91784 (ICE in gfc_real2complex, at fortran/arith.c:2208) · c20a90e0
      2019-10-02  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/91784
      	* simplify.c (gfc_convert_constant): Simplify expression if the
      	expres	ion type is EXPR_OP.
      
      2019-10-02  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/91784
      	* gfortran.dg/pr91784.f90: New test.
      
      From-SVN: r276474
      Steven G. Kargl committed
    • re PR fortran/91785 (ICE in check_assumed_size_reference, at fortran/resolve.c:1601) · 307de100
      2019-10-02  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/91785
      	* primary.c (gfc_match_varspec): Ensure an inquiry parameter has
      	it locus set.
      
      2019-10-02  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/91785
      	* gfortran.dg/pr91785.f90: New test.
      
      From-SVN: r276473
      Steven G. Kargl committed
    • re PR fortran/91942 (ICE in match_vtag, at fortran/io.c:1485) · 939e9f69
      2019-10-02  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/91942
      	* io.c (match_vtag): Check for non-NULL result->symtree.
      	(match_out_tag): Check for invalid constant due to inquiry parameter.
      	(match_filepos): Instead of a syntax error, go to cleanup to get better
      	error messages.
      
      2019-10-02  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/91942
      	* gfortran.dg/pr91587.f90: Update dg-error regex.
      	* gfortran.dg/pr91942.f90: New test.
      
      From-SVN: r276472
      Steven G. Kargl committed
    • re PR fortran/91943 (ICE in gfc_conv_constant_to_tree, at fortran/trans-const.c:370) · 8b4e5e71
      2019-10-02  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/91943
      	* match.c (gfc_match_call): BOZ cannot be an actual argument in
      	a subroutine reference.
      	* resolve.c (resolve_function): BOZ cannot be an actual argument in
      	a function reference.
       
      2019-10-02  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/91943
      	gfortran.dg/pr91943.f90
      
      From-SVN: r276471
      Steven G. Kargl committed
    • cif-code.def (MAX_INLINE_INSNS_SINGLE_O2_LIMIT, [...]): New. · b1fb82e5
      
      	* cif-code.def (MAX_INLINE_INSNS_SINGLE_O2_LIMIT,
      	MAX_INLINE_INSNS_AUTO_O2_LIMIT): New.
      	* ipa-inline.c (inline_insns_single, inline_insns_auto): New functions.
      	(can_inline_edge_by_limits_p): Use it.
      	(big_speedup_p): Use PARAM_INLINE_MIN_SPEEDUP_O2.
      	(want_inline_small_function_p): Use O2 bounds.
      	(edge_badness): LIkewise.
      	* opts.c (default_options): Add OPT_finline_functions.
      	* params.def (PARAM_INLINE_MIN_SPEEDUP_O2,
      	PARAM_MAX_INLINE_INSNS_SINGLE_O2, PARAM_MAX_INLINE_INSNS_AUTO_O2):
      	New parameters.
      
      	* g++.dg/tree-ssa/pr53844.C: Add -fno-inline-functions --param
      	max-inline-insns-single-O2=200.
      	* gcc.c-torture/execute/builtins/builtins.exp: Add
      	-fno-inline-functions to additional_flags.
      	* gcc.dg/ipa/inline-7.c: Add -fno-inline-functions.
      	* gcc.dg/optimize-bswapsi-5.c: Add -fno-inline-functions.
      	* gcc.dg/tree-ssa/ssa-thread-12.c: Add --param
      	early-inlining-insns-O2=14 -fno-inline-functions; revert previous
      	change.
      	* gcc.dg/winline-3.c: Use --param max-inline-insns-single-O2=1
      	--param inline-min-speedup-O2=100
      	instead of --param max-inline-insns-single=1 --param
      	inline-min-speedup=100
      
      	* invoke.texi (-finline-functions): Update documentation.
      	(max-inline-insns-single-O2, max-inline-insns-auto-O2,
      	inline-min-speedup-O2): Document.
      	(early-inlining-insns-O2): Simplify docs.
      
      From-SVN: r276470
      Jan Hubicka committed
    • cif-code.def (MAX_INLINE_INSNS_SINGLE_O2_LIMIT, [...]): New. · 562d1e95
      
      	* cif-code.def (MAX_INLINE_INSNS_SINGLE_O2_LIMIT,
      	MAX_INLINE_INSNS_AUTO_O2_LIMIT): New.
      	* ipa-inline.c (inline_insns_single, inline_insns_auto): New functions.
      	(can_inline_edge_by_limits_p): Use it.
      	(big_speedup_p): Use PARAM_INLINE_MIN_SPEEDUP_O2.
      	(want_inline_small_function_p): Use O2 bounds.
      	(edge_badness): LIkewise.
      	* opts.c (default_options): Add OPT_finline_functions.
      	* params.def (PARAM_INLINE_MIN_SPEEDUP_O2,
      	PARAM_MAX_INLINE_INSNS_SINGLE_O2, PARAM_MAX_INLINE_INSNS_AUTO_O2):
      	New parameters.
      
      	* g++.dg/tree-ssa/pr53844.C: Add -fno-inline-functions --param
      	max-inline-insns-single-O2=200.
      	* gcc.c-torture/execute/builtins/builtins.exp: Add
      	-fno-inline-functions to additional_flags.
      	* gcc.dg/ipa/inline-7.c: Add -fno-inline-functions.
      	* gcc.dg/optimize-bswapsi-5.c: Add -fno-inline-functions.
      	* gcc.dg/tree-ssa/ssa-thread-12.c: Add --param
      	early-inlining-insns-O2=14 -fno-inline-functions; revert previous
      	change.
      	* gcc.dg/winline-3.c: Use --param max-inline-insns-single-O2=1
      	--param inline-min-speedup-O2=100
      	instead of --param max-inline-insns-single=1 --param
      	inline-min-speedup=100
      
      	* invoke.texi (-finline-functions): Update documentation.
      	(max-inline-insns-single-O2, max-inline-insns-auto-O2,
      	inline-min-speedup-O2): Document.
      	(early-inlining-insns-O2): Simplify docs.
      
      From-SVN: r276469
      Jan Hubicka committed
    • Remove greedy wildcards from libstdc++ linker script · 352d2690
      The only symbols matched by std::e[a-q]* and std::e[s-z]* that are
      supposed to be in the GLIBCXX_3.4 version are std::exception::* and
      std::endl and std::ends. The latter two already have explicit patterns
      matching them, so we just need to match std::exception::*.
      
      This change ensures that any new symbols with a return type of
      std::enable_if<...> are not added to the GLIBCXX_3.4 version.
      
      	* config/abi/pre/gnu.ver: Tighten up greedy wildcards.
      
      From-SVN: r276468
      Jonathan Wakely committed
    • ifcvt: improve cost estimation (PR 87047) · 1764d63b
      	PR rtl-optimization/87047
      	* ifcvt.c (average_cost): New static function.  Use it...
      	(noce_process_if_block): ... here.
      
      testsuite/
      	* gcc.dg/pr87047.c: New test.
      
      From-SVN: r276466
      Alexander Monakov committed
    • [PR testsuite/91842] Skip gcc.dg/ipa/ipa-sra-19.c on power · a264ea9a
      2019-10-02  Martin Jambor  <mjambor@suse.cz>
      
      	PR testsuite/91842
      	* gcc.dg/ipa/ipa-sra-19.c: Skip on powerpc.
      
      From-SVN: r276465
      Martin Jambor committed
    • module.c (load_commons): Initialize flags to 0 to silecne -Wmaybe-uninitialized warning. · 408b33fc
      
      	* module.c (load_commons): Initialize flags to 0 to silecne
      	-Wmaybe-uninitialized warning.
      	(read_module): Likewise for n and comp_name.
      
      From-SVN: r276464
      Jan Hubicka committed
    • Document non-conformance of parallel mode to recent C++ standards · 709310e7
      	* doc/xml/manual/parallel_mode.xml: Add caveat about support for
      	recent standards.
      	* doc/html/*: Regenerate.
      
      From-SVN: r276463
      Jonathan Wakely committed
    • rs6000-protos.h (expand_block_move): Change prototype. · c8241327
      2019-10-02  Aaron Sawdey <acsawdey@linux.ibm.com>
      
      	* config/rs6000/rs6000-protos.h (expand_block_move): Change prototype.
      	* config/rs6000/rs6000-string.c (expand_block_move): Add
      	might_overlap parm.
      	* config/rs6000/rs6000.md (movmemsi): Add new pattern.
      	(cpymemsi): Add might_overlap parm to expand_block_move() call.
      
      From-SVN: r276462
      Aaron Sawdey committed
    • builtins.c (expand_builtin_memory_copy_args): Add might_overlap parm. · 03a9b90a
      2019-10-02  Aaron Sawdey <acsawdey@linux.ibm.com>
      
      	* builtins.c (expand_builtin_memory_copy_args): Add might_overlap parm.
      	(expand_builtin_memcpy): Use might_overlap parm.
      	(expand_builtin_mempcpy_args): Use might_overlap parm.
      	(expand_builtin_memmove): Call expand_builtin_memory_copy_args.
      	(expand_builtin_memory_copy_args): Add might_overlap parm.
      	* expr.c (emit_block_move_via_cpymem): Rename to
      	emit_block_move_via_pattern, add might_overlap parm, use cpymem
      	or movmem optab as appropriate.
      	(emit_block_move_hints): Add might_overlap parm, do the right
      	thing for might_overlap==true.
      	* expr.h (emit_block_move_hints): Update prototype.
      
      From-SVN: r276461
      Aaron Sawdey committed