1. 19 Jan, 2018 27 commits
    • re PR debug/81570 (create_pseudo_cfg assumes that INCOMING_FRAME_SP_OFFSET is a constant) · 26fc730d
      	PR debug/81570
      	PR debug/83728
      	* dwarf2cfi.c (DEFAULT_INCOMING_FRAME_SP_OFFSET): Define to
      	INCOMING_FRAME_SP_OFFSET if not defined.
      	(scan_trace): Add ENTRY argument.  If true and
      	DEFAULT_INCOMING_FRAME_SP_OFFSET != INCOMING_FRAME_SP_OFFSET,
      	emit a note to adjust the CFA offset.
      	(create_cfi_notes): Adjust scan_trace callers.
      	(create_cie_data): Use DEFAULT_INCOMING_FRAME_SP_OFFSET rather than
      	INCOMING_FRAME_SP_OFFSET in the CIE.
      	* config/i386/i386.h (DEFAULT_INCOMING_FRAME_SP_OFFSET): Define.
      	* config/stormy16/stormy16.h (DEFAULT_INCOMING_FRAME_SP_OFFSET):
      	Likewise.
      	* doc/tm.texi.in (DEFAULT_INCOMING_FRAME_SP_OFFSET): Document.
      	* doc/tm.texi: Regenerated.
      
      From-SVN: r256904
      Jakub Jelinek committed
    • re PR c++/83919 (spurious -Wignored-qualifiers warning) · e6f97c3f
      	PR c++/83919
      	* typeck.c (convert_for_assignment): Suppress warn_ignored_qualifiers
      	for direct enum init.
      	* decl.c (reshape_init): Likewise.
      
      	* g++.dg/cpp0x/pr83919.C: New test.
      
      From-SVN: r256903
      Jakub Jelinek committed
    • re PR rtl-optimization/83147 (LRA inheritance undo on multiple sets problem) · ef61d1ab
      2018-01-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	PR rtl-optimization/83147
      	* lra-constraints.c (remove_inheritance_pseudos): Use
      	lra_substitute_pseudo_within_insn.
      
      From-SVN: r256902
      Andreas Krebbel committed
    • * constexpr.c (fold_simple): Simplify. · dba99244
      From-SVN: r256899
      Marek Polacek committed
    • stack-check-16.c: New test. · 2af64836
      	* gcc.dg/stack-check-16.c: New test.
      
      Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
      
      From-SVN: r256896
      Jeff Law committed
    • xcoff.c (xcoff_incl_compare): New function. · 47c699f5
      	* xcoff.c (xcoff_incl_compare): New function.
      	(xcoff_incl_search): New function.
      	(xcoff_process_linenos): Use bsearch to find include file.
      	(xcoff_initialize_fileline): Sort include file information.
      
      From-SVN: r256895
      Tony Reix committed
    • [nvptx] Fix bug in jit bug workaround · 8c8e9a6b
      2018-01-19  Tom de Vries  <tom@codesourcery.com>
      	    Cesar Philippidis  <cesar@codesourcery.com>
      
      	PR target/83920
      
      	* config/nvptx/nvptx.c (nvptx_single): Fix jit workaround.
      
      	* testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
      	* testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
      
      Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
      
      From-SVN: r256894
      Tom de Vries committed
    • [nvptx] Add support for CUDA 9 · 6c7c4708
      	PR target/83790
      
      	gcc/
      	* config/nvptx/nvptx.c (output_init_frag): Don't use generic address
      	spaces for function labels.
      
      	gcc/testsuite/
      	* gcc.target/nvptx/indirect_call.c: New test.
      
      From-SVN: r256891
      Cesar Philippidis committed
    • Fix missing g++.dg/torture/pr83619.C warning · b8d090db
      	* g++.dg/torture/pr83619.C: Remove dg-message.
      
      From-SVN: r256890
      Rainer Orth committed
    • Fix test-suite fallout. · 1a92f9f6
      2018-01-19  Martin Liska  <mliska@suse.cz>
      
      	* gcc.dg/predict-1.c: Adjust expected probability.
      	* gcc.dg/predict-3.c: Likewise.
      	* gcc.dg/predict-5.c: Likewise.
      	* gcc.dg/predict-6.c: Likewise.
      	* gcc.dg/predict-9.c: Likewise.
      
      From-SVN: r256889
      Martin Liska committed
    • Adjust predictor values according to SPEC2006 and SPEC2017. · 664d17c6
      2018-01-19  Martin Liska  <mliska@suse.cz>
      
      	* predict.def (PRED_LOOP_EXIT): Change from 85 to 89.
      	(PRED_LOOP_EXIT_WITH_RECURSION): Change from 72 to 78.
      	(PRED_LOOP_EXTRA_EXIT): Change from 83 to 67.
      	(PRED_OPCODE_POSITIVE): Change from 64 to 59.
      	(PRED_TREE_OPCODE_POSITIVE): Change from 64 to 59.
      	(PRED_CONST_RETURN): Change from 69 to 65.
      	(PRED_NULL_RETURN): Change from 91 to 71.
      	(PRED_LOOP_IV_COMPARE_GUESS): Change from 98 to 64.
      	(PRED_LOOP_GUARD): Change from 66 to 73.
      
      From-SVN: r256888
      Martin Liska committed
    • Introduce PROB_UNINITIALIZED constant and use it in predict.def. · e2a1e6a4
      2018-01-19  Martin Liska  <mliska@suse.cz>
      
      	* predict.c (predict_insn_def): Add new assert.
      	(struct branch_predictor): Change type to signed integer.
      	(test_prediction_value_range): Amend test to cover
      	PROB_UNINITIALIZED.
      	* predict.def (PRED_LOOP_ITERATIONS): Use the new constant.
      	(PRED_LOOP_ITERATIONS_GUESSED): Likewise.
      	(PRED_LOOP_ITERATIONS_MAX): Likewise.
      	(PRED_LOOP_IV_COMPARE): Likewise.
      	* predict.h (PROB_UNINITIALIZED): Define new constant.
      
      From-SVN: r256887
      Martin Liska committed
    • Fix usage of analyze_brprob.py script. · d1b9a572
      2018-01-19  Martin Liska  <mliska@suse.cz>
      
      	* analyze_brprob.py: Support new format that can be easily
      	parsed. Add new column to report.
      2018-01-19  Martin Liska  <mliska@suse.cz>
      
      	* predict.c (dump_prediction): Add new format for
      	analyze_brprob.py script which is enabled with -details
      	suboption.
      	* profile-count.h (precise_p): New function.
      
      From-SVN: r256886
      Martin Liska committed
    • Check whether any statements need masking (PR 83922) · 09a7858b
      This PR is an odd case in which, due to the low optimisation level,
      we enter vectorisation with:
      
        outer1:
          x_1 = PHI <x_3(outer2), ...>;
          ...
      
        inner:
          x_2 = 0;
          ...
      
        outer2:
          x_3 = PHI <x_2(inner)>;
      
      These statements are tentatively treated as a double reduction by
      vect_force_simple_reduction, but in the end only x_3 and x_2 are marked
      as relevant.  vect_analyze_loop_operations skips over x_3, leaving the
      vectorizable_reduction check to a presumed future test of x_1, which
      in this case never happens.  We therefore end up vectorising x_2 only
      (complete with peeling for niters!) and leave the scalar x_3 in place.
      
      This caused a segfault in the support for fully-masked loops,
      since there were no statements that needed masking.  Fixed by
      checking for that.
      
      But I think this is also a flaw in vect_analyze_loop_operations.
      Outer loop vectorisation reduces the number of times that the
      inner loop is executed, so it wouldn't necessarily be valid
      to leave the scalar x_3 in place for all vectorisable x_2.
      There's already code to forbid that when x_1 isn't present:
      
                    /* FORNOW: we currently don't support the case that these phis
                       are not used in the outerloop (unless it is double reduction,
                       i.e., this phi is vect_reduction_def), cause this case
                       requires to actually do something here.  */
      
      I think we need to do the same if x_1 is present but not relevant.
      
      2018-01-19  Richard Sandiford  <richard.sandiford@linaro.org>
      
      gcc/
      	PR tree-optimization/83922
      	* tree-vect-loop.c (vect_verify_full_masking): Return false if
      	there are no statements that need masking.
      	(vect_active_double_reduction_p): New function.
      	(vect_analyze_loop_operations): Use it when handling phis that
      	are not in the loop header.
      
      gcc/testsuite/
      	PR tree-optimization/83922
      	* gcc.dg/pr83922.c: New test.
      
      From-SVN: r256885
      Richard Sandiford committed
    • Avoid ICE for nested inductions (PR 83914) · 271134dd
      This testcase ICEd because we converted the initial value of an
      induction to the vector element type even for nested inductions.
      This isn't necessary because the initial expression is vectorised
      normally, and it meant that init_expr was no longer the original
      statement operand by the time we called vect_get_vec_def_for_operand.
      
      Also, adding the conversion code here made the existing SLP conversion
      redundant.
      
      2018-01-19  Richard Sandiford  <richard.sandiford@linaro.org>
      
      gcc/
      	PR tree-optimization/83914
      	* tree-vect-loop.c (vectorizable_induction): Don't convert
      	init_expr or apply the peeling adjustment for inductions
      	that are nested within the vectorized loop.
      
      gcc/testsuite/
      	PR tree-optimization/83914
      	* gcc.dg/vect/pr83914.c: New test.
      
      From-SVN: r256884
      Richard Sandiford committed
    • [arm] Fix gcc.target/arm/negdi-[12].c · 4b04107b
      These tests are failing for a silly reason. They scan for an occurrence of the NEGS instruction.
      NEGS (and NEG in general) is a pre-UAL alias of RSB with an immediate of 0 and we only emit it
      in one pattern: *thumb2_negsi2_short in thumb2.md. In all other instances of negation we emit
      the modern RSB mnemonic. This causes needless differences in assembly output.
      For example, for these testcases we emit NEG when compiling for -march=armv7-a, but for armv7ve
      we emit RSB, causing the scan-assembler tests to fail.
      
      This patch updates the *thumb2_negsi2_short pattern to use the RSB mnemonic and
      fixes the flaky scan-assembler directives.
      
      These tests now pass for my compiler configured with:
      --with-cpu=cortex-a15 --with-fpu=neon-vfpv4 --with-float=hard --with-mode=thumb
      
      Bootstrapped and tested on arm-none-linux-gnueabihf as well.
      
      	* config/arm/thumb2.md (*thumb2_negsi2_short): Use RSB mnemonic
      	instead of NEG.
      
      	* gcc.target/arm/negdi-1.c: Remove bogus assembler scan for negs.
      	* gcc.target/arm/negdi-2.c: Likewise.
      	* gcc.target/arm/thumb-16bit-ops.c: Replace scan for NEGS with RSBS.
      --This line,gand those below, will be ignored--
      
      M    gcc/config/arm/thumb2.md
      M    gcc/ChangeLog
      M    gcc/testsuite/gcc.target/arm/thumb-16bit-ops.c
      M    gcc/testsuite/gcc.target/arm/negdi-1.c
      M    gcc/testsuite/gcc.target/arm/negdi-2.c
      M    gcc/testsuite/ChangeLog
      
      From-SVN: r256881
      Kyrylo Tkachov committed
    • [arm] Fix gcc.target/arm/pr40956.c · 9f14d763
      The scan-assembler tests here check for MOVS for Thumb1 and MOV for Thumb2,
      but in fact there's no reason why we wouldn't generate MOVS for Thumb2 as well,
      it really depends on a lot of optimisation decisions.
      The only behaviour we want to test is that we move a 0 constant into a register
      only once, which can be achieved with either MOV or MOVS.
      Simplify the check by always checking for either MOV or MOVS.
      
            * gcc.target/arm/pr40956.c: Adjust scan-assembler pattern.
      
      From-SVN: r256880
      Kyrylo Tkachov committed
    • [libstdc++][testsuite] Fix dg-options/dg-add-options order · a46c4287
      2018-01-19  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
                dg-options and dg-add-options order.
      	* testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
      	* testsuite/ext/special_functions/conf_hyperg/check_nan.cc:
      	Likewise.
      	* testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
      	* testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
      	Likewise.
      	* testsuite/special_functions/02_assoc_legendre/check_nan.cc:
      	Likewise.
      	* testsuite/special_functions/03_beta/check_nan.cc: Likewise.
      	* testsuite/special_functions/04_comp_ellint_1/check_nan.cc:
      	Likewise.
      	* testsuite/special_functions/05_comp_ellint_2/check_nan.cc:
      	Likewise.
      	* testsuite/special_functions/06_comp_ellint_3/check_nan.cc:
      	Likewise.
      	* testsuite/special_functions/06_comp_ellint_3/pr66689.cc:
      	Likewise.
      	* testsuite/special_functions/07_cyl_bessel_i/check_nan.cc:
      	Likewise.
      	* testsuite/special_functions/08_cyl_bessel_j/check_nan.cc:
      	Likewise.
      	* testsuite/special_functions/09_cyl_bessel_k/check_nan.cc:
      	Likewise.
      	* testsuite/special_functions/10_cyl_neumann/check_nan.cc:
      	Likewise.
      	* testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
      	* testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
      	* testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
      	* testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise.
      	* testsuite/special_functions/14_expint/check_nan.cc: Likewise.
      	* testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
      	* testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
      	* testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
      	* testsuite/special_functions/18_riemann_zeta/check_nan.cc:
      	Likewise.
      	* testsuite/special_functions/19_sph_bessel/check_nan.cc:
      	Likewise.
      	* testsuite/special_functions/20_sph_legendre/check_nan.cc:
      	Likewise.
      	* testsuite/special_functions/21_sph_neumann/check_nan.cc:
      	Likewise.
      
      From-SVN: r256879
      Christophe Lyon committed
    • [arm] Fix gcc.target/arm/pr79058.c · 80b21c41
      This testcase tests 32-bit ARM state functionality, so add the -marm to make it explicit
      as well as to avoid Thumb1 hard-float errors for certain toolchain configurations.
      
      
           * gcc.target/arm/pr79058.c: Add arm_arm_ok check and -marm to options.
      
      From-SVN: r256878
      Kyrylo Tkachov committed
    • mksysinfo: use rlimit64 if available when we use getrlimit64 · 2a3abc86
          
          This makes no difference on most systems, because <sys/resource.h>
          renames the type appropriately anyhow, but apparently it makes a
          difference on AIX.
          
          Reviewed-on: https://go-review.googlesource.com/88076
      
      From-SVN: r256877
      Ian Lance Taylor committed
    • Makefile.am (GOTOOLS_TEST_TIMEOUT): Define. · 5d158777
      	* Makefile.am (GOTOOLS_TEST_TIMEOUT): Define.
      	(check-go-tool): Pass -test.timeout with GOTOOLS_TEST_TIMEOUT.
      	(check-cgo-test, check-carchive-test, check-vet): Likewise.
      	* Makefile.in: Rebuild.
      
      From-SVN: r256876
      Ian Lance Taylor committed
    • mksysinfo: force Passwd.Pw_[ug]id from int32 to uint32 · ddc606ce
          
          Solaris 10 uses int32 for the Pw_uid and Pw_gid fields of Passwd,
          but most systems, including Solaris 11, use uint32.  Force uint32
          for consistency and to fix the build.
          
          Reviewed-on: https://go-review.googlesource.com/88195
      
      From-SVN: r256875
      Ian Lance Taylor committed
    • runtime: add go:noescape declaration for Solaris · 549e4feb
          
          Patch by Rainer Orth.
          
          Reviewed-on: https://go-review.googlesource.com/88376
      
      From-SVN: r256872
      Ian Lance Taylor committed
    • pr52451.c (main): Skip long double test on hppa*-*-hpux*. · 502a18ca
      	* gcc.dg/torture/pr52451.c (main): Skip long double test on
      	hppa*-*-hpux*.
      
      From-SVN: r256871
      John David Anglin committed
    • Daily bump. · 90e04a34
      From-SVN: r256870
      GCC Administrator committed
  2. 18 Jan, 2018 13 commits