1. 10 Jan, 2018 19 commits
    • cmd/go: check for another GCC error message · d0ac0d52
          
          GCC always recognizes the -fsplit-stack option, but then tests whether
          it is supported by the selected target. If not, it reports
              cc1: error: ‘-fsplit-stack’ is not supported by this compiler configuration
          Check for that error message when deciding whether a compiler option works.
          
          Reviewed-on: https://go-review.googlesource.com/87137
      
      From-SVN: r256433
      Ian Lance Taylor committed
    • rs6000: Wrap diff of immediates in const (PR83629) · 8c6e19c1
      In various of our 32-bit load_toc patterns we take the difference of
      two immediates (labels) as a term to something bigger; but this isn't
      canonical RTL, it needs to be wrapped in CONST.
      
      
      	PR target/83629
      	* config/rs6000/rs6000.md (load_toc_v4_PIC_2, load_toc_v4_PIC_3b,
      	load_toc_v4_PIC_3c): Wrap const term in CONST RTL.
      
      testsuite/
      	PR target/83629
      	* gcc.target/powerpc/pr83629.c: New testcase.
      
      From-SVN: r256432
      Segher Boessenkool committed
    • runtime: fix makemap calls in __go_construct_map · c9edeca8
          
          The signature of makemap changed with the update to 1.10beta1,
          but I forgot to update the call from C code.
          
          Reviewed-on: https://go-review.googlesource.com/87135
      
      From-SVN: r256431
      Ian Lance Taylor committed
    • re PR c/78768 (-Walloca-larger-than and -Wformat-length warnings disabled by -flto) · 7b975de0
      2018-01-10  Richard Biener  <rguenther@suse.de>
      
      	PR testsuite/78768
      	* gcc.dg/pr78768.c: Un-XFAIL.
      
      From-SVN: r256430
      Richard Biener committed
    • re PR debug/82425 (gcc.dg/guality/inline-params-2.c fail) · e02a5f63
      2018-01-10  Richard Biener  <rguenther@suse.de>
      
      	PR debug/82425
      	* gcc.dg/guality/inline-params-2.c: Un-XFAIL for slim LTO.
      
      From-SVN: r256429
      Richard Biener committed
    • re PR debug/83765 (LTO bootstrap with Ada fails) · 31a3f58f
      2018-01-10  Richard Biener  <rguenther@suse.de>
      
      	PR debug/83765
      	* dwarf2out.c (gen_subprogram_die): Hoist old_die && declaration
      	early out so it also covers the case where we have a non-NULL
      	origin.
      
      From-SVN: r256428
      Richard Biener committed
    • Don't use permutes for single-element accesses (PR83753) · 6737facb
      After cunrolling the inner loop, the remaining loop in the testcase
      has a single 32-bit access and a group of 64-bit accesses.  We first
      try to vectorise at 128 bits (VF 4), but decide not to for cost reasons.
      We then try with 64 bits (VF 2) instead.  This means that the group
      of 64-bit accesses uses a single-element vector, which is deliberately
      supported as of r251538.  We then try to create "permutes" for these
      single-element vectors and fall foul of:
      
      	      for (i = 0; i < 6; i++)
      		sel[i] += exact_div (nelt, 2);
      
      in vect_grouped_store_supported, since nelt==1.
      
      Maybe we shouldn't even be trying to vectorise statements in the
      single-element case, and instead just copy the scalar statement
      for each member of the group.  But until then, this patch treats
      non-strided grouped accesses as VMAT_CONTIGUOUS if no permutation
      is necessary.
      
      2018-01-10  Richard Sandiford  <richard.sandiford@linaro.org>
      
      gcc/
      	PR tree-optimization/83753
      	* tree-vect-stmts.c (get_group_load_store_type): Use VMAT_CONTIGUOUS
      	for non-strided grouped accesses if the number of elements is 1.
      
      gcc/testsuite/
      	PR tree-optimization/83753
      	* gcc.dg/torture/pr83753.c: New test.
      
      From-SVN: r256427
      Richard Sandiford committed
    • PR 83740 Wrong string length type in bounds check · e10e60cb
      This patch fixes up the formatting and corrects the PR number in the
      ChangeLog for r256425.
      
      gcc/fortran/ChangeLog:
      
      2018-01-10  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR fortran/83740
      	* trans-array.c (gfc_trans_array_ctor_element): Fix formatting.
      
      From-SVN: r256426
      Janne Blomqvist committed
    • PR 84740 Wrong string length type in bounds check · 85c2c761
      Need to convert the RHS to the type of the LHS when assigning.
      
      Regtested on x86_64-pc-linux-gnu, committed as obvious.
      
      gcc/fortran/ChangeLog:
      
      2018-01-10  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR fortran/84740
      	* trans-array.c (gfc_trans_array_ctor_element): Convert RHS to the
      	LHS type when assigning.
      
      From-SVN: r256425
      Janne Blomqvist committed
    • re PR target/81616 (Update -mtune=generic for the current Intel and AMD processors) · f6aa5171
      	PR target/81616
      	* i386.c (ix86_vectorize_builtin_gather): Check TARGET_USE_GATHER.
      	* i386.h (TARGET_USE_GATHER): Define.
      	* x86-tune.def (X86_TUNE_USE_GATHER): New.
      
      From-SVN: r256424
      Jan Hubicka committed
    • avx2-gather-1.c: Add -march. · 1fe399e4
      
      	* gcc.target/i386/avx2-gather-1.c: Add -march.
      	* gcc.target/i386/avx2-gather-2.c: Add -march.
      	* gcc.target/i386/avx2-gather-3.c: Add -march.
      	* gcc.target/i386/avx2-gather-4.c: Add -march.
      	* gcc.target/i386/avx2-gather-5.c: Add -march.
      	* gcc.target/i386/avx2-gather-6.c: Add -march.
      	* gcc.target/i386/avx512f-gather-1.c: Add -march.
      	* gcc.target/i386/avx512f-gather-2.c: Add -march.
      	* gcc.target/i386/avx512f-gather-3.c: Add -march.
      	* gcc.target/i386/avx512f-gather-4.c: Add -march.
      	* gcc.target/i386/avx512f-gather-5.c: Add -march.
      	* gcc.target/i386/avx512f-i32gatherd512-1.c: Add -march.
      	* gcc.target/i386/avx512f-i32gatherd512-2.c: Add -march.
      	* gcc.target/i386/avx512f-i32gatherpd512-1.c: Add -march.
      	* gcc.target/i386/avx512f-i32gatherpd512-2.c: Add -march.
      	* gcc.target/i386/avx512f-i32gatherps512-1.c: Add -march.
      
      From-SVN: r256423
      Jan Hubicka committed
    • Clean up partitioning in try_optimize_cfg (PR bootstrap/82831). · 3ff0dc17
      2018-01-10  Martin Liska  <mliska@suse.cz>
      
      	PR bootstrap/82831
      	* basic-block.h (CLEANUP_NO_PARTITIONING): New define.
      	* bb-reorder.c (pass_reorder_blocks::execute): Do not clean up
      	partitioning.
      	* cfgcleanup.c (try_optimize_cfg): Fix up partitioning if
      	CLEANUP_NO_PARTITIONING is not set.
      
      From-SVN: r256422
      Martin Liska committed
    • Mostly revert r254296 · 2072a319
      r254296 added support for (const ...) wrappers around vectors,
      but in the end the agreement was to use a variable-length
      encoding of CONST_VECTOR (and VECTOR_CST) instead.  This patch
      therefore reverts the bits that are no longer needed.
      
      The rtl.texi part isn't a full revert, since r254296 also updated the
      documentation to mention unspecs in address calculations, and to relax
      the requirement that the mode had to be Pmode.
      
      2018-01-10  Richard Sandiford  <richard.sandiford@linaro.org>
      
      gcc/
      	* doc/rtl.texi: Remove documentation of (const ...) wrappers
      	for vectors, as a partial revert of r254296.
      	* rtl.h (const_vec_p): Delete.
      	(const_vec_duplicate_p): Don't test for vector CONSTs.
      	(unwrap_const_vec_duplicate, const_vec_series_p): Likewise.
      	* expmed.c (make_tree): Likewise.
      
      	Revert:
      	* common.md (E, F): Use CONSTANT_P instead of checking for
      	CONST_VECTOR.
      	* emit-rtl.c (gen_lowpart_common): Use const_vec_p instead of
      	checking for CONST_VECTOR.
      
      From-SVN: r256421
      Richard Sandiford committed
    • re PR rtl-optimization/83575 (ICE: verify_flow_info failed (error: multiple… · d89f01a0
      re PR rtl-optimization/83575 (ICE: verify_flow_info failed (error: multiple hot/cold transitions found))
      
      
      	PR middle-end/83575
      	* predict.c (force_edge_cold): Handle in more sane way edges
      	with no prediction.
      
      From-SVN: r256420
      Jan Hubicka committed
    • runtime: work around escaping closure in export_test.go · 692aefcd
          
          When compiling runtime, it is not allowed for local variables
          and closures to be heap allocated. In one test, there is a go
          statement with a closure. In the gc compiler, it distinguishes
          capturing variable by value vs. by address, and rewrites it to
          passing the captured values as arguments. Currently we don't
          have this, and the escape analysis decides to heap allocate the
          closure and also the captured variables, which is not allowed.
          Work around it by passing the variables explicitly.
          
          This is in preparation of turning on escape analysis for the
          runtime.
          
          Reviewed-on: https://go-review.googlesource.com/86245
      
      From-SVN: r256419
      Ian Lance Taylor committed
    • runtime: noescape some functions/variables · e4876be5
          
          This is in preparation of turning on escape analysis for the
          runtime.
          
          - In gccgo, systemstack is implemented with mcall, which is not
            go:noescape. Wrap the closure in noescape so the escape analysis
            does not think it escapes.
          
          - Mark some C functions go:noescape. They do not leak arguments.
          
          - Use noescape function to make a few local variables' addresses
            not escape. The escape analysis cannot figure out because they
            are assigned to pointer indirections.
          
          Reviewed-on: https://go-review.googlesource.com/86244
      
      From-SVN: r256418
      Ian Lance Taylor committed
    • cmd/go: add AIX support · fe9e1702
          
          For gccgo code avoid --whole-archive and -(.  Use -blibpath instead of
          -rpath.
          
          Reviewed-on: https://go-review.googlesource.com/86956
      
      From-SVN: r256417
      Ian Lance Taylor committed
    • libgo: add aix build tags · 76e723a3
          
          Reviewed-on: https://go-review.googlesource.com/86936
      
      From-SVN: r256416
      Ian Lance Taylor committed
    • Daily bump. · 5862924d
      From-SVN: r256415
      GCC Administrator committed
  2. 09 Jan, 2018 21 commits