Skip to content
Snippets Groups Projects
  1. Jul 13, 2019
    • Jakub Jelinek's avatar
      gimplify.c (struct gimplify_omp_ctx): Add order_concurrent member. · 70468604
      Jakub Jelinek authored
      	* gimplify.c (struct gimplify_omp_ctx): Add order_concurrent member.
      	(omp_notice_threadprivate_variable): Diagnose threadprivate variable
      	uses inside of order(concurrent) constructs.
      	(gimplify_scan_omp_clauses): Set ctx->order_concurrent if
      	OMP_CLAUSE_ORDER is seen.
      	* omp-low.c (struct omp_context): Add order_concurrent member.
      	(scan_sharing_clauses): Set ctx->order_concurrent if
      	OMP_CLAUSE_ORDER is seen.
      	(check_omp_nesting_restrictions): Diagnose ordered or atomic inside
      	of simd order(concurrent).  Diagnose constructs not allowed inside of
      	for order(concurrent).
      	(setjmp_or_longjmp_p): Add a context and TREE_PUBLIC check to avoid
      	complaining about static double setjmp (double); or class static
      	methods or non-global namespace setjmps.
      	(omp_runtime_api_call): New function.
      	(scan_omp_1_stmt): Diagnose OpenMP runtime API calls inside of
      	order(concurrent) loops.
      
      	* c-c++-common/gomp/order-3.c: New test.
      	* c-c++-common/gomp/order-4.c: New test.
      
      From-SVN: r273464
      70468604
    • GCC Administrator's avatar
      Daily bump. · bf85a038
      GCC Administrator authored
      From-SVN: r273463
      bf85a038
  2. Jul 12, 2019
    • Bill Seurer's avatar
      [PATCH] Fix typo in test case. · d64c6837
      Bill Seurer authored
      The test case has a typo in the big endian section that reversed two digits.
      
      Fix committed as obvious.
      
      
      2019-07-12  Bill Seurer  <seurer@linux.vnet.ibm.com>
      
      	* gcc.dg/tree-ssa/vector-7.c: Fix typo.
      
      From-SVN: r273459
      d64c6837
    • Iain Sandoe's avatar
      [Darwin, testsuite] Remove unused test. · 61fba267
      Iain Sandoe authored
      During GCC-9, the codegen for unreachable switch case statements changed
      such that the (undefined) behaviour of reaching such statements is directed
      to one of the existing switch cases.  This means that the testcase which
      deals with the old behaviour can no longer work (and there is nothing to test
      with it).  The [Darwin-specific] test is now redundant and can be removed.
      
      gcc/testsuite/
      
      2019-07-12  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* gcc.dg/pr57438-2.c: Remove.
      
      From-SVN: r273457
      61fba267
    • Martin Sebor's avatar
      invoke.texi (ssa-name-def-chain-limit): Document new --param. · 5dd47cb7
      Martin Sebor authored
      gcc/ChangeLog:
      
      	* doc/invoke.texi (ssa-name-def-chain-limit): Document new --param.
      	* params.def (PARAM_SSA_NAME_DEF_CHAIN_LIMIT): Add new --param.
      	* tree-vrp.c (vrp_prop::check_mem_ref): Use
      	PARAM_SSA_NAME_DEF_CHAIN_LIMIT.
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.dg/Warray-bounds-43.c: New test.
      
      From-SVN: r273454
      5dd47cb7
    • Jan Hubicka's avatar
      tree-ssa-alias.c (same_tmr_indexing_p): Break out from ... · d132c59b
      Jan Hubicka authored
      	* tree-ssa-alias.c (same_tmr_indexing_p): Break out from ...
      	(indirect_refs_may_alias_p): ... here.
      	(nonoverlapping_component_refs_since_match_p): Support also non-trivial
      	mem refs in the access paths.
      
      	* gcc.dg/tree-ssa/alias-access-path-9.c: New testcase.
      
      From-SVN: r273451
      d132c59b
    • Jiangning Liu's avatar
      re PR tree-optimization/89430 (A missing ifcvt optimization to generate csel) · b9ef6a2e
      Jiangning Liu authored
      2019-07-12  Jiangning Liu  <jiangning.liu@amperecomputing.com>
      
      	PR tree-optimization/89430
      	* tree-ssa-phiopt.c (cond_store_replacement): Support conditional
      	store elimination for local variable without address escape.
      
      	PR tree-optimization/89430
      	* gcc.dg/tree-ssa/pr89430-1.c: New test.
      	* gcc.dg/tree-ssa/pr89430-2.c: New test.
      	* gcc.dg/tree-ssa/pr89430-3.c: New test.
      	* gcc.dg/tree-ssa/pr89430-4.c: New test.
      	* gcc.dg/tree-ssa/pr89430-5.c: New test.
      	* gcc.dg/tree-ssa/pr89430-6.c: New test.
      
      From-SVN: r273449
      b9ef6a2e
    • Jonathan Wakely's avatar
      Fix inaccurate comment in new test · b979ca0f
      Jonathan Wakely authored
      	* testsuite/29_atomics/atomic_float/1.cc: Fix comment.
      
      From-SVN: r273448
      b979ca0f
    • Jeff Law's avatar
      c6x.c (c6x_section_type): Clear SECTION_NOTYPE for the ".far" section. · c3a7a7b8
      Jeff Law authored
      	* config/c6x/c6x.c (c6x_section_type): Clear SECTION_NOTYPE
      	for the ".far" section.
      
      From-SVN: r273447
      c3a7a7b8
    • Richard Biener's avatar
      re PR tree-optimization/91145 (ICE: in vect_build_slp_tree_2, at... · cf91b599
      Richard Biener authored
      re PR tree-optimization/91145 (ICE: in vect_build_slp_tree_2, at tree-vect-slp.c:1143 with -march=skylake-avx512 -O3)
      
      2019-07-12  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/91145
      	* tree-vect-slp.c (vect_build_slp_tree_2): Fix reduction
      	chain check.
      
      	* gcc.dg/torture/pr91145.c: New testcase.
      
      From-SVN: r273445
      cf91b599
    • Alexandre Oliva's avatar
      allow EH to escape from GIMPLE_EH_ELSE ELSE block · b847405a
      Alexandre Oliva authored
      The only preexisting use of GIMPLE_EH_ELSE, for transactional memory
      commits, did not allow exceptions to escape from the ELSE path.  The
      trick it uses to allow the ELSE path to see the propagating exception
      does not work very well if the exception cleanup raises further
      exceptions: the ELSE block is configured to handle exceptions in
      itself.  This confuses the heck out of CFG and EH cleanups.
      
      Basing the lowering context for the ELSE block on outer_state, rather
      than this_state, gets us the expected enclosing handler.
      
      
      for  gcc/ChangeLog
      
      	* tree-eh.c (honor_protect_cleanup_actions): Use outer_
      	rather than this_state as the lowering context for the ELSE
      	seq in a GIMPLE_EH_ELSE.
      
      for  gcc/testsuite/ChangeLog
      
      	* gcc.dg/gimplefe-44.c: New.
      
      From-SVN: r273444
      b847405a
    • Alexandre Oliva's avatar
      introduce try/finally/else in gimplefe · fdc1f343
      Alexandre Oliva authored
      for  gcc/c/ChangeLog
      
      	* gimple-parser.c (c_parser_gimple_try_stmt): New.
      	(c_parser_compound_statement): Call it.
      
      for  gcc/testsuite/ChangeLog
      
      	* gcc.dg/gimplefe-43.c: New.
      
      From-SVN: r273443
      fdc1f343
    • Jonathan Wakely's avatar
      Define __type_identity_t alias and use for string_view · 0d67cd38
      Jonathan Wakely authored
      This defines the equivalent of C++2a's std::type_identity_t alias but
      for use in C++11 and later. This can be used to replace __detail::__idt
      in the string_view headers, which previously used common_type_t because
      the one argument specialization of common_type_t was simply the identity
      transform (which is no longer true).
      
      	* include/experimental/string_view (__detail::__idt): Remove.
      	(operator==, operator!=, operator<, operator>, operator<=, operator>=):
      	Use __type_identity_t instead of __detail::__idt;
      	* include/std/string_view (__detail::__idt): Remove.
      	(operator==, operator!=, operator<, operator>, operator<=, operator>=):
      	Use __type_identity_t instead of __detail::__idt;
      	* include/std/type_traits (__type_identity_t): New alias template.
      
      From-SVN: r273442
      0d67cd38
    • Jonathan Wakely's avatar
      Update C++2a library status table · 804e2d06
      Jonathan Wakely authored
      	* doc/xml/manual/status_cxx2020.xml: Update status for atomic_ref
      	and floating point atomics.
      
      From-SVN: r273441
      804e2d06
    • Richard Sandiford's avatar
      Relax vector_builder::elt sanity check · 72ab1c51
      Richard Sandiford authored
      I'd made it a precondition of vector_builder::elt that the encoding
      must have been fully populated and that all implicit elements are
      therefore defined.  But for one of the AArch64 patches I'm working on,
      it'd be convenient to be able to look back at previous elements while
      building up the encoding.  This patch therefore makes the assert
      specific to implicit elements only.
      
      2019-07-12  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* vector-builder.h (vector_builder::elt): Allow already-supplied
      	elements to be read back before building is complete.
      
      From-SVN: r273440
      72ab1c51
    • Eric Botcazou's avatar
      re PR rtl-optimization/91136 (incorrect move of instruction to delay slot... · 49dbd6a0
      Eric Botcazou authored
      re PR rtl-optimization/91136 (incorrect move of instruction to delay slot causes application crash in exception handling)
      
      	PR rtl-optimization/91136
      	* df-core.c (ACCESSING REFS): Fix typos in comment.
      	* resource.c (mark_target_live_reg): Add artificial defs that occur at
      	the beginning of the block to the initial set of live registers.
      
      From-SVN: r273436
      49dbd6a0
    • Richard Biener's avatar
      fold-const.h (get_array_ctor_element_at_index): Adjust. · 831e688a
      Richard Biener authored
      2019-07-12  Richard Biener  <rguenther@suse.de>
      
      	* fold-const.h (get_array_ctor_element_at_index): Adjust.
      	* fold-const.c (get_array_ctor_element_at_index): Add
      	ctor_idx output parameter informing the caller where in
      	the constructor the element was (not) found.  Add early exit
      	for when the ctor is sorted.
      	* gimple-fold.c (fold_array_ctor_reference): Support constant
      	folding across multiple array elements.
      
      	* gcc.dg/tree-ssa/vector-7.c: New testcase.
      
      From-SVN: r273435
      831e688a
    • Eric Botcazou's avatar
      cfgexpand.c (expand_gimple_stmt_1): If the statement doesn't have location... · e067f992
      Eric Botcazou authored
      	* cfgexpand.c (expand_gimple_stmt_1) <GIMPLE_RETURN>: If the statement
      	doesn't have location, set the current location to the function's end
      
      From-SVN: r273434
      e067f992
    • Richard Sandiford's avatar
      [arch64] Fix ambiguous .md attribute uses · e7ba492a
      Richard Sandiford authored
      This patch is part of a series that fixes ambiguous attribute
      uses in .md files, i.e. cases in which attributes didn't use
      <ITER:ATTR> to specify an iterator, and in which <ATTR> could
      have different values depending on the iterator chosen.
      
      No behavioural change except for dropping the unused SVE
      divide permutations.
      
      2019-07-12  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* config/aarch64/aarch64.md (*compare_condjump<mode>)
      	(loadwb_pair<GPI:mode>_<P:mode>, loadwb_pair<GPF:mode>_<P:mode>)
      	(storewb_pair<GPI:mode>_<P:mode>, storewb_pair<GPF:mode>_<P:mode>)
      	(*ands<mode>_compare0): Fix ambiguous uses of .md attributes.
      	* config/aarch64/aarch64-simd.md
      	(*aarch64_get_lane_extend<GPI:mode><VDQQH:mode>): Likewise.
      	(*aarch64_get_lane_zero_extend<GPI:mode><VDQQH:mode>): Likewise.
      	* config/aarch64/aarch64-sve.md
      	(while_ult<GPI:mode><PRED_ALL:mode>): Likewise.
      	(*cond_<optab><mode>_any): Fix SVE_I/SVE_SDI typo.
      
      From-SVN: r273433
      e7ba492a
    • Richard Sandiford's avatar
      Support multiple operand counts for .md @ patterns · d281492d
      Richard Sandiford authored
      This patch extends the support for "@..." pattern names so that
      the patterns can have different numbers of operands.  This allows
      things like binary and ternary operations to be handled in a
      consistent way, a bit like optabs.  The generators assert that
      the number of operands passed is correct for the underlying
      instruction.
      
      Also, replace_operands_with_dups iterated over the old rtx format
      even after having decided to do a replacement, which broke with
      match_operator.
      
      2019-07-12  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* doc/md.texi: Document that @ patterns can have different
      	numbers of operands.
      	* genemit.c (handle_overloaded_gen): Handle this case.
      	* genopinit.c (handle_overloaded_gen): Likewise.
      	* gensupport.c (replace_operands_with_dups): Iterate over
      	the new rtx's format rather than the old one's.
      
      From-SVN: r273432
      d281492d
    • Jakub Jelinek's avatar
      tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_ORDER. · 1fdd6f04
      Jakub Jelinek authored
      	* tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_ORDER.
      	* tree.c (omp_clause_num_ops, omp_clause_code_name): Add
      	order clause entries.
      	(walk_tree_1): Handle OMP_CLAUSE_ORDER.
      	* tree-pretty-print.c (dump_omp_clause): Likewise.
      	* gimplify.c (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses):
      	Likewise.
      	* omp-low.c (scan_sharing_clauses): Likewise.
      	* tree-nested.c (convert_nonlocal_omp_clauses,
      	convert_local_omp_clauses): Likewise.
      c-family/
      	* c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ORDER.
      	* c-omp.c (c_omp_split_clauses): Handle splitting of OMP_CLAUSE_ORDER.
      c/
      	* c-parser.c (c_parser_omp_clause_name): Handle order clause.
      	(c_parser_omp_clause_order): New function.
      	(c_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_ORDER.
      	(OMP_SIMD_CLAUSE_MASK, OMP_FOR_CLAUSE_MASK): Add
      	PRAGMA_OMP_CLAUSE_ORDER.
      	* c-typeck.c (c_finish_omp_clauses): Handle OMP_CLAUSE_ORDER.
      cp/
      	* parser.c (cp_parser_omp_clause_name): Handle order clause.
      	(cp_parser_omp_clause_order): New function.
      	(cp_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_ORDER.
      	(OMP_SIMD_CLAUSE_MASK, OMP_FOR_CLAUSE_MASK): Add
      	PRAGMA_OMP_CLAUSE_ORDER.
      	* semantics.c (finish_omp_clauses): Handle OMP_CLAUSE_ORDER.
      	* pt.c (tsubst_omp_clauses): Likewise.
      testsuite/
      	* c-c++-common/gomp/order-1.c: New test.
      	* c-c++-common/gomp/order-2.c: New test.
      
      From-SVN: r273431
      1fdd6f04
    • Kewen Lin's avatar
      Add hint if the fallthrough target of current BB isn't the one · 33627377
      Kewen Lin authored
      placed closely next.
      
      2019-07-12  Kewen Lin  <linkw@gcc.gnu.org>
      
          * gcc/cfgrtl.c (print_rtl_with_bb): Emit a hint if the
          fallthrough target of current basic block isn't the placed
          right next.
      
      From-SVN: r273430
      33627377
    • GCC Administrator's avatar
      Daily bump. · e63f8349
      GCC Administrator authored
      From-SVN: r273429
      e63f8349
  3. Jul 11, 2019
    • Ian Lance Taylor's avatar
      compiler: ensure evaluation order in type hash/eq functions · a8b9ee6f
      Ian Lance Taylor authored
          
          The type hash and equality functions are generated after the
          order_evaluations pass. They may contain shortcut operators and
          Set_and_use_temporary_expressions (e.g. from lowering a
          Binary_exprssion) that need to be ordered. Run order_evaluations
          and remove_shortcuts on these functions. (The hash functions
          may be fine, but to be on the safe side we run on them anyway.
          We do need to run on the equality functions.)
          
          A Set_and_use_temporary_expression is effectively an assignment,
          so it needs to be ordered. Otherwise if we insert a temporary
          statement before it, we may get wrong evaluation order.
          
          A test case is CL 185818.
          
          Fixes golang/go#33062.
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/185817
      
      From-SVN: r273425
      a8b9ee6f
    • Uros Bizjak's avatar
      ChangeLog: Fix whitespace. · bee60edc
      Uros Bizjak authored
      	* ChangeLog: Fix whitespace.
      	* testsuite/ChangeLog: Ditto.
      
      From-SVN: r273424
      bee60edc
    • Jonathan Wakely's avatar
      Improve docs for --enable-libstdcxx-time=rt · f6822be7
      Jonathan Wakely authored
      	* doc/xml/manual/configure.xml: Improve documentation of
      	--enable-libstdcxx-time option.
      
      From-SVN: r273421
      f6822be7
    • Jonathan Wakely's avatar
      Define std::atomic_ref and std::atomic<floating-point> for C++20 · a90fe12c
      Jonathan Wakely authored
      This adds the new atomic types from C++2a, as proposed by P0019 and
      P0020. To reduce duplication the calls to the compiler's atomic
      built-ins are wrapped in new functions in the __atomic_impl namespace.
      These functions are currently only used by std::atomic<floating-point>
      and std::atomic_ref but could also be used for all other specializations
      of std::atomic.
      
      	* include/bits/atomic_base.h (__atomic_impl): New namespace for
      	wrappers around atomic built-ins.
      	(__atomic_float, __atomic_ref): New class templates for use as base
      	classes.
      	* include/std/atomic (atomic<float>, atomic<double>)
      	(atomic<long double>): New explicit specializations.
      	(atomic_ref): New class template.
      	(__cpp_lib_atomic_ref): Define.
      	* include/std/version (__cpp_lib_atomic_ref): Define.
      	* testsuite/29_atomics/atomic/60695.cc: Adjust dg-error.
          	* testsuite/29_atomics/atomic_float/1.cc: New test.
          	* testsuite/29_atomics/atomic_float/requirements.cc: New test.
          	* testsuite/29_atomics/atomic_ref/deduction.cc: New test.
          	* testsuite/29_atomics/atomic_ref/float.cc: New test.
          	* testsuite/29_atomics/atomic_ref/generic.cc: New test.
          	* testsuite/29_atomics/atomic_ref/integral.cc: New test.
          	* testsuite/29_atomics/atomic_ref/pointer.cc: New test.
          	* testsuite/29_atomics/atomic_ref/requirements.cc: New test.
      
      From-SVN: r273420
      a90fe12c
    • Sunil K Pandey's avatar
      i386: Add AVX512 unaligned intrinsics · 4c98bdad
      Sunil K Pandey authored
      __m512i _mm512_loadu_epi64( void * sa);
      void _mm512_storeu_epi64(void * d, __m512i a);
      __m512i _mm512_loadu_epi32( void * sa);
      void _mm512_storeu_epi32(void * d, __m512i a);
      void _mm256_storeu_epi64(void * d, __m256i a);
      void _mm_storeu_epi64(void * d, __m128i a);
      void _mm256_storeu_epi32(void * d, __m256i a);
      void _mm_storeu_epi32(void * d, __m128i a);
      
      Tested on x86-64.
      
      2019-07-11  Sunil K Pandey  <sunil.k.pandey@intel.com>
      
      gcc/
      
      	PR target/90980
      	* config/i386/avx512fintrin.h (_mm512_loadu_epi64): New.
      	(_mm512_storeu_epi64): Likewise.
      	(_mm512_loadu_epi32): Likewise.
      	(_mm512_storeu_epi32): Likewise.
      	* config/i386/avx512vlintrin.h (_mm256_storeu_epi64): New.
      	(_mm_storeu_epi64): Likewise.
      	(_mm256_storeu_epi32): Likewise.
      	(_mm_storeu_epi32): Likewise.
      
      gcc/testsuite/
      
      	PR target/90980
      	* gcc.target/i386/pr90980-1.c: New test.
      	* gcc.target/i386/pr90980-2.c: Likewise.
      	* gcc.target/i386/pr90980-3.c: Likewise.
      
      From-SVN: r273416
      4c98bdad
    • Segher Boessenkool's avatar
      rs6000: Adjust comment for the Modula-2 traceback lang · 998175f6
      Segher Boessenkool authored
      	* config/rs6000/rs6000-logue.c: Add Modula-2 to comment.
      
      From-SVN: r273413
      998175f6
    • Segher Boessenkool's avatar
      rs6000: Handle Modula-2 in the traceback table · e617512f
      Segher Boessenkool authored
      This patch recognises Modula-2 as language for the traceback table,
      fixing the problem shown in
      https://gcc.gnu.org/ml/gcc-patches/2019-07/msg00848.html .
      
      
      	* config/rs6000/rs6000-logue.c (rs6000_output_function_epilogue):
      	Handle Modula-2.
      
      From-SVN: r273411
      e617512f
    • Jakub Jelinek's avatar
      re PR target/91124 (gcc.target/i386/avx512vl-vpshldvd-2.c etc. FAIL) · 946732df
      Jakub Jelinek authored
      	PR target/91124
      	* config/i386/sse.md (sse2_cvtpd2dq<mask_name>): Change into ...
      	(sse2_cvtpd2dq): ... this.  Remove mask substitution macros.
      	(sse2_cvtpd2dq_mask, sse2_cvtpd2dq_mask_1): New define_insns.
      	(ufix_notruncv2dfv2si2<mask_name>): Change into ...
      	(ufix_notruncv2dfv2si2): ... this.  Remove mask substitution macros.
      	(ufix_notruncv2dfv2si2_mask, ufix_notruncv2dfv2si2_mask_1): New
      	define_insns.
      	(ufix_truncv2dfv2si2<mask_name>): Change into ...
      	(ufix_truncv2dfv2si2): ... this.  Remove mask substitution macros.
      	(ufix_truncv2dfv2si2_mask, ufix_truncv2dfv2si2_mask_1): New
      	define_insns.
      	(sse2_cvttpd2dq<mask_name>): Change into ...
      	(sse2_cvttpd2dq): ... this.  Remove mask substitution macros.
      	(sse2_cvttpd2dq_mask, sse2_cvttpd2dq_mask_1): New define_insns.
      	(*sse2_cvtpd2dq<mask_name>): Change into ...
      	(*sse2_cvtpd2dq): ... this.  Remove mask substitution macros.
      	Add "C" constraint to const0_operand.
      	(*sse2_cvtpd2dq_mask, *sse2_cvtpd2dq_mask_1): New define_insns.
      	(sse2_cvtpd2ps_mask): Adjust expand to match *sse2_cvtpd2ps_mask
      	changes.
      
      From-SVN: r273409
      946732df
    • Jakub Jelinek's avatar
      re PR target/91124 (gcc.target/i386/avx512vl-vpshldvd-2.c etc. FAIL) · 491b0b40
      Jakub Jelinek authored
      	PR target/91124
      	* config/i386/i386-builtin-types.def
      	(V32HI_FTYPE_V32HI_V32HI_V32HI_INT,
      	V16HI_FTYPE_V16HI_V16HI_V16HI_INT, V8HI_FTYPE_V8HI_V8HI_V8HI_INT,
      	V8SI_FTYPE_V8SI_V8SI_V8SI_INT, V4DI_FTYPE_V4DI_V4DI_V4DI_INT,
      	V8DI_FTYPE_V8DI_V8DI_V8DI_INT, V16SI_FTYPE_V16SI_V16SI_V16SI_INT,
      	V2DI_FTYPE_V2DI_V2DI_V2DI_INT, V4SI_FTYPE_V4SI_V4SI_V4SI_INT): Remove.
      	* config/i386/i386-builtin.def (__builtin_ia32_vpshrdv_v32hi_mask,
      	__builtin_ia32_vpshrdv_v32hi_maskz, __builtin_ia32_vpshrdv_v16hi_mask,
      	__builtin_ia32_vpshrdv_v16hi_maskz, __builtin_ia32_vpshrdv_v8hi_mask,
      	__builtin_ia32_vpshrdv_v8hi_maskz, __builtin_ia32_vpshrdv_v16si_mask,
      	__builtin_ia32_vpshrdv_v16si_maskz, __builtin_ia32_vpshrdv_v8si_mask,
      	__builtin_ia32_vpshrdv_v8si_maskz, __builtin_ia32_vpshrdv_v4si_mask,
      	__builtin_ia32_vpshrdv_v4si_maskz, __builtin_ia32_vpshrdv_v8di_mask,
      	__builtin_ia32_vpshrdv_v8di_maskz, __builtin_ia32_vpshrdv_v4di_mask,
      	__builtin_ia32_vpshrdv_v4di_maskz, __builtin_ia32_vpshrdv_v2di_mask,
      	__builtin_ia32_vpshrdv_v2di_maskz, __builtin_ia32_vpshldv_v32hi_mask,
      	__builtin_ia32_vpshldv_v32hi_maskz, __builtin_ia32_vpshldv_v16hi_mask,
      	__builtin_ia32_vpshldv_v16hi_maskz, __builtin_ia32_vpshldv_v8hi_mask,
      	__builtin_ia32_vpshldv_v8hi_maskz, __builtin_ia32_vpshldv_v16si_mask,
      	__builtin_ia32_vpshldv_v16si_maskz, __builtin_ia32_vpshldv_v8si_mask,
      	__builtin_ia32_vpshldv_v8si_maskz, __builtin_ia32_vpshldv_v4si_mask,
      	__builtin_ia32_vpshldv_v4si_maskz, __builtin_ia32_vpshldv_v8di_mask,
      	__builtin_ia32_vpshldv_v8di_maskz, __builtin_ia32_vpshldv_v4di_mask,
      	__builtin_ia32_vpshldv_v4di_maskz, __builtin_ia32_vpshldv_v2di_mask,
      	__builtin_ia32_vpshldv_v2di_maskz, __builtin_ia32_vpdpbusd_v16si_mask,
      	__builtin_ia32_vpdpbusd_v16si_maskz, __builtin_ia32_vpdpbusd_v8si_mask,
      	__builtin_ia32_vpdpbusd_v8si_maskz, __builtin_ia32_vpdpbusd_v4si_mask,
      	__builtin_ia32_vpdpbusd_v4si_maskz,
      	__builtin_ia32_vpdpbusds_v16si_mask,
      	__builtin_ia32_vpdpbusds_v16si_maskz,
      	__builtin_ia32_vpdpbusds_v8si_mask,
      	__builtin_ia32_vpdpbusds_v8si_maskz,
      	__builtin_ia32_vpdpbusds_v4si_mask,
      	__builtin_ia32_vpdpbusds_v4si_maskz,
      	__builtin_ia32_vpdpwssd_v16si_mask,
      	__builtin_ia32_vpdpwssd_v16si_maskz, __builtin_ia32_vpdpwssd_v8si_mask,
      	__builtin_ia32_vpdpwssd_v8si_maskz, __builtin_ia32_vpdpwssd_v4si_mask,
      	__builtin_ia32_vpdpwssd_v4si_maskz,
      	__builtin_ia32_vpdpwssds_v16si_mask,
      	__builtin_ia32_vpdpwssds_v16si_maskz,
      	__builtin_ia32_vpdpwssds_v8si_mask,
      	__builtin_ia32_vpdpwssds_v8si_maskz,
      	__builtin_ia32_vpdpwssds_v4si_mask,
      	__builtin_ia32_vpdpwssds_v4si_maskz): Use *_USI, *_UHI or *_UQI
      	suffixed types rather than *_INT.
      	* config/i386/i386-expand.c (ix86_expand_args_builtin): Don't handle
      	V32HI_FTYPE_V32HI_V32HI_V32HI_INT, V16HI_FTYPE_V16HI_V16HI_V16HI_INT,
      	V8HI_FTYPE_V8HI_V8HI_V8HI_INT, V8SI_FTYPE_V8SI_V8SI_V8SI_INT,
      	V4DI_FTYPE_V4DI_V4DI_V4DI_INT, V8DI_FTYPE_V8DI_V8DI_V8DI_INT,
      	V16SI_FTYPE_V16SI_V16SI_V16SI_INT, V2DI_FTYPE_V2DI_V2DI_V2DI_INT
      	and V4SI_FTYPE_V4SI_V4SI_V4SI_INT.
      
      From-SVN: r273408
      491b0b40
    • Piotr Trojanek's avatar
      [Ada] Use high-level wrappers for Lib.Units.Table · 674dbc20
      Piotr Trojanek authored
      2019-07-11  Piotr Trojanek  <trojanek@adacore.com>
      
      gcc/ada/
      
      	* lib-writ.adb (Ensure_System_Dependency,
      	Up_To_Date_ALI_File_Exists, Write_ALI): Replace low-level access
      	to table with a high-level query.
      
      From-SVN: r273407
      674dbc20
    • Piotr Trojanek's avatar
      [Ada] Minor refactoring · 929d5203
      Piotr Trojanek authored
      2019-07-11  Piotr Trojanek  <trojanek@adacore.com>
      
      gcc/ada/
      
      	* checks.adb: Fix typo in comment.
      	* sem.adb (Semantics): Avoid repeated calls to
      	In_Extended_Main_Source_Unit by reusing an already-cached
      	result.
      	* sem_util.adb (First_Global): Fix style.
      
      From-SVN: r273406
      929d5203
    • Yannick Moy's avatar
      [Ada] Avoid spurious errors on dimensionality checking in GNATprove · 8b727104
      Yannick Moy authored
      In the special GNATprove mode of the frontend, automatic inlining is
      performed, which may lead to spurious errors on dimensionality checking.
      Avoid performing this checking on inlined code, which has already been
      checked for dimensionality errors.
      
      There is no impact on compilation.
      
      2019-07-11  Yannick Moy  <moy@adacore.com>
      
      gcc/ada/
      
      	* sem_res.adb (Resolve_Call): Do not perform dimensionality
      	checking on inlined bodies.
      
      From-SVN: r273405
      8b727104
    • Yannick Moy's avatar
      [Ada] Flip the meaning of debug switch -gnatdF · d99ef225
      Yannick Moy authored
      2019-07-11  Yannick Moy  <moy@adacore.com>
      
      gcc/ada/
      
      	* debug.adb: Flip meaning of debug switch -gnatdF.
      
      From-SVN: r273404
      d99ef225
    • Yannick Moy's avatar
      [Ada] Avoid spurious warning on assertions with Loop_Entry · 708fb956
      Yannick Moy authored
      When the Loop_Entry attribute is used inside a loop invariant or another
      assertion where it is allowed, it may lead to spurious warnings on
      conditions that are detected to be always valid. Now fixed.
      
      2019-07-11  Yannick Moy  <moy@adacore.com>
      
      gcc/ada/
      
      	* sem_eval.adb (Is_Same_Value): Add special case for rewritten
      	Loop_Entry attribute.
      
      gcc/testsuite/
      
      	* gnat.dg/loop_entry1.adb: New testcase.
      
      From-SVN: r273403
      708fb956
    • Claire Dross's avatar
      [Ada] Refactor ownership pointer checking in SPARK as a generic · a8fa1b3d
      Claire Dross authored
      Ownership checking as done in SPARK should be applied only to SPARK
      code, which requires GNATprove knowledge of the SPARK_Mode boundary.
      Transform the checking unit into a generic to allow passing in the
      knowledge from GNATprove to that unit in GNAT sources.
      
      Keeping the code in GNAT sources makes it possible in the future to
      adapt it further (or simply instantiate it differently) to be used on
      Ada code, independently of GNATprove.
      
      There is no impact on compilation.
      
      2019-07-11  Claire Dross  <dross@adacore.com>
      
      gcc/ada/
      
      	* gnat1drv.adb: SPARK checking rules for pointer aliasing are
      	moved to GNATprove backend.
      	* sem_spark.ads, sem_spark.adb (Sem_SPARK): Is now a generic
      	unit. Takes as parameters:
      	 - Retysp which is used to query the most underlying type
      	   visible in SPARK. We do not introduce aliasing checks for
      	   types which are not visibly deep.
      	 - Component_Is_Visible_In_SPARK is used to avoid doing pointer
      	   aliasing checks on components which are not visible in SPARK.
      	 - Emit_Messages returns True in the second phase of SPARK
      	   analysis. Error messages for failed aliasing checks are only
      	   output in this case.
      	Additionally, errors on constructs not supported in SPARK are
      	removed as duplicates of marking errors. Components are stored
      	in the permission map using their original component to avoid
      	inconsistencies between components of different views of the
      	same type.
      	(Check_Expression): Handle delta constraints.
      	(Is_Deep): Exported so that we can check for SPARK restrictions
      	on deep types inside SPARK semantic checkings.
      	(Is_Traversal_Function): Exported so that we can check for SPARK
      	restrictions on traversal functions inside SPARK semantic
      	checkings.
      	(Check_Call_Statement, Read_Indexes): Check wether we are
      	dealing with a subprogram pointer type before querying called
      	entity.
      	(Is_Subpath_Expression): Image attribute can appear inside a
      	path.
      	(Check_Loop_Statement): Correct order of statements in the loop.
      	(Check_Node): Ignore raise nodes.
      	(Check_Statement): Use Last_Non_Pragma to get the object
      	declaration in an extended return statement.
      
      From-SVN: r273402
      a8fa1b3d
    • Patrick Bernardi's avatar
      [Ada] Minimal binder · be04e8ed
      Patrick Bernardi authored
      The new minimal binder option ("-minimal") suppresses the generation of
      binder objects that are not strictly required for program operation.
      This option is suitable for space constrained applications and comes
      with the restriction that programs can no longer be debugged using GDB.
      
      2019-07-11  Patrick Bernardi  <bernardi@adacore.com>
      
      gcc/ada/
      
      	* bindgen.adb (Gen_Main): Do not generate a reference to
      	Ada_Main_Program_Name when the Minimal_Binder flag is set.
      	(Gen_Output_File_Ada): Do not output GNAT_Version and
      	Ada_Main_Program_Name info if Minimal_Binder flag is set.
      	* bindusg.adb: Add documentation for new -minimal switch.
      	* gnatbind.adb (Scan_Bind_Arg): Scan -minimal switch.
      	* opt.ads: Add new global flag Minimal_Binder to indicate if the
      	binder should not produce global variables.
      	* doc/gnat_ugn/building_executable_programs_with_gnat.rst:
      	Update documentation with new binder -minimal switch.
      	* gnat_ugn.texi: Regenerate.
      
      From-SVN: r273401
      be04e8ed
    • Eric Botcazou's avatar
      [Ada] Makefile.rtl: add a warning about compilation flags · 49d7a324
      Eric Botcazou authored
      2019-07-11  Eric Botcazou  <ebotcazou@adacore.com>
      
      gcc/ada/
      
      	* Makefile.rtl: Add warning note about compilation flags and
      	capitalize.
      
      From-SVN: r273400
      49d7a324
Loading