1. 18 Jun, 2019 8 commits
    • Restore correct iv step for fully-masked loops · fcae0292
      r272233 introduced a large number of execution failures on SVE.
      The patch hard-coded an IV step of VF, but for SLP groups it needs
      to be VF * group size.
      
      Also, iv_precision had type widest_int but only needs to be unsigned int.
      
      2019-06-18  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* tree-vect-loop-manip.c (vect_set_loop_masks_directly): Remove
      	vf parameter.  Restore the previous iv step of nscalars_step,
      	but give it iv_type rather than compare_type.  Tweak code order
      	to match the comments.
      	(vect_set_loop_condition_masked): Update accordingly.
      	* tree-vect-loop.c (vect_verify_full_masking): Use "unsigned int"
      	for iv_precision.  Tweak comment formatting.
      
      From-SVN: r272411
      Richard Sandiford committed
    • Darwin - strip trailing whitespace from a file, NFC. · a9e47ccf
      2019-06-18  Iain Sandoe  <iain@sandoe.co.uk>
      
              * config/darwin.c: Strip trailing whitespace.
      
      From-SVN: r272410
      Iain Sandoe committed
    • [Darwin] The need for FDE symbols is dependent on linker used, not OS rev. · dbe89f49
          
      For very old toolchains, the compiler generated extra symbols that mark the
      start of each FDE.  We no longer need this (since xcode 3 era).
      
      Since we have detection of the linker version, we can use that directly to
      determine if support is needed.
      
      2019-06-18  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* config/darwin.c (darwin_emit_unwind_label): New default to false.
      	(darwin_override_options): Set darwin_emit_unwind_label as needed.
      
      From-SVN: r272409
      Iain Sandoe committed
    • Fix IPA-CP topological sorting · c6ece5c1
      2019-06-18  Martin Jambor  <mjambor@suse.cz>
      
      	PR ipa/90889
      	* ipa-cp.c (ignore_edge_p): Do not ignore edges when only the
      	caller does not have flag_ipa_cp set.
      
      From-SVN: r272408
      Martin Jambor committed
    • [Vectorizer] Support masking fold left reductions · bce29d65
      This patch adds support in the vectorizer for masking fold left reductions.
      This avoids the need to insert a conditional assignement with some identity
      value.
      
      From-SVN: r272407
      Alejandro Martinez committed
    • libsanitizer - remove reference to __cxa_rethrow_primary_exception. · 9553f0d2
      For some Darwin versions the absence of the rethrow_primary_exception
      symbol causes almost all sanitizer tests to fail.
      The symbol is not present in libstdc++ and, therefore is is correct to
      remove the reference to it for all platforms.  We do this by adding a
      new guard "ASAN_HAS_CXA_RETHROW_PRIMARY_EXCEPTION".
      
      libsanitizer/
      
      2019-06-18  Iain Sandoe  <iain@sandoe.co.uk>
      
      	PR libsanitizer/87880
      	* asan/asan_interceptors.h:
      	(ASAN_INTERCEPT___CXA_RETHROW_PRIMARY_EXCEPTION): New.
      	* asan/Makefile.am (DEFS): Add 
      	ASAN_HAS_CXA_RETHROW_PRIMARY_EXCEPTION, defined to 0.
      	* asan/Makefile.in: Regenerated.
      	* asan/libtool-version: Bump version.
      
      From-SVN: r272406
      Iain Sandoe committed
    • Add predict_doloop_p target hook · 74b5fcf7
          Add one target hook predict_doloop_p, it return true if we can predict it
          is possible to use a low-overhead loop, it can help ivopts to make some
          better decisions.
      
          PR middle-end/80791
          * target.def (predict_doloop_p): New hook.
          * targhooks.h (default_predict_doloop_p): New declaration.
          * targhooks.c (default_predict_doloop_p): New function.
          * doc/tm.texi.in (TARGET_PREDICT_DOLOOP_P): New hook.
          * doc/tm.texi: Regenerate.
          * config/rs6000/rs6000.c (rs6000_predict_doloop_p): New function.
          (TARGET_PREDICT_DOLOOP_P): New macro.
          * tree-ssa-loop-ivopts.c (generic_predict_doloop_p): New function.
      
      From-SVN: r272405
      Kewen Lin committed
    • Daily bump. · 702eb490
      From-SVN: r272404
      GCC Administrator committed
  2. 17 Jun, 2019 19 commits
    • omp-low.c (struct omp_context): Add scan_inclusive field. · 0356aab8
      	* omp-low.c (struct omp_context): Add scan_inclusive field.
      	(scan_omp_1_stmt) <case GIMPLE_OMP_SCAN>: Set ctx->scan_inclusive
      	if inclusive scan.
      	(struct omplow_simd_context): Add lastlane member.
      	(lower_rec_simd_input_clauses): Add rvar argument, handle inscan
      	reductions.  Build 2 or 3 argument .GOMP_SIMD_LANE calls rather than
      	1 or 2 argument.
      	(lower_rec_input_clauses): Handle inscan reductions in simd contexts.
      	(lower_lastprivate_clauses): Set TREE_THIS_NOTRAP on the ARRAY_REF.
      	(lower_omp_scan): New function.
      	(lower_omp_1) <case GIMPLE_OMP_SCAN>: Use lower_omp_scan.
      	* tree-ssa-dce.c (eliminate_unnecessary_stmts): For IFN_GOMP_SIMD_LANE
      	check 3rd argument if present rather than 2nd.
      	* tree-vectorizer.h (struct _loop_vec_info): Add scan_map member.
      	(struct _stmt_vec_info): Change simd_lane_access_p from bool into
      	2-bit bitfield.
      	* tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
      	scan_map.  For IFN_GOMP_SIMD_LANE check 3rd argument if present rather
      	than 2nd.
      	(_loop_vec_info::~_loop_vec_info): Delete scan_map.
      	* tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Allow two
      	different STMT_VINFO_SIMD_LANE_ACCESS_P refs if they have the same
      	init.
      	(vect_find_stmt_data_reference): Encode in ->aux the 2nd
      	IFN_GOMP_SIMD_LANE argument.
      	(vect_analyze_data_refs): Set STMT_VINFO_SIMD_LANE_ACCESS_P from the
      	encoded ->aux value.
      	* tree-vect-stmts.c: Include attribs.h.
      	(vectorizable_call): Adjust comment about IFN_GOMP_SIMD_LANE.
      	(scan_operand_equal_p, check_scan_store, vectorizable_scan_store): New
      	functions.
      	(vectorizable_load): For STMT_VINFO_SIMD_LANE_ACCESS_P tests use != 0.
      	(vectorizable_store): Handle STMT_VINFO_SIMD_LANE_ACCESS_P > 1.
      cp/
      	* semantics.c (finish_omp_clauses): For OMP_CLAUSE_REDUCTION_INSCAN
      	set need_copy_assignment.
      testsuite/
      	* gcc.dg/vect/vect-simd-8.c: New test.
      	* gcc.dg/vect/vect-simd-9.c: New test.
      	* g++.dg/vect/simd-2.cc: New test.
      	* g++.dg/gomp/scan-1.C: New test.
      
      From-SVN: r272399
      Jakub Jelinek committed
    • re PR target/62055 (missed optimization: recognize fnabs (FP negative absolute value) (x86-64)) · a064fd4c
      	PR target/62055
      	* config/i386/i386.md (*nabstf2_1): New insn pattern.
      	(*nabs<mode>2_1): Ditto.
      	(nabs sse-reg splitter): New splitter.
      	* config/i386/sse.md (*nabs<mode>2): New insn_and_split pattern.
      
      testsuite/ChangeLog:
      
      	PR target/62055
      	* gcc.target/i386/fnabs.c: New test.
      
      From-SVN: r272396
      Uros Bizjak committed
    • PR c++/83820 - excessive attribute arguments not detected. · bf0af866
      	* parser.c (cp_parser_std_attribute): Detect excessive arguments.
      
      	* g++.dg/cpp0x/gen-attrs-67.C: New test.
      
      From-SVN: r272395
      Marek Polacek committed
    • Fix AIX test failure due to replacement operator delete · 39f901e9
      On AIX the sized delete defined in the library will call the non-sized
      delete defined in the library, not the replacement version defined in
      the test file. By also replacing sized delete we make the test pass
      everywhere.
      
      	* testsuite/20_util/allocator/1.cc: Add sized delete, which fixes a
      	failure on AIX.
      
      From-SVN: r272391
      Jonathan Wakely committed
    • re PR bootstrap/90873 (-Wmaybe-uninitialized warning in gcc/tree-ssa-forwprop.c… · 35d57c95
      re PR bootstrap/90873 (-Wmaybe-uninitialized warning in gcc/tree-ssa-forwprop.c breaks 32-bit bootstrap)
      
      	PR bootstrap/90873.
      	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Fix
      	TMR index check.
      
      From-SVN: r272390
      Jan Hubicka committed
    • [nvptx] Fix missing mode warnings in nvptx.md, omp part · 8b243438
      Fix these warnings:
      ...
      gcc/config/nvptx/nvptx.md:1074:1: warning: operand 0 missing mode?
      gcc/config/nvptx/nvptx.md:1240:1: warning: operand 0 missing mode?
      gcc/config/nvptx/nvptx.md:1240:1: warning: operand 1 missing mode?
      gcc/config/nvptx/nvptx.md:1240:1: warning: operand 2 missing mode?
      gcc/config/nvptx/nvptx.md:1268:1: warning: operand 0 missing mode?
      ...
      
      Build and reg-tested on x86_64 with nvptx accelerator.
      
      2019-06-17  Tom de Vries  <tdevries@suse.de>
      
      	* config/nvptx/nvptx-protos.h (gen_set_softstack_insn): Declare.
      	* config/nvptx/nvptx.c (gen_set_softstack_insn): New function.
      	* config/nvptx/nvptx.md (define_insn "set_softstack_insn"): Rename to
      	...
      	(define_insn "set_softstack_<mode>"): ... this.  Use P iterator on
      	match_operand 0.
      	(define_insn "omp_simt_enter_insn"): Rename to ...
      	(define_insn "omp_simt_enter_<mode>"): ... this.  Use P iterator on
      	match_operand 0, 1 and 2, as well as the unspec_volatile result.
      	(define_expand "omp_simt_enter): Use gen_omp_simt_enter_di and
      	gen_omp_simt_enter_si.
      	(define_expand "omp_simt_exit"): New.
      	(define_insn "omp_simt_exit"): Rename to ...
      	(define_insn "omp_simt_exit_<mode>"): ... this.  Use P iterator on
      	match_operand 0.
      
      From-SVN: r272388
      Tom de Vries committed
    • [netbsd][aarch64] add netbsd/aarch64 target · f32f7585
      Initial support for AArch64 running NetBSD.
      
      Matthew Green <mrg@eterna.com.au>
      Maya Rashish <coypu@sdf.org>
      
      gcc:
      	* config.gcc (aarch64*-*-netbsd*): New target.
      	* config/aarch64/aarch64-netbsd.h: New file.
      	* config/aarch64/t-aarch64-netbsd: Likewise.
      
      libgcc:
      	* config.host (aarch64*-*-netbsd*): New case.
      
      Co-Authored-By: Maya Rashish <coypu@sdf.org>
      
      From-SVN: r272387
      Matthew Green committed
    • Add 'noexcept' to std::lerp · 360a758e
      	* include/c_global/cmath (__lerp, lerp): Add noexcept (LWG 3201).
      
      From-SVN: r272386
      Jonathan Wakely committed
    • PR libstdc++/90281 Fix string conversions for filesystem::path · 26b1320e
      Fix several bugs in the encoding conversions for filesystem::path that
      prevent conversion of Unicode characters outside the Basic Multilingual
      Plane, and prevent returning basic_string specializations with
      alternative allocator types.
      
      The std::codecvt_utf8 class template is not suitable for UTF-16
      conversions because it uses UCS-2 instead. For conversions between UTF-8
      and UTF-16 either std::codecvt<C, char, mbstate> or
      codecvt_utf8_utf16<C> must be used.
      
      The __str_codecvt_in and __str_codecvt_out utilities do not
      return false on a partial conversion (e.g. for invalid or incomplete
      Unicode input). Add new helpers that treat partial conversions as
      errors, and use them for all filesystem::path conversions.
      
      	PR libstdc++/90281 Fix string conversions for filesystem::path
      	* include/bits/fs_path.h (u8path) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]:
      	Use codecvt_utf8_utf16 instead of codecvt_utf8. Use
      	__str_codecvt_in_all to fail for partial conversions and throw on
      	error.
      	[!_GLIBCXX_FILESYSTEM_IS_WINDOWS && _GLIBCXX_USE_CHAR8_T]
      	(path::_Cvt<char8_t>): Add explicit specialization.
      	[_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::_Cvt::_S_wconvert): Remove
      	overloads.
      	[_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::_Cvt::_S_convert): Use
      	if-constexpr instead of dispatching to _S_wconvert. Use codecvt
      	instead of codecvt_utf8. Use __str_codecvt_in_all and
      	__str_codecvt_out_all.
      	[!_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::_Cvt::_S_convert): Use
      	codecvt instead of codecvt_utf8. Use __str_codecvt_out_all.
      	(path::_S_str_convert) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use
      	codecvt_utf8_utf16 instead of codecvt_utf8. Construct return values
      	with allocator. Use __str_codecvt_out_all. Fallthrough to POSIX code
      	after converting to UTF-8.
      	(path::_S_str_convert): Use codecvt instead of codecvt_utf8. Use
      	__str_codecvt_in_all.
      	(path::string): Fix initialization of string types with different
      	allocators.
      	(path::u8string) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use
      	codecvt_utf8_utf16 instead of codecvt_utf8. Use __str_codecvt_out_all.
      	* include/bits/locale_conv.h (__do_str_codecvt): Reorder static and
      	runtime conditions.
      	(__str_codecvt_out_all, __str_codecvt_in_all): New functions that
      	return false for partial conversions.
      	* include/experimental/bits/fs_path.h (u8path):
      	[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Implement correctly for mingw.
      	[_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::_Cvt::_S_wconvert): Add
      	missing handling for char8_t. Use codecvt and codecvt_utf8_utf16
      	instead of codecvt_utf8. Use __str_codecvt_in_all and
      	__str_codecvt_out_all.
      	[!_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::_Cvt::_S_convert): Use
      	codecvt instead of codecvt_utf8. Use __str_codecvt_out_all.
      	(path::string) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use
      	codecvt_utf8_utf16 instead of codecvt_utf8. Construct return values
      	with allocator. Use __str_codecvt_out_all and __str_codecvt_in_all.
      	(path::string) [!_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use
      	__str_codecvt_in_all.
      	(path::u8string) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use
      	codecvt_utf8_utf16 instead of codecvt_utf8. Use __str_codecvt_out_all.
      	* src/c++17/fs_path.cc (path::_S_convert_loc): Use
      	__str_codecvt_in_all.
      	* src/filesystem/path.cc (path::_S_convert_loc): Likewise.
      	* testsuite/27_io/filesystem/path/construct/90281.cc: New test.
      	* testsuite/27_io/filesystem/path/factory/u8path.cc: New test.
      	* testsuite/27_io/filesystem/path/native/string.cc: Test with empty
      	strings and with Unicode characters outside the basic multilingual
      	plane.
      	* testsuite/27_io/filesystem/path/native/alloc.cc: New test.
      	* testsuite/experimental/filesystem/path/construct/90281.cc: New test.
      	* testsuite/experimental/filesystem/path/factory/u8path.cc: New test.
      	* testsuite/experimental/filesystem/path/native/alloc.cc: New test.
      	* testsuite/experimental/filesystem/path/native/string.cc: Test with
      	empty strings and with Unicode characters outside the basic
      	multilingual plane.
      
      From-SVN: r272385
      Jonathan Wakely committed
    • [PR c++/90754] name lookup ICE · 41d93b16
      https://gcc.gnu.org/ml/gcc-patches/2019-06/msg00952.html
      	PR c++/90754
      	* name-lookup.c (lookup_type_scope_1): Calll qualify_lookup before
      	checking context.
      
      	PR c++/90754
      	* g++.dg/lookup/pr90754.C: New.
      
      From-SVN: r272384
      Nathan Sidwell committed
    • tree-ssa-alias.c (aliasing_component_refs_p): Consider only the access path from… · 07c8304c
      tree-ssa-alias.c (aliasing_component_refs_p): Consider only the access path from base to first VIEW_CONVERT_EXPR or BIT_FIELD_REF.
      
      	* tree-ssa-alias.c (aliasing_component_refs_p): Consider only
      	the access path from base to first VIEW_CONVERT_EXPR or
      	BIT_FIELD_REF.
      
      From-SVN: r272383
      Jan Hubicka committed
    • Improve PR64242 testcase · 2fcae109
      Clear the input array to avoid the testcase accidentally
      passing with an incorrect frame pointer.
      
      Committed as obvious.
      
      testsuite/
      	PR middle-end/64242
      	* gcc.c-torture/execute/pr64242.c: Improve test.
      
      From-SVN: r272382
      Wilco Dijkstra committed
    • Simplify node ownership in _Hashtable members · b0c849fa
      Introduce an RAII type to manage nodes in unordered containers while
      they are being inserted. If the caller always owns a node until it is
      inserted, then the insertion functions don't need to deallocate on
      failure. This allows a FIXME in the node re-insertion API to be removed.
      
      Also change extract(const key_type&) to not call extract(const_iterator)
      anymore.  This avoids looping through the bucket nodes again to find the
      node before the one being extracted.
      
      2019-06-17  François Dumont  <fdumont@gcc.gnu.org>
      	    Jonathan Wakely  <jwakely@redhat.com>
      
      	* include/bits/hashtable.h (struct _Hashtable::_Scoped_node): New type.
      	(_Hashtable::_M_insert_unique_node): Add key_type parameter. Don't
      	deallocate node if insertion fails.
      	(_Hashtable::_M_insert_multi_node): Likewise.
      	(_Hashtable::_M_reinsert_node): Pass additional key argument.
      	(_Hashtable::_M_reinsert_node_multi): Likewise. Remove FIXME.
      	(_Hashtable::_M_extract_node(size_t, __node_base*)): New function.
      	(_Hashtable::extract(const_iterator)): Use _M_extract_node.
      	(_Hashtable::extract(const _Key&)): Likewise.
      	(_Hashtable::_M_merge_unique): Pass additional key argument.
      	(_Hashtable::_M_emplace<Args>(true_type, Args&&...)): Likewise. Use
      	_Scoped_node.
      	(_Hashtable::_M_insert): Likewise.
      	* include/bits/hashtable_policy.h (_Map_base::operator[]): Likewise.
      	(_Hashtable_alloc): Add comments to functions with misleading names.
      
      Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
      
      From-SVN: r272381
      François Dumont committed
    • tree-ssa-alias.c (nonoverlapping_component_refs_p): Also truncate access path on BIT_FIELD_REFs. · e67ddda6
      	* tree-ssa-alias.c (nonoverlapping_component_refs_p): Also truncate
      	access path on BIT_FIELD_REFs.
      
      From-SVN: r272380
      Jan Hubicka committed
    • Remove dead code (PR ipa/90874). · c98d845f
      2019-06-17  Martin Liska  <mliska@suse.cz>
      
      	PR ipa/90874
      	* ipa-utils.h (odr_type_p): Remove dead code.
      
      From-SVN: r272378
      Martin Liska committed
    • Remove support for alternative Solaris 11.4 ld -V output · 7cd4af82
      	* configure.ac (ld_vers) <*-*-solaris2*>: Remove support for
      	alternative Solaris 11.4 format.
      	* configure: Regenerate.
      
      From-SVN: r272377
      Rainer Orth committed
    • Fix tests that fail without PCH · 9a9c7a62
      The recent change to stop transitively including <string> broke some
      tests, but only when the library is configured without PCH, because
      otherwise the <string> header still gets included via the precompiled
      <bits/stdc++.h> header.
      
      	* testsuite/20_util/bad_function_call/what.cc: Include <string> header
      	for std::string.
      	* testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Likewise.
      	* testsuite/20_util/tuple/cons/allocator_with_any.cc: Include <memory>
      	header for std::allocator.
      	* testsuite/23_containers/array/tuple_interface/tuple_element.cc: Add
      	using-declaration for std::size_t.
      	* testsuite/23_containers/array/tuple_interface/tuple_size.cc:
      	Likewise.
      	* testsuite/23_containers/deque/cons/55977.cc: Include <istream> for
      	std::istream.
      	* testsuite/23_containers/vector/cons/55977.cc: Likewise.
      	* testsuite/experimental/map/erasure.cc: Include <string> for
      	std::string.
      	* testsuite/experimental/unordered_map/erasure.cc: Likewise.
      
      From-SVN: r272376
      Jonathan Wakely committed
    • re PR ada/80590 (non-bootstrap build failure of Ada runtime) · 61efaded
      PR ada/80590
      
      	* exp_ch9.adb (Expand_N_Delay_Relative_Statement): Swap the two
      	conditions to avoid a unnecessary exception propagation in the default
      	case.
      
      From-SVN: r272372
      Arnaud Charlet committed
    • Daily bump. · 21e42f7b
      From-SVN: r272370
      GCC Administrator committed
  3. 16 Jun, 2019 13 commits
    • re PR d/90603 (ICE in functionParameters, at d/dmd/expression.c:1553) · 956fba45
      	PR d/90603
      d/dmd: Merge upstream dmd 792f0fdf2
      
      Fixes segmentation fault in functionParameters, and other related
      semantic bugs in forward or recursively referenced declarations.
      
      Reviewed-on: https://github.com/dlang/dmd/pull/10046
      
      From-SVN: r272366
      Iain Buclaw committed
    • [nvptx] Fix some missing mode warnings in nvptx.md · bbd54be5
      Fix these warnings:
      ...
      gcc/config/nvptx/nvptx.md:748:1: warning: operand 0 missing mode?
      gcc/config/nvptx/nvptx.md:757:1: warning: operand 1 missing mode?
      gcc/config/nvptx/nvptx.md:1514:1: warning: source missing a mode?
      ...
      
      Build and reg-tested on x86_64 with nvptx accelerator.
      
      2019-06-17  Tom de Vries  <tdevries@suse.de>
      
      	* config/nvptx/nvptx.md (define_insn "call_insn"): Rename to ...
      	(define_insn "call_insn_<mode>"): ... this.  Use P iterator on
      	match_operand 0.
      	(define_insn "call_value_insn"): Rename to ...
      	(define_insn "call_value_insn_<mode>"): this.  Use P iterator on
      	match_operand 0.
      	(define_insn "nvptx_red_partition"): Set unspec_volatile result mode to
      	DI.
      
      From-SVN: r272365
      Tom de Vries committed
    • re PR middle-end/64242 (Longjmp expansion incorrect) · c669ebe7
      	PR middle-end/64242
      	* config/pa/pa.md (nonlocal_goto): Restore frame pointer last.  Add
      	frame clobbers and schedule block.
      	(builtin_longjmp): Likewise.
      
      From-SVN: r272361
      John David Anglin committed
    • MSP430: Implement 64-bit shifts in assembly code · 0fcc78f7
      gcc/ChangeLog:
      
      2019-06-16  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	* config/msp430/msp430.c (msp430_expand_helper): Setup arguments which
      	describe how to perform MSPABI compliant 64-bit shift.
      	* config/msp430/msp430.md (ashldi3): New define_expand.
      	(ashrdi3): New define_expand.
      	(lshrdi3): New define_expand.
      
      libgcc/ChangeLog:
      
      2019-06-16  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	* config/msp430/slli.S (__mspabi_sllll): New library function for
      	performing a logical left shift of a 64-bit value.
      	* config/msp430/srai.S (__mspabi_srall): New library function for
      	performing a arithmetic right shift of a 64-bit value.
      	* config/msp430/srll.S (__mspabi_srlll): New library function for
      	performing a logical right shift of a 64-bit value.
      
      gcc/testsuite/ChangeLog:
      
      2019-06-16  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	* gcc.target/msp430/mspabi_sllll.c: New test.
      	* gcc.target/msp430/mspabi_srall.c: New test.
      	* gcc.target/msp430/mspabi_srlll.c: New test.
      	* gcc.c-torture/execute/shiftdi-2.c: New test.
      
      From-SVN: r272360
      Jozef Lawrynowicz committed
    • sourcebuild.texi: Document new effective target keyword longlong64. · 1409f3b0
      gcc/ChangeLog
      
      2019-06-16  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	* doc/sourcebuild.texi: Document new effective target keyword
      	longlong64.
      
      gcc/testsuite/ChangeLog
      
      2019-06-16  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	* lib/target-supports.exp: Add check_effective_target_longlong64.
      
      From-SVN: r272359
      Jozef Lawrynowicz committed
    • tree-ssa-alias.c (indirect_ref_may_alias_decl_p, [...]): Revert accidental commits. · 32aac5bd
      	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p,
      	indirect_refs_may_alias_p): Revert accidental commits.
      
      From-SVN: r272358
      Jan Hubicka committed
    • alias-access-path-4.c: New testcase. · 8e2d0529
      
      	* gcc.dg/tree-ssa/alias-access-path-4.c: New testcase.
      	* gcc.dg/tree-ssa/alias-access-path-5.c: New testcase.
      
      	* tree-ssa-alias.c (aliasing_component_refs_p): Watch for arrays
      	at the end of structures.
      
      From-SVN: r272357
      Jan Hubicka committed
    • [Darwin] The need for picsym stubs is dependent on linker used, not OS rev. · ce3a2015
          
      For very old toolchains, the compiler generated pic symbol stubs that
      provide the necessary indirections.  We no longer need this (since xcode
      3 era) and it's more efficient for the linker to make one stub when it
      knows a symbol is needed that for us to emit them speculatively in every
      object.
      
      Our current codegen is making the assumption that a specific OS version
      uses a specific linker version - and therefore the presence of support
      could be based on the target OS rev.  Of course, that's way too simplistic
      (most likely bogus for cross-toolchains) and we want to make things explict.
      
      Since we have detection of the linker version, we can use that directly
      (A config test for support for stub-less linking might also be feasible
      but much more involved).
      
      Finally, should the user wish to generate code that caters for export to
      use in an environment with an older toolchain, the generation of stubs
      can be forced from the command line.
      
      In addition to the points above, branch islanding and a long branch opt
      for PowerPC Darwin has become conflated with the emission of these stubs
      (which is confusing, and will be rectified in a following patch).
      
      
      2019-06-16  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* config/darwin.c (machopic_indirect_call_target): Use renamed
      	darwin_picsymbol_stubs to decide on output.
      	(darwin_override_options): Handle darwin_picsymbol_stubs.
      	* config/darwin.h (MIN_LD64_OMIT_STUBS): New.
      	(LD64_VERSION): Revise default.
      	* config/darwin.opt: (mpic-symbol-stubs): New option.
      	(darwin_picsymbol_stubs): New variable.
      	* config/i386/darwin.h (TARGET_MACHO_BRANCH_ISLANDS):
      	rename to TARGET_MACHO_PICSYM_STUBS.
      	* config/i386/i386.c (output_pic_addr_const): Likewise.
      	* config/i386/i386.h Likewise.
      	* config/rs6000/darwin.h: Likewise.
      	* config/rs6000/rs6000.c (rs6000_call_darwin_1): Use renamed
      	darwin_picsymbol_stubs.
      
      From-SVN: r272356
      Iain Sandoe committed
    • [Darwin, opts] Add RejectNegative for cases with explict inverses. · 4827824f
      These cases specify the negative option specifically, so we should not
      accept a regular -no-xxxx for them.
      
      2019-06-16  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* config/darwin.opt (prebind, noprebind, seglinkedit,
      	noseglinkedit): Add RejectNegative.
      
      From-SVN: r272355
      Iain Sandoe committed
    • tree-ssa-alias.c (nonoverlapping_component_refs_p): Fix pasto in my previous patch. · 612254ea
      
      	* tree-ssa-alias.c (nonoverlapping_component_refs_p): Fix pasto
      	in my previous patch.
      
      From-SVN: r272354
      Jan Hubicka committed
    • dump_parse_tree (debug): Add verison for formal arglist. · 2d86d751
      2019-06-16  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
          * dump_parse_tree (debug): Add verison for formal arglist.
          Do not crash when a gfc_expr is NULL.
      
      From-SVN: r272353
      Thomas Koenig committed
    • re PR d/90863 (ICE in StatementSemanticVisitor::visit, at d/dmd/statementsem.c:1992) · 5767d76f
      	PR d/90863
      d/dmd: Merge upstream dmd 6e44734cc
      
      Fixes segmentation fault in StatementSemanticVisitor::visit.
      
      Reviewed-on: https://github.com/dlang/dmd/pull/10033
      
      From-SVN: r272352
      Iain Buclaw committed
    • re PR d/90559 (Out of memory because of negative length) · b0a55e66
      	PR d/90559
      d/dmd: Merge upstream dmd 7afcc60c3
      
      Partially fixes out of memory because of negative length.
      
      Reviewed-on: https://github.com/dlang/dmd/pull/10025
      
      gcc/d/ChangeLog:
      
      2019-06-16  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	PR d/90559
      	* d-target.cc (Target::_init): Reduce max static data size to INT_MAX.
      
      From-SVN: r272351
      Iain Buclaw committed