]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
4 years ago2019-06-13 Richard Biener <rguenther@suse.de>
rguenth [Thu, 13 Jun 2019 13:03:13 +0000 (13:03 +0000)] 
2019-06-13  Richard Biener  <rguenther@suse.de>

PR tree-optimization/90856
* tree-sra.c (build_ref_for_model): Only use
build_reconstructed_reference when address-spaces are the same.

* gcc.target/i386/pr90856.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272244 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago * config/nvptx/nvptx.c (nvptx_sese_number, nvptx_sese_pseudo): Don't
jakub [Thu, 13 Jun 2019 12:51:39 +0000 (12:51 +0000)] 
* config/nvptx/nvptx.c (nvptx_sese_number, nvptx_sese_pseudo): Don't
wrap ei variable name in the declaration in ()s.
(nvptx_single): Actually use mode_label variable.  Formatting fix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272243 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago * g++.dg/tree-ssa/ssa-dse-1.C: Don't match exact number of chars of
jakub [Thu, 13 Jun 2019 11:29:13 +0000 (11:29 +0000)] 
* g++.dg/tree-ssa/ssa-dse-1.C: Don't match exact number of chars of
= {} store.
* g++.dg/tree-ssa/pr31146.C: Change -fdump-tree-forwprop to
-fdump-tree-forwprop1 in dg-options.  Expect <int[5]> in MEM.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272240 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago2019-06-13 Richard Biener <rguenther@suse.de>
rguenth [Thu, 13 Jun 2019 10:10:05 +0000 (10:10 +0000)] 
2019-06-13  Richard Biener  <rguenther@suse.de>

* tree-vectorizer.h (vect_loop_vectorized_call): Declare.
* tree-vectorizer.c (vect_loop_vectorized_call): Export and
also return the condition stmt.
* tree-vect-loop-manip.c (vect_loop_versioning): Compute outermost
loop we can version and version that, reusing the loop version
created by if-conversion instead of versioning again.

* gcc.dg/vect/vect-version-1.c: New testcase.
* gcc.dg/vect/vect-version-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272239 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoRevamp value_range::may_contain_p.
aldyh [Thu, 13 Jun 2019 09:46:00 +0000 (09:46 +0000)] 
Revamp value_range::may_contain_p.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272238 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago[ARC] Add documentation naked, ilink and firq
claziss [Thu, 13 Jun 2019 09:35:19 +0000 (09:35 +0000)] 
[ARC] Add documentation naked, ilink and firq

gcc/
xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>

* doc/extend.texi (ARC Function Attributes): Update info.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272237 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago/cp
paolo [Thu, 13 Jun 2019 08:45:46 +0000 (08:45 +0000)] 
/cp
2019-06-13  Paolo Carlini  <paolo.carlini@oracle.com>

* decl.c (grokdeclarator): Use id_loc in five additional places
in the last part of the function.

/testsuite
2019-06-13  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/diagnostic/variably-modified-type-1.C: New.
* g++.dg/cpp0x/alias-decl-1.C: Test the location too.
* g++.dg/other/pr84792-1.C: Likewise.
* g++.dg/other/pr84792-2.C: Likewise.
* g++.dg/parse/error24.C: Likewise.
* g++.dg/parse/error32.C: Likewise.
* g++.dg/parse/error33.C: Likewise.
* g++.dg/parse/saved1.C: Likewise.
* g++.dg/template/operator6.C: Likewise.
* g++.dg/template/pr61745.C: Likewise.
* g++.dg/template/typedef41.C: Likewise.
* g++.old-deja/g++.jason/crash10.C: Likewise.

/cp
2019-06-13  Paolo Carlini  <paolo.carlini@oracle.com>

* decl.c (grokdeclarator): Move further up the declaration of
id_loc, use it immediately, update its value after the loop
over declarator, use it again in the final part of function;
improve locations of error messages about multiple data types
and conflicting specifiers.

/testsuite
2019-06-13  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/diagnostic/conflicting-specifiers-1.C: New.
* g++.dg/diagnostic/two-or-more-data-types-1.C: Likewise.
* g++.dg/parse/error10.C: Adjust location.
* g++.dg/parse/pragma2.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272236 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago2019-06-13 Richard Biener <rguenther@suse.de>
rguenth [Thu, 13 Jun 2019 08:41:13 +0000 (08:41 +0000)] 
2019-06-13  Richard Biener  <rguenther@suse.de>

PR c++/90801
* typeck2.c (split_nonconstant_init_1): Properly count
num_split_elts, optimize single constructor elt removal.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272235 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoPR tree-optimization/89713 - Assume loop with an exit is finite
fxue [Thu, 13 Jun 2019 04:17:42 +0000 (04:17 +0000)] 
PR tree-optimization/89713 - Assume loop with an exit is finite

gcc/ChangeLog:

        * doc/invoke.texi (-ffinite-loops): Document new option.
        * common.opt (-ffinite-loops): New option.
        * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Mark
        IFN_GOACC_LOOP calls as necessary.
        * tree-ssa-loop-niter.c (finite_loop_p): Assume loop with an exit
        is finite.
        * omp-offload.c (oacc_xform_loop): Skip lowering if return value of
        IFN_GOACC_LOOP call is not used.
        * opts.c (default_options_table): Enable -ffinite-loops at -O2+.

gcc/testsuite/ChangeLog:

        * g++.dg/tree-ssa/empty-loop.C: New test.
        * gcc.dg/tree-ssa/dce-2.c: New test.
        * gcc.dg/const-1.c: Add -fno-finite-loops option.
        * gcc.dg/graphite/graphite.exp: Likewise.
        * gcc.dg/loop-unswitch-1.c: Likewise.
        * gcc.dg/predict-9.c: Likewise.
        * gcc.dg/pure-2.c: Likewise.
        * gcc.dg/tree-ssa/20040211-1.c: Likewise.
        * gcc.dg/tree-ssa/loop-10.c: Likewise.
        * gcc.dg/tree-ssa/split-path-6.c: Likewise.
        * gcc.dg/tree-ssa/ssa-thread-12.c: Likewise.

libgomp/ChangeLog:

        * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272234 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agogcc/ChangeLog:
kugan [Thu, 13 Jun 2019 03:34:28 +0000 (03:34 +0000)] 
gcc/ChangeLog:

2019-06-13  Kugan Vivekanandarajah  <kugan.vivekanandarajah@linaro.org>

PR target/88838
* tree-vect-loop-manip.c (vect_set_loop_masks_directly): If the
compare_type is not with Pmode size, we will create an IV with
Pmode size with truncated use (i.e. converted to the correct type).
* tree-vect-loop.c (vect_verify_full_masking): Find IV type.
(vect_iv_limit_for_full_masking): New. Factored out of
vect_set_loop_condition_masked.
* tree-vectorizer.h (LOOP_VINFO_MASK_IV_TYPE): New.
(vect_iv_limit_for_full_masking): Declare.

gcc/testsuite/ChangeLog:

2019-06-13  Kugan Vivekanandarajah  <kugan.vivekanandarajah@linaro.org>

PR target/88838
* gcc.target/aarch64/pr88838.c: New test.
* gcc.target/aarch64/sve/while_1.c: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272233 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agogcc/ChangeLog:
kugan [Thu, 13 Jun 2019 03:18:54 +0000 (03:18 +0000)] 
gcc/ChangeLog:

2019-06-13  Kugan Vivekanandarajah  <kugan.vivekanandarajah@linaro.org>

PR target/88834
* tree-ssa-loop-ivopts.c (get_mem_type_for_internal_fn): Handle
IFN_MASK_LOAD_LANES and IFN_MASK_STORE_LANES.
(get_alias_ptr_type_for_ptr_address): Likewise.
(add_iv_candidate_for_use): Add scaled index candidate if useful.
* tree-ssa-address.c (preferred_mem_scale_factor): New.
* config/aarch64/aarch64.c (aarch64_classify_address): Relax
allow_reg_index_p.

gcc/testsuite/ChangeLog:

2019-06-13  Kugan Vivekanandarajah  <kugan.vivekanandarajah@linaro.org>

PR target/88834
* gcc.target/aarch64/pr88834.c: New test.
* gcc.target/aarch64/sve/struct_vect_1.c: Adjust.
* gcc.target/aarch64/sve/struct_vect_14.c: Likewise.
* gcc.target/aarch64/sve/struct_vect_15.c: Likewise.
* gcc.target/aarch64/sve/struct_vect_16.c: Likewise.
* gcc.target/aarch64/sve/struct_vect_17.c: Likewise.
* gcc.target/aarch64/sve/struct_vect_7.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272232 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agogcc/ChangeLog:
kugan [Thu, 13 Jun 2019 03:13:56 +0000 (03:13 +0000)] 
gcc/ChangeLog:

2019-06-13  Kugan Vivekanandarajah  <kugan.vivekanandarajah@linaro.org>

* config/aarch64/iterators.md (ADDSUB): Fix typo in comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272231 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago PR c++/87410
mpolacek [Thu, 13 Jun 2019 01:31:03 +0000 (01:31 +0000)] 
PR c++/87410
* g++.dg/cpp1y/pr87410.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272230 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoDaily bump.
gccadmin [Thu, 13 Jun 2019 00:16:15 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272228 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago PR c++/66999 - 'this' captured by reference.
mpolacek [Wed, 12 Jun 2019 22:41:35 +0000 (22:41 +0000)] 
PR c++/66999 - 'this' captured by reference.
* parser.c (cp_parser_lambda_introducer): Reject `&this'.  Use
cp_lexer_nth_token_is instead of cp_lexer_peek_nth_token.

* g++.dg/cpp0x/lambda/lambda-this21.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272223 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago * io.c (check_format): Use G_(...) instead of _(...) for error values,
jakub [Wed, 12 Jun 2019 22:38:10 +0000 (22:38 +0000)] 
* io.c (check_format): Use G_(...) instead of _(...) for error values,
append " in format string at %L" to all strings but unexpected_element,
use error as gfc_error formating string instead of
"%s in format string at %L".  Formatting fixes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272222 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago PR c++/90825 - endless recursion when evaluating sizeof.
mpolacek [Wed, 12 Jun 2019 22:26:54 +0000 (22:26 +0000)] 
PR c++/90825 - endless recursion when evaluating sizeof.
PR c++/90832 - endless recursion when evaluating sizeof.
* constexpr.c (cxx_eval_constant_expression): Don't recurse on the
result of fold_sizeof_expr if is returns a SIZEOF_EXPR.
* typeck.c (cxx_sizeof_expr): Only return a SIZEOF_EXPR if the operand
is instantiation-dependent.

* g++.dg/cpp0x/constexpr-sizeof2.C: New test.
* g++.dg/cpp0x/constexpr-sizeof3.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272221 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago2019-06-12 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Wed, 12 Jun 2019 22:18:37 +0000 (22:18 +0000)] 
2019-06-12  Steven G. Kargl  <kargl@gcc.gnu.org>

* gfortran.h (gfc_free_dt_list): Remove prototype.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272220 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoTweak tests to avoid fallout from MEM_REF changes on targets that don't
msebor [Wed, 12 Jun 2019 20:43:27 +0000 (20:43 +0000)] 
Tweak tests to avoid fallout from MEM_REF changes on targets that don't
enable store merging but achieve the same effect by other means (DSE).

gcc/testsuite?ChangeLog:

PR middle-end/90676
* gcc.dg/tree-ssa/pr30375.c: Adjust and simplify expected test
output some more.
* gcc.dg/tree-ssa/slsr-27.c: Ditto.
* gcc.dg/tree-ssa/slsr-28.c: Ditto.
* gcc.dg/tree-ssa/slsr-29.c: Ditto.
* gcc.dg/tree-ssa/ssa-dse-24.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272218 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago PR c++/90736 - bogus error with alignof.
mpolacek [Wed, 12 Jun 2019 20:17:36 +0000 (20:17 +0000)] 
PR c++/90736 - bogus error with alignof.
* constexpr.c (adjust_temp_type): Use cv_unqualified type.

* g++.dg/cpp0x/alignof5.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272217 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoFix incorrect __cpp_lib_parallel_algorithm macro definitions
redi [Wed, 12 Jun 2019 20:16:03 +0000 (20:16 +0000)] 
Fix incorrect __cpp_lib_parallel_algorithm macro definitions

* include/std/algorithm (__cpp_lib_parallel_algorithm): Fix value.
* include/std/memory (__cpp_lib_parallel_algorithm): Likewise.
* include/std/numeric (__cpp_lib_parallel_algorithm): Likewise.
* testsuite/25_algorithms/pstl/feature_test.cc: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272216 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoAdd myself to MAINTAINERS
dimitar [Wed, 12 Jun 2019 20:10:21 +0000 (20:10 +0000)] 
Add myself to MAINTAINERS

2019-06-12  Dimitar Dimitrov  <dimitar@dinux.eu>

* MAINTAINERS (Write After Approval): Add myself.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272215 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agotestsuite: Mark testsuite that PRU has different
dimitar [Wed, 12 Jun 2019 19:52:54 +0000 (19:52 +0000)] 
testsuite: Mark testsuite that PRU has different

gcc/testsuite/ChangeLog:

2019-06-12  Dimitar Dimitrov  <dimitar@dinux.eu>

        * gcc.dg/builtin-apply2.c: Skip for PRU.
        * gcc.dg/torture/stackalign/builtin-apply-2.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272212 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agotestsuite: Mark that PRU uses all function pointer bits
dimitar [Wed, 12 Jun 2019 19:50:45 +0000 (19:50 +0000)] 
testsuite: Mark that PRU uses all function pointer bits

gcc/testsuite/ChangeLog:

2019-06-12  Dimitar Dimitrov  <dimitar@dinux.eu>

* g++.old-deja/g++.abi/ptrmem.C: Add PRU to list.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272211 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agotestsuite: Mark that PRU has one-cycle jumps
dimitar [Wed, 12 Jun 2019 19:48:59 +0000 (19:48 +0000)] 
testsuite: Mark that PRU has one-cycle jumps

gcc/testsuite/ChangeLog:

2019-06-12  Dimitar Dimitrov  <dimitar@dinux.eu>

* gcc.dg/tree-ssa/20040204-1.c: XFAIL on pru.
* gcc.dg/tree-ssa/reassoc-33.c: Ditto.
* gcc.dg/tree-ssa/reassoc-34.c: Ditto.
* gcc.dg/tree-ssa/reassoc-35.c: Ditto.
* gcc.dg/tree-ssa/reassoc-36.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272210 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agotestsuite: Define PRU stack usage
dimitar [Wed, 12 Jun 2019 19:47:09 +0000 (19:47 +0000)] 
testsuite: Define PRU stack usage

gcc/testsuite/ChangeLog:

2019-06-12  Dimitar Dimitrov  <dimitar@dinux.eu>

* gcc.dg/stack-usage-1.c: Define PRU stack usage.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272209 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agotestsuite: Remove PRU from test cases requiring hosted environment
dimitar [Wed, 12 Jun 2019 19:44:21 +0000 (19:44 +0000)] 
testsuite: Remove PRU from test cases requiring hosted environment

gcc/testsuite/ChangeLog:

2019-06-12  Dimitar Dimitrov  <dimitar@dinux.eu>

* gcc.c-torture/execute/20101011-1.c: Define DO_TEST to 0 for PRU.
* gcc.dg/20020312-2.c: No PIC register for PRU.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272208 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agotestsuite: Add check for unsupported TI ABI PRU features to testsuite
dimitar [Wed, 12 Jun 2019 19:41:02 +0000 (19:41 +0000)] 
testsuite: Add check for unsupported TI ABI PRU features to testsuite

gcc/testsuite/ChangeLog:

2019-06-12  Dimitar Dimitrov  <dimitar@dinux.eu>

* lib/gcc-dg.exp: Filter unsupported features in PRU's TI ABI mode.
* lib/target-utils.exp: Ditto.
* lib/target-supports.exp (check_effective_target_function_pointers,
check_effective_target_large_return_values): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272207 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agotestsuite: Add check for overflowed IMEM region to testsuite
dimitar [Wed, 12 Jun 2019 19:36:34 +0000 (19:36 +0000)] 
testsuite: Add check for overflowed IMEM region to testsuite

gcc/testsuite/ChangeLog:

2019-06-12  Dimitar Dimitrov  <dimitar@dinux.eu>

* lib/gcc-dg.exp: Bail on region overflow for tiny targets.
* lib/target-utils.exp: Ditto.
* lib/target-supports.exp: Declare PRU target as tiny.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272206 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agotestsuite: Add PRU tests
dimitar [Wed, 12 Jun 2019 19:33:31 +0000 (19:33 +0000)] 
testsuite: Add PRU tests

gcc/testsuite/ChangeLog:

2019-06-12  Dimitar Dimitrov  <dimitar@dinux.eu>

* gcc.target/pru/abi-arg-struct.c: New test.
* gcc.target/pru/ashiftrt.c: New test.
* gcc.target/pru/builtins-1.c: New test.
* gcc.target/pru/builtins-error.c: New test.
* gcc.target/pru/clearbit.c: New test.
* gcc.target/pru/loop-asm.c: New test.
* gcc.target/pru/loop-dowhile.c: New test.
* gcc.target/pru/loop-hi-1.c: New test.
* gcc.target/pru/loop-hi-2.c: New test.
* gcc.target/pru/loop-qi-1.c: New test.
* gcc.target/pru/loop-qi-2.c: New test.
* gcc.target/pru/loop-short-1.c: New test.
* gcc.target/pru/loop-short-2.c: New test.
* gcc.target/pru/loop-si-1.c: New test.
* gcc.target/pru/loop-si-2.c: New test.
* gcc.target/pru/loop-u8_pcrel_overflow.c: New test.
* gcc.target/pru/loop-ubyte-1.c: New test.
* gcc.target/pru/loop-ubyte-2.c: New test.
* gcc.target/pru/lra-framepointer-fragmentation-1.c: New test.
* gcc.target/pru/lra-framepointer-fragmentation-2.c: New test.
* gcc.target/pru/mabi-ti-1.c: New test.
* gcc.target/pru/mabi-ti-2.c: New test.
* gcc.target/pru/mabi-ti-3.c: New test.
* gcc.target/pru/mabi-ti-4.c: New test.
* gcc.target/pru/mabi-ti-5.c: New test.
* gcc.target/pru/mabi-ti-6.c: New test.
* gcc.target/pru/mabi-ti-7.c: New test.
* gcc.target/pru/pr64366.c: New test.
* gcc.target/pru/pragma-ctable_entry.c: New test.
* gcc.target/pru/pru.exp: New file.
* gcc.target/pru/qbbc-1.c: New test.
* gcc.target/pru/qbbc-2.c: New test.
* gcc.target/pru/qbbc-3.c: New test.
* gcc.target/pru/qbbs-1.c: New test.
* gcc.target/pru/qbbs-2.c: New test.
* gcc.target/pru/setbit.c: New test.
* gcc.target/pru/zero_extend-and-hisi.c: New test.
* gcc.target/pru/zero_extend-and-qihi.c: New test.
* gcc.target/pru/zero_extend-and-qisi.c: New test.
* gcc.target/pru/zero_extend-hisi.c: New test.
* gcc.target/pru/zero_extend-qihi.c: New test.
* gcc.target/pru/zero_extend-qisi.c: New test.
* lib/target-supports.exp: Add PRU to feature filters.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272205 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoInitial TI PRU libgcc port
dimitar [Wed, 12 Jun 2019 19:28:51 +0000 (19:28 +0000)] 
Initial TI PRU libgcc port

libgcc/ChangeLog:

2019-06-12  Dimitar Dimitrov  <dimitar@dinux.eu>

* config.host: Add PRU target.
* config/pru/asri.c: New file.
* config/pru/eqd.c: New file.
* config/pru/eqf.c: New file.
* config/pru/ged.c: New file.
* config/pru/gef.c: New file.
* config/pru/gtd.c: New file.
* config/pru/gtf.c: New file.
* config/pru/led.c: New file.
* config/pru/lef.c: New file.
* config/pru/lib2bitcountHI.c: New file.
* config/pru/lib2divHI.c: New file.
* config/pru/lib2divQI.c: New file.
* config/pru/lib2divSI.c: New file.
* config/pru/libgcc-eabi.ver: New file.
* config/pru/ltd.c: New file.
* config/pru/ltf.c: New file.
* config/pru/mpyll.S: New file.
* config/pru/pru-abi.h: New file.
* config/pru/pru-asm.h: New file.
* config/pru/pru-divmod.h: New file.
* config/pru/sfp-machine.h: New file.
* config/pru/t-pru: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272204 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoFix ChangeLog dates for last commit
dimitar [Wed, 12 Jun 2019 19:26:31 +0000 (19:26 +0000)] 
Fix ChangeLog dates for last commit

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272203 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoInitial TI PRU GCC port
dimitar [Wed, 12 Jun 2019 19:04:24 +0000 (19:04 +0000)] 
Initial TI PRU GCC port

ChangeLog:

2019-06-19  Dimitar Dimitrov  <dimitar@dinux.eu>

* configure: Regenerate.
* configure.ac: Add PRU target.

gcc/ChangeLog:

2019-06-19  Dimitar Dimitrov  <dimitar@dinux.eu>

* common/config/pru/pru-common.c: New file.
* config.gcc: Add PRU target.
* config/pru/alu-zext.md: New file.
* config/pru/constraints.md: New file.
* config/pru/predicates.md: New file.
* config/pru/pru-opts.h: New file.
* config/pru/pru-passes.c: New file.
* config/pru/pru-pragma.c: New file.
* config/pru/pru-protos.h: New file.
* config/pru/pru.c: New file.
* config/pru/pru.h: New file.
* config/pru/pru.md: New file.
* config/pru/pru.opt: New file.
* config/pru/t-pru: New file.
* doc/extend.texi: Document PRU pragmas.
* doc/invoke.texi: Document PRU-specific options.
* doc/md.texi: Document PRU asm constraints.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272202 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago2019-06-12 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Wed, 12 Jun 2019 18:28:32 +0000 (18:28 +0000)] 
2019-06-12  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/90002
* array.c (gfc_free_array_spec): When freeing an array-spec, avoid
an ICE for assumed-shape coarrays

2019-06-12  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/90002
* gfortran.dg/pr90002.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272201 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoUpdate last ChangeLog entry.
msebor [Wed, 12 Jun 2019 17:27:41 +0000 (17:27 +0000)] 
Update last ChangeLog entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272200 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoPR middle-end/90676 - default GIMPLE dumps lack information
msebor [Wed, 12 Jun 2019 17:05:35 +0000 (17:05 +0000)] 
PR middle-end/90676 - default GIMPLE dumps lack information

gcc/ChangeLog:

PR middle-end/90676
* tree-pretty-print.c (dump_mem_ref): New function.  Include
MEM_REF type in output when different size than operand.
(dump_generic_node): Move code to dump_mem_ref and call it.

gcc/testsuite/ChangeLog:

PR middle-end/90676
* gcc.dg/tree-ssa/dump-6.c: New test.
* g++.dg/tree-ssa/pr19807.C: Adjust expected output.
* g++.dg/tree-ssa/ssa-dse-1.C: Same.
* gcc.dg/store_merging_5.c: Same.
* gcc.dg/tree-prof/stringop-2.c: Same.
* gcc.dg/tree-ssa/pr30375.c: Same.
* gcc.dg/tree-ssa/slsr-27.c: Same.
* gcc.dg/tree-ssa/slsr-28.c: Same.
* gcc.dg/tree-ssa/slsr-29.c: Same.
* gcc.dg/tree-ssa/ssa-dse-24.c: Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272199 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoPR tree-optimization/90662 - strlen of a string in a vla plus offset not folded
msebor [Wed, 12 Jun 2019 16:33:04 +0000 (16:33 +0000)] 
PR tree-optimization/90662 - strlen of a string in a vla plus offset not folded

gcc/ChangeLog:

PR tree-optimization/90662
* tree-ssa-strlen.c (get_stridx): Handle simple VLAs and pointers
to arrays.

gcc/testsuite/ChangeLog:

PR tree-optimization/90662
* gcc.dg/strlenopt-62.c: New test.
* gcc.dg/strlenopt-63.c: New test.
* gcc.dg/strlenopt-64.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272197 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago[nvptx] Assert fork has at most one join in nvptx_find_par
vries [Wed, 12 Jun 2019 14:56:18 +0000 (14:56 +0000)] 
[nvptx] Assert fork has at most one join in nvptx_find_par

With the test-case of PR90009 we run into a SIGSEGV in nvptx_neuter_pars,
because par->join_insn and par->join_block are NULL.

Detect this problem earlier, by adding an assert in nvptx_find_par that
asserts that a fork cannot be paired with more than one join.

Build and tested on x86_64 with nvptx accelerator enabled.

2019-06-12  Tom de Vries  <tdevries@suse.de>

PR tree-optimization/90009
* config/nvptx/nvptx.c (nvptx_find_par): Assert fork has at most join.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272189 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoImprove static_assert messages for std::variant
redi [Wed, 12 Jun 2019 14:52:09 +0000 (14:52 +0000)] 
Improve static_assert messages for std::variant

Also fix a warning with -Wunused-parameter -Wsystem-headers.

* include/std/variant (get<T>, get<N>, get_if<N>, get_if<T>)
(variant::emplace): Change static_assert messages from "should be"
to "must be".
(hash<monostate>::operator()): Remove name of unused parameter.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272188 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoSimplify std::scoped_lock destructor
redi [Wed, 12 Jun 2019 14:52:06 +0000 (14:52 +0000)] 
Simplify std::scoped_lock destructor

* include/std/mutex (scoped_lock::~scoped_lock()): Use fold
expression.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272187 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoReplace std::to_string for integers with optimized version
redi [Wed, 12 Jun 2019 14:52:02 +0000 (14:52 +0000)] 
Replace std::to_string for integers with optimized version

The std::to_chars functions from C++17 can be used to implement
std::to_string with much better performance than calling snprintf. Only
the __detail::__to_chars_len and __detail::__to_chars_10 functions are
needed for to_string, because it always outputs base 10 representations.

The return type of __detail::__to_chars_10 should not be declared before
C++17, so the function body is extracted into a new function that can be
reused by to_string and __detail::__to_chars_10.

The existing tests for to_chars rely on to_string to check for correct
answers. Now that they use the same code that doesn't actually ensure
correctness, so add new tests for std::to_string that compare against
printf output.

* include/Makefile.am: Add new <bits/charconv.h> header.
* include/Makefile.in: Regenerate.
* include/bits/basic_string.h (to_string(int), to_string(unsigned))
(to_string(long), to_string(unsigned long), to_string(long long))
(to_string(unsigned long long)): Rewrite to use __to_chars_10_impl.
* include/bits/charconv.h: New header.
(__detail::__to_chars_len): Move here from <charconv>.
(__detail::__to_chars_10_impl): New function extracted from
__detail::__to_chars_10.
* include/std/charconv (__cpp_lib_to_chars): Add, but comment out.
(__to_chars_unsigned_type): New class template that reuses
__make_unsigned_selector_base::__select to pick a type.
(__unsigned_least_t): Redefine as __to_chars_unsigned_type<T>::type.
(__detail::__to_chars_len): Move to new header.
(__detail::__to_chars_10): Add inline specifier. Move code doing the
output to __detail::__to_chars_10_impl and call that.
* include/std/version (__cpp_lib_to_chars): Add, but comment out.
* testsuite/21_strings/basic_string/numeric_conversions/char/
to_string.cc: Fix reference in comment. Remove unused variable.
* testsuite/21_strings/basic_string/numeric_conversions/char/
to_string_int.cc: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272186 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoDisable hash-table sanitization for mem stats maps.
marxin [Wed, 12 Jun 2019 13:07:07 +0000 (13:07 +0000)] 
Disable hash-table sanitization for mem stats maps.

2019-06-12  Martin Liska  <mliska@suse.cz>

* ggc-common.c (ggc_prune_overhead_list): Do not sanitize
the created map.
* hash-map.h: Add sanitize_eq_and_hash into ::hash_map.
* mem-stats.h (mem_alloc_description::mem_alloc_description):
Do not sanitize created maps.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272183 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoRemove value_range_constant_singleton in favor of value_range::singleton_p.
aldyh [Wed, 12 Jun 2019 12:53:20 +0000 (12:53 +0000)] 
Remove value_range_constant_singleton in favor of value_range::singleton_p.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272182 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago PR target/90811
jakub [Wed, 12 Jun 2019 09:31:26 +0000 (09:31 +0000)] 
PR target/90811
* cfgexpand.c (align_local_variable): Add really_expand argument,
don't SET_DECL_ALIGN if it is false.
(add_stack_var): Add really_expand argument, pass it through to
align_local_variable.
(expand_one_stack_var_1): Pass true as really_expand to
align_local_variable.
(expand_one_ssa_partition): Pass true as really_expand to
add_stack_var.
(expand_one_var): Pass really_expand through to add_stack_var.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272181 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago[arm] Implement usadv16qi and ssadv16qi standard names
ktkachov [Wed, 12 Jun 2019 08:27:59 +0000 (08:27 +0000)] 
[arm] Implement usadv16qi and ssadv16qi standard names

This patch implements the usadv16qi and ssadv16qi standard names for arm.

The V16QImode variant is important as it is the most commonly used pattern:
reducing vectors of bytes into an int.
The midend expects the optab to compute the absolute differences of operands 1
and 2 and reduce them while widening along the way up to SImode. So the inputs
are V16QImode and the output is V4SImode.

I've based my solution on Aarch64 usadv16qi and ssadv16qi standard names
current implementation (r260437). This solution emits below sequence of
instructions:

        VABDL.u8        tmp, op1, op2   # op1, op2 lowpart
        VABAL.u8        tmp, op1, op2   # op1, op2 highpart
        VPADAL.u16      op3, tmp

So, for the code:

$ arm-none-linux-gnueabihf-gcc -S -O3 -march=armv8-a+simd -mfpu=auto -mfloat-abi=hard usadv16qi.c -dp

#define N 1024
unsigned char pix1[N];
unsigned char pix2[N];

int
foo (void)
{
  int i_sum = 0;
  int i;
  for (i = 0; i < N; i++)
    i_sum += __builtin_abs (pix1[i] - pix2[i]);
  return i_sum;
}

we now generate on arm:
foo:
        movw    r3, #:lower16:pix2      @ 57    [c=4 l=4]  *arm_movsi_vfp/3
        movt    r3, #:upper16:pix2      @ 58    [c=4 l=4]  *arm_movt/0
        vmov.i32        q9, #0  @ v4si  @ 3     [c=4 l=4]  *neon_movv4si/2
        movw    r2, #:lower16:pix1      @ 59    [c=4 l=4]  *arm_movsi_vfp/3
        movt    r2, #:upper16:pix1      @ 60    [c=4 l=4]  *arm_movt/0
        add     r1, r3, #1024   @ 8     [c=4 l=4]  *arm_addsi3/4
.L2:
        vld1.8  {q11}, [r3]!    @ 11    [c=8 l=4]  *movmisalignv16qi_neon_load
        vld1.8  {q10}, [r2]!    @ 10    [c=8 l=4]  *movmisalignv16qi_neon_load
        cmp     r1, r3  @ 21    [c=4 l=4]  *arm_cmpsi_insn/2
        vabdl.u8        q8, d20, d22    @ 12    [c=8 l=4]  neon_vabdluv8qi
        vabal.u8        q8, d21, d23    @ 15    [c=88 l=4]  neon_vabaluv8qi
        vpadal.u16      q9, q8  @ 16    [c=8 l=4]  neon_vpadaluv8hi
        bne     .L2             @ 22    [c=16 l=4]  arm_cond_branch
        vadd.i32        d18, d18, d19   @ 24    [c=120 l=4]  quad_halves_plusv4si
        vpadd.i32       d18, d18, d18   @ 25    [c=8 l=4]  neon_vpadd_internalv2si
        vmov.32 r0, d18[0]      @ 30    [c=12 l=4]  vec_extractv2sisi/1

instead of:
foo:
        @ args = 0, pretend = 0, frame = 0
        @ frame_needed = 0, uses_anonymous_args = 0
        @ link register save eliminated.
        movw    r3, #:lower16:pix1
        movt    r3, #:upper16:pix1
        vmov.i32        q9, #0  @ v4si
        movw    r2, #:lower16:pix2
        movt    r2, #:upper16:pix2
        add     r1, r3, #1024
.L2:
        vld1.8  {q8}, [r3]!
        vld1.8  {q11}, [r2]!
        vmovl.u8 q10, d16
        cmp     r1, r3
        vmovl.u8 q8, d17
        vmovl.u8 q12, d22
        vmovl.u8 q11, d23
        vsub.i16        q10, q10, q12
        vsub.i16        q8, q8, q11
        vabs.s16        q10, q10
        vabs.s16        q8, q8
        vaddw.s16       q9, q9, d20
        vaddw.s16       q9, q9, d21
        vaddw.s16       q9, q9, d16
        vaddw.s16       q9, q9, d17
        bne     .L2
        vadd.i32        d18, d18, d19
        vpadd.i32       d18, d18, d18
        vmov.32 r0, d18[0]

2019-06-12  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>

        * config/arm/iterators.md (VABAL): New int iterator.
        * config/arm/neon.md (<sup>sadv16qi): New define_expand.
        * config/arm/unspecs.md ("unspec"): Define UNSPEC_VABAL_S, UNSPEC_VABAL_U
        values.

        * gcc.target/arm/ssadv16qi.c: New test.
        * gcc.target/arm/usadv16qi.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272180 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoRemove wrong assert about single value profiler.
marxin [Wed, 12 Jun 2019 07:17:42 +0000 (07:17 +0000)] 
Remove wrong assert about single value profiler.

2019-06-12  Martin Liska  <mliska@suse.cz>

* value-prof.c (stream_out_histogram_value): Only first value
can't be negative.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272179 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago PR c/90760
jakub [Wed, 12 Jun 2019 07:14:08 +0000 (07:14 +0000)] 
PR c/90760
* symtab.c (symtab_node::set_section): Allow being called on aliases
as long as they aren't analyzed yet.

* gcc.dg/pr90760.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272178 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoDaily bump.
gccadmin [Wed, 12 Jun 2019 00:16:15 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272177 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoremoved extra .com, fixed e-mail.
mbelivea [Tue, 11 Jun 2019 20:15:43 +0000 (20:15 +0000)] 
removed extra .com, fixed e-mail.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272170 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago * config/mips/mips.c (mips_final_postscan_insn): Modify call
law [Tue, 11 Jun 2019 20:09:57 +0000 (20:09 +0000)] 
* config/mips/mips.c (mips_final_postscan_insn): Modify call
to `mips_set_text_contents_type' to indicate whether a
non-debug insn follows.

* gcc.target/mips/data-sym-pool.c: Update expected output.
* gcc.target/mips/data-sym-multi-pool.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272169 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago* MAINTAINERS (Write After Approval): Add myself.
mbelivea [Tue, 11 Jun 2019 19:31:36 +0000 (19:31 +0000)] 
* MAINTAINERS (Write After Approval): Add myself.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272168 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoDarwin, testsuite - Fix PR 65364 (uninit-19.c).
iains [Tue, 11 Jun 2019 18:22:58 +0000 (18:22 +0000)] 
Darwin, testsuite - Fix PR 65364 (uninit-19.c).

This test currently fails on Darwin, because the port inlines fn2 for
both PIC (and non-pic for m32).  Fixed by adjusting the target condition.

2019-06-11  Iain Sandoe  <iain@sandoe.co.uk>

PR testsuite/65364
* gcc.dg/uninit-19.c (fn1): Adjust target condition for Darwin.
(fn2): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272167 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoDo not enable -mpcrel by default at the current time
meissner [Tue, 11 Jun 2019 17:36:58 +0000 (17:36 +0000)] 
Do not enable -mpcrel by default at the current time

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272165 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago PR target/90811
jakub [Tue, 11 Jun 2019 16:40:10 +0000 (16:40 +0000)] 
PR target/90811
* config/nvptx/nvptx.c (nvptx_output_softstack_switch): Use and.b%d
instead of and.u%d.

* testsuite/libgomp.c/pr90811.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272161 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago2019-06-09 Edward Smith-Rowland <3dw4rd@verizon.net>
emsr [Tue, 11 Jun 2019 16:29:35 +0000 (16:29 +0000)] 
2019-06-09  Edward Smith-Rowland  <3dw4rd@verizon.net>

Fix ConstexprIterator requirements tests - No constexpr algorithms!
* testsuite/21_strings/basic_string_view/requirements/constexpr_iter.cc:
Replace copy with hand-rolled loop.
* testsuite/23_containers/array/requirements/constexpr_iter.cc:
Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272159 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoAllow conversions in X/[ex]4 < Y/[ex]4
glisse [Tue, 11 Jun 2019 15:22:43 +0000 (15:22 +0000)] 
Allow conversions in X/[ex]4 < Y/[ex]4

2019-06-11  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* match.pd (X/[ex]4<Y/[ex]4): Handle conversions.

gcc/testsuite/
* gcc.dg/tree-ssa/cmpexactdiv-5.c: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272158 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago PR c++/90449 - add -Winaccessible-base option.
mpolacek [Tue, 11 Jun 2019 15:03:21 +0000 (15:03 +0000)] 
   PR c++/90449 - add -Winaccessible-base option.
       * doc/invoke.texi (Winaccessible-base): Document.

       * c.opt (Winaccessible-base): Added new option.

       * class.c (warn_about_ambiguous_bases): Changed name to:
       maybe_warn_about_inaccessible_bases.
       (maybe_warn_about_inaccessible_bases):  Implemented new
       Winaccessible-base warning option for both direct and virtual
       base warnings.
       (layout_class_type): Call to warn_about_ambiguous_bases changed to fit
       new name.

        * g++.dg/warn/Winaccessible-base-1.C: New file.
        * g++.dg/warn/Winaccessible-base-2.C: New file.
        * g++.dg/warn/Winaccessible-virtual-base-1.C: New file.
        * g++.dg/warn/Winaccessible-virtual-base-2.C: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272157 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago2019-06-11 Richard Biener <rguenther@suse.de>
rguenth [Tue, 11 Jun 2019 14:03:41 +0000 (14:03 +0000)] 
2019-06-11  Richard Biener  <rguenther@suse.de>

PR c++/90801
* typeck2.c (split_nonconstant_init_1): Avoid ordered remove
from CONSTRUCTOR by marking to remove elements and doing all
of them in a O(n) scan.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272156 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago PR c++/90810
jakub [Tue, 11 Jun 2019 13:01:40 +0000 (13:01 +0000)] 
PR c++/90810
* init.c (constant_value_1): Handle VECTOR_CST DECL_INITIAL for
!DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P decls like CONSTRUCTOR.

* g++.dg/ext/vector37.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272152 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agofold_real_zero_addition_p for vectors
glisse [Tue, 11 Jun 2019 12:48:26 +0000 (12:48 +0000)] 
fold_real_zero_addition_p for vectors

2019-06-11  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/62041
* fold-const.c (fold_real_zero_addition_p): Handle vectors.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272151 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago * gdbhooks.py (TreePrinter.to_string): Recognize ggc_free'd memory.
jason [Tue, 11 Jun 2019 12:40:08 +0000 (12:40 +0000)] 
* gdbhooks.py (TreePrinter.to_string): Recognize ggc_free'd memory.

* tree.c (get_tree_code_name): Likewise.
* print-tree.c (print_node): Only briefly print a node with an
invalid code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272150 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoImport these changes from the binutils/gdb repository:
nickc [Tue, 11 Jun 2019 12:05:49 +0000 (12:05 +0000)] 
Import these changes from the binutils/gdb repository:

2019-05-28  Nick Alcock  <nick.alcock@oracle.com>

* Makefile.def (dependencies): configure-libctf depends on all-bfd
and all its deps.
* Makefile.in: Regenerated.

2019-05-28  Nick Alcock  <nick.alcock@oracle.com>

* Makefile.def (host_modules): Add libctf.
* Makefile.def (dependencies): Likewise.
libctf depends on zlib, libiberty, and bfd.
* Makefile.in: Regenerated.
* configure.ac (host_libs): Add libctf.
* configure: Regenerated.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272148 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago2019-06-11 Richard Biener <rguenthe@suse.de>
rguenth [Tue, 11 Jun 2019 08:30:47 +0000 (08:30 +0000)] 
2019-06-11  Richard Biener  <rguenthe@suse.de>

d/90778
* toir.cc (pop_label): Only queue labels in a vector.
(cmp_labels): Label decl comparator.
(pop_binding_level): Pop labels in DECL_UID order to avoid
debug info differences.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272146 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago PR bootstrap/90819
jakub [Tue, 11 Jun 2019 08:20:02 +0000 (08:20 +0000)] 
PR bootstrap/90819
* trans-mem.c (tm_memopt_compute_available): Add assertion
that blocks is not empty.  Formatting fix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272145 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoDisable htable sanitization in pt.c (PR c++/87847).
marxin [Tue, 11 Jun 2019 07:55:19 +0000 (07:55 +0000)] 
Disable htable sanitization in pt.c (PR c++/87847).

2019-06-11  Martin Liska  <mliska@suse.cz>

PR c++/87847
* hash-table.h: Extend create_gcc, add one parameter
that is passed into hash_table::hash_table.
2019-06-11  Martin Liska  <mliska@suse.cz>

PR c++/87847
* pt.c (init_template_processing): Disable hash table
sanitization for decl_specializations and type_specializations.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272144 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago * libgcov-merge.c (__gcov_merge_single): Revert previous change.
jakub [Tue, 11 Jun 2019 07:54:17 +0000 (07:54 +0000)] 
* libgcov-merge.c (__gcov_merge_single): Revert previous change.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272143 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoDaily bump.
gccadmin [Tue, 11 Jun 2019 00:16:16 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272141 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago * config/i386/i386.md (absneg fp_reg splitter): Fix operator mode.
uros [Mon, 10 Jun 2019 21:51:42 +0000 (21:51 +0000)] 
* config/i386/i386.md (absneg fp_reg splitter): Fix operator mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272134 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago compiler: support inlining functions that use index expressions
ian [Mon, 10 Jun 2019 21:34:12 +0000 (21:34 +0000)] 
compiler: support inlining functions that use index expressions

    Also move the determine_types pass on an inlined function body to one
    place, rather than doing it ad hoc as needed.

    This adds 79 new inlinable functions in the standard library, such as
    bytes.HasPrefix and bytes.LastIndexByte.

    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/181261

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272133 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago compiler: make heap expression's write barrier conditional
ian [Mon, 10 Jun 2019 21:08:42 +0000 (21:08 +0000)] 
compiler: make heap expression's write barrier conditional

    Heap_expression::do_get_backend emits an unconditional write
    barrier if the type has pointers and it is not a stack allocation.
    This CL changes it to use a write barrier for the assignment only
    when write barriers are enabled. While here, also change it to
    call gcWriteBarrier instead of typedmemmove for pointer-shaped
    types.

    For this to work, Function::build needs to be adjusted so that
    Heap_expression::do_get_backend is called when there is a parent
    block.

    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/181540

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272132 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago compiler: permit inlining functions with labels and goto statements
ian [Mon, 10 Jun 2019 21:02:20 +0000 (21:02 +0000)] 
compiler: permit inlining functions with labels and goto statements

    This permits inlining functions with for loops and some switches, as
    they are lowered to if and goto statements before exporting them.

    This by itself only adds three new inlinable functions in the standard
    library: sort.Search, context.(*emptyCtx).String, and
    cmd/go/internal/work.(*Builder).disableBuildID.

    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/181197

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272131 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago compiler: use gcWriteBarrier for pointer-shaped struct/array
ian [Mon, 10 Jun 2019 20:35:14 +0000 (20:35 +0000)] 
compiler: use gcWriteBarrier for pointer-shaped struct/array

    If a struct/array is pointer-shaped (i.e. having a single field
    that is pointer-shaped), we can use gcWriteBarrier instead of
    typedmemmove for the write barrier.

    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/181539

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272130 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago PR c++/87250
mpolacek [Mon, 10 Jun 2019 20:35:00 +0000 (20:35 +0000)] 
PR c++/87250
* g++.dg/cpp0x/pr87250.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272129 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago * constexpr.c (free_constructor): New.
jason [Mon, 10 Jun 2019 19:32:34 +0000 (19:32 +0000)] 
* constexpr.c (free_constructor): New.

(cxx_eval_call_expression): Free parameter value CONSTRUCTORs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272127 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoReduce unsharing in constexpr call evaluation.
jason [Mon, 10 Jun 2019 19:32:30 +0000 (19:32 +0000)] 
Reduce unsharing in constexpr call evaluation.

* constexpr.c (unshare_constructor): Only unshare if T is itself a
CONSTRUCTOR.
(cxx_eval_call_expression): Don't call it on the result here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272126 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago Reduce constexpr_call memory consumption.
jason [Mon, 10 Jun 2019 19:31:49 +0000 (19:31 +0000)] 
Reduce constexpr_call memory consumption.

* constexpr.c (cxx_bind_parameters_in_call): Use TREE_VEC rather
than TREE_LIST.
(constexpr_call_hasher::equal, cxx_bind_parameters_in_call)
(cxx_eval_call_expression): Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272125 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago compiler: make escape analysis work with imported inlineable functions
ian [Mon, 10 Jun 2019 19:30:21 +0000 (19:30 +0000)] 
compiler: make escape analysis work with imported inlineable functions

    The escape analysis was written before we import inlineable
    function bodies, and in some places it skipped functions that are
    not in the local package. Now that there are imported function
    bodies, make the escape analysis work with them.

    Note that it is necessary for the escape analysis to run on
    imported function bodies, even if they are already tagged. The
    tags only have the information of the parameters (receiver,
    results), but not the internal nodes, e.g. local variables. We
    still need to do the analysis to get all the information. (In the
    future maybe we could export/import escape info for internal
    nodes also, then we don't need to redo the analysis.)

    Also add assertions to ensure that if we analyze the same
    function in multiple places, they'd better agree with each other.

    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/181537

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272124 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago * config/i386/i386-protos.h (ix86_split_fp_absneg_operator):
uros [Mon, 10 Jun 2019 19:17:57 +0000 (19:17 +0000)] 
* config/i386/i386-protos.h (ix86_split_fp_absneg_operator):
New prototype.
* config/i386/i386-expand.c (ix86_expand_fp_absneg_operator):
Emit clobber also for non-sse operations.
(ix86_split_fp_absneg_operator): New function.
* config/i386/i386.md (SSEMODEF): New mode iterator.
(ssevecmodef): New mode attribute.
(<code>tf2): Use absneg code iterator.
(*<code>tf2_1): Rename from *absnegtf3_sse. Use absneg code iterator.
Add three-operand AVX alternatives.
(*<code><mode>2_i387_1): Rename from *absnegxf2_i387.
Use absneg code iterator and X87MODEF mode iterator.
(absneg fp_reg non-sse splitter): Call absneg code iterator
and X87MODEF mode iterator.
(absneg general_reg non-sse splitter): Use absneg code iterator
and X87MODEF mode iterator.  Use ix86_split_fp_absneg_operator.
(*<code><mode>2_1): Rename from *absneg<mode>2.  Use absneg
code iterator.  Add three-operand AVX alternative.
(absneg sse_reg splitter): Use absneg code iterator
and SSEMODEF mode iterator.  Handle AVX operands.
(absneg fp_reg splitter): Use absneg code iterator
and MODEF mode iterator.
(absneg general_reg splitter): Merge splitters using MODEF mode
iterator.  Use absneg code iterator.  Call
ix86_split_fp_absneg_operator.
(*<code><mode>2_i387): Rename from *<code><mode>2_1.
Do not enable for non-sse modes before reload.
(CSGNMODE): Remove.
(CSGNVMODE): Ditto.
(copysing<mode>3): Use SSEMODEF instead of CSGNMODE and
ssevecmodef mode attribute instaed of CSGNVMODE.
(copysign<mode>3_const): Ditto.
(copysign<mode>3_var): Ditto.
* config/i386/i386.md (*<code><mode>2): Rename from *absneg<mode>2.
Use absneg code iterator.  Simplify code using std::swap.
* config/i386/predicates.md (absneg_operator): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272123 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago PR testsuite/90772
jakub [Mon, 10 Jun 2019 16:18:52 +0000 (16:18 +0000)] 
PR testsuite/90772
* g++.dg/cpp1y/feat-cxx14.C: Use std::size_t instead of size_t.
* g++.dg/cpp1z/feat-cxx1z.C: Likewise.
* g++.dg/cpp2a/feat-cxx2a.C: Likewise.
* g++.dg/cpp1z/pr85569.C: Include <functional>.
* g++.dg/tree-ssa/pr80293.C: Include <cstdint>.
* g++.dg/tree-ssa/pr69336.C: Include <stdexcept>.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272122 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoPR other/90695 reduce testcase to remove library dependency
redi [Mon, 10 Jun 2019 15:55:36 +0000 (15:55 +0000)] 
PR other/90695 reduce testcase to remove library dependency

This reproduces the original ICE fixed by r178857 (tested at r178852 and
r178860), without depending on a libstdc++ header that keeps changing.

The number of errors differs between C++14 and C++17 modes, so the fixed
test uses dg-excess-errors to match any number of them. The precise
errors aren't what's being tested for here anyway, the point of the test
is to verify the ICE in PR 50391 is fixed.

PR other/90695
* g++.dg/cpp0x/noexcept15.C: Remove dependency on library header.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272121 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agogcc/ChangeLog:
msebor [Mon, 10 Jun 2019 15:54:58 +0000 (15:54 +0000)] 
gcc/ChangeLog:

* gimple-fold.c (get_range_strlen): Update comment that didn't
make it into r267503 or related commits.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272120 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agogcov-tool: Mark {merge,rewrite}_usage with noreturn attribute
vlad [Mon, 10 Jun 2019 14:17:53 +0000 (14:17 +0000)] 
gcov-tool: Mark {merge,rewrite}_usage with noreturn attribute

2019-06-10  Vladislav Ivanishin  <vlad@ispras.ru>

* gcov-tool.c (merge_usage, rewrite_usage): Mark with
ATTRIBUTE_NORETURN thus making consistent with overlap_usage.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272119 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago * tree.def (OMP_SCAN): New tree code.
jakub [Mon, 10 Jun 2019 12:20:30 +0000 (12:20 +0000)] 
* tree.def (OMP_SCAN): New tree code.
* tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_INCLUSIVE and
OMP_CLAUSE_EXCLUSIVE.
* tree.h (OMP_CLAUSES): Use OMP_SCAN instead of OMP_TASKGROUP.
(OMP_SCAN_BODY, OMP_SCAN_CLAUSES): Define.
* tree.c (omp_clause_num_ops, omp_clause_code_name): Add entries for
OMP_CLAUSE_{IN,EX}CLUSIVE.
(walk_tree_1): Handle OMP_CLAUSE_{IN,EX}CLUSIVE.
* tree-nested.c (convert_nonlocal_reference_stmt,
convert_local_reference_stmt, convert_gimple_call): Handle
GIMPLE_OMP_SCAN.
* tree-pretty-print.c (dump_omp_clause): Handle
OMP_CLAUSE_{IN,EX}CLUSIVE.
(dump_generic_node): Handle OMP_SCAN.
* gimple.def (GIMPLE_OMP_SCAN): New gimple code.
* gimple.h (gomp_scan): New type.
(is_a_helper <gomp_scan *>::test,
is_a_helper <const gomp_scan *>::test): New templates.
(gimple_build_omp_scan): Declare.
(gimple_omp_scan_clauses, gimple_omp_scan_clauses_ptr,
gimple_omp_scan_set_clauses): New inline functions.
(CASE_GIMPLE_OMP): Add case GIMPLE_OMP_SCAN:.
* gimple.c (gimple_build_omp_scan): New function.
(gimple_copy): Handle GIMPLE_OMP_SCAN.
* gimple-walk.c (walk_gimple_op, walk_gimple_stmt): Likewise.
* gimple-pretty-print.c (dump_gimple_omp_block): Don't handle
GIMPLE_OMP_TASKGROUP.
(dump_gimple_omp_scan): New function.
(pp_gimple_stmt_1): Handle GIMPLE_OMP_SCAN.
* gimple-low.c (lower_stmt): Handle GIMPLE_OMP_SCAN.
* tree-inline.c (remap_gimple_stmt, estimate_num_insns): Likewise.
* gimplify.c (enum gimplify_omp_var_data): Add GOVD_REDUCTION_INSCAN.
(is_gimple_stmt): Handle OMP_SCAN.
(gimplify_scan_omp_clauses): Reject inscan reductions on constructs
other than OMP_FOR or OMP_SIMD.  Handle OMP_CLAUSE_{IN,EX}CLUSIVE.
(gimplify_adjust_omp_clauses): Diagnose inscan reductions not
mentioned in nested #pragma omp scan.  Handle
OMP_CLAUSE_{IN,EX}CLUSIVE.
(gimplify_expr): Handle OMP_SCAN.
* omp-low.c (check_omp_nesting_restrictions): For parent context,
look through GIMPLE_OMP_SCAN context.  Allow #pragma omp scan in
simd constructs.
(scan_omp_1_stmt, lower_omp_1, diagnose_sb_1, diagnose_sb_2): Handle
GIMPLE_OMP_SCAN.
c-family/
* c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCAN.
* c-pragma.c (omp_pragmas_simd): Add #pragma omp scan.
* c-omp.c (c_omp_split_clauses): Diagnose inscan reductions on
combined/composite constructs where it is not allowed.  Copy over
OMP_CLAUSE_REDUCTION_INSCAN.
c/
* c-parser.c (c_parser_pragma): Reject PRAGMA_OMP_SCAN.
(c_parser_omp_clause_reduction): Don't sorry_at on inscan reductions.
(c_parser_omp_scan_loop_body): New function.
(c_parser_omp_for_loop): Call c_parser_omp_scan_loop_body if there are
inscan reduction clauses.
* c-typeck.c (c_finish_omp_clauses): Reject mixing inscan with
non-inscan reductions on the same construct, or inscan reductions with
ordered or schedule clauses, or inscan array reductions.
cp/
* parser.c (cp_parser_omp_clause_reduction): Don't sorry_at on inscan
reductions.
(cp_parser_omp_scan_loop_body): New function.
(cp_parser_omp_for_loop): Call cp_parser_omp_scan_loop_body if there
are inscan reduction clauses.
(cp_parser_pragma): Reject PRAGMA_OMP_SCAN.
* semantics.c (finish_omp_clauses): Reject mixing inscan with
non-inscan reductions on the same construct, or inscan reductions with
ordered or schedule clauses, or inscan array reductions.
* pt.c (tsubst_omp_clauses): Handle OMP_CLAUSE_{IN,EX}CLUSIVE.
(tsubst_expr): Handle OMP_SCAN.
testsuite/
* c-c++-common/gomp/scan-1.c: New test.
* c-c++-common/gomp/scan-2.c: New test.
* c-c++-common/gomp/scan-3.c: New test.
* c-c++-common/gomp/scan-4.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272117 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoUpdate __gcov_* scanned function name in a test-case.
marxin [Mon, 10 Jun 2019 11:28:49 +0000 (11:28 +0000)] 
Update __gcov_* scanned function name in a test-case.

2019-06-10  Martin Liska  <mliska@suse.cz>

* gcc.dg/no_profile_instrument_function-attr-1.c: Fix
function name.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272116 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoReduce SCCs in IPA postorder.
marxin [Mon, 10 Jun 2019 11:07:24 +0000 (11:07 +0000)] 
Reduce SCCs in IPA postorder.

2019-06-10  Martin Liska  <mliska@suse.cz>

* ipa-cp.c (ignore_edge_p): New function.
(build_toporder_info): Use it.
* ipa-inline.c (ignore_edge_p): New function/
(inline_small_functions): Use it.
* ipa-pure-const.c (ignore_edge_for_nothrow):
Verify opt_for_fn for caller and callee.
(ignore_edge_for_pure_const): Likewise.
* ipa-reference.c (ignore_edge_p): Extend to check
for opt_for_fn.
* ipa-utils.c (searchc): Refactor.
* ipa-utils.h: Fix coding style.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272115 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoAdd missing ATTR_UNUSED (PR bootstrap/90808).
marxin [Mon, 10 Jun 2019 09:53:46 +0000 (09:53 +0000)] 
Add missing ATTR_UNUSED (PR bootstrap/90808).

2019-06-10  Martin Liska  <mliska@suse.cz>

PR bootstrap/90808
* libgcov.h: Add ATTRIBUTE_UNUSED.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272114 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago[ARC] Update RTX costs.
claziss [Mon, 10 Jun 2019 08:25:37 +0000 (08:25 +0000)] 
[ARC] Update RTX costs.

Update RTX costs to reflect better the ARC architecture.

gcc/
xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc.c (arc_rtx_costs): Update costs.

/gcc/testsuite
xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>

* gcc.target/arc/jumptables.c: Update test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272113 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago[ARC] Improve code gen when compiling for size
claziss [Mon, 10 Jun 2019 08:25:25 +0000 (08:25 +0000)] 
[ARC] Improve code gen when compiling for size

When optimizing for size, try to avoid using long immediate by
employing alternative instructions.

gcc/
xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>

        * config/arc/arc-protos.h (arc_check_ior_const): Declare.
        (arc_split_ior): Likewise.
        (arc_check_mov_const): Likewise.
        (arc_split_mov_const): Likewise.
        * config/arc/arc.c (arc_print_operand): Fix 'z' letter.
        (arc_rtx_costs): Replace check Crr with Cax constraint.
        (prepare_move_operands): Cleanup, remove unused code.
        (arc_split_ior): New function.
        (arc_check_ior_const): Likewise.
        (arc_split_mov_const): Likewise.
        (arc_check_mov_const): Likewise.
        * config/arc/arc.md (movsi_insn): Restructure it, and convert it
        in define_insn_and_split pattern.
        (iorsi3): Likewise.
        (mulsi3_v2): Add new matching variant.
        (andsi3_i): Cleanup pattern.
        (rotrsi3_cnt1): Update pattern.
        (rotrsi3_cnt8): New pattern.
        (ashlsi2_cnt8): Likewise.
        (ashlsi2_cnt16): Likewise.
        * config/arc/constraints.md (C0p): Update constraint.
        (Crr): Remove it.
        (C0x): New pattern.
        (Cax): New pattern.

testsuite/
xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>

        * gcc.target/arc/and-cnst-size.c: New test.
        * gcc.target/arc/mov-cnst-size.c: Likewise.
        * gcc.target/arc/or-cnst-size.c: Likewise.
        * gcc.target/arc/store-merge-1.c: Update test.
        * gcc.target/arc/arc700-stld-hazard.c: Likewise.
        * gcc.target/arc/cmem-1.c: Likewise.
        * gcc.target/arc/cmem-2.c: Likewise.
        * gcc.target/arc/cmem-3.c: Likewise.
        * gcc.target/arc/cmem-4.c: Likewise.
        * gcc.target/arc/cmem-5.c: Likewise.
        * gcc.target/arc/cmem-6.c: Likewise.
        * gcc.target/arc/loop-4.c: Likewise.
        * gcc.target/arc/movh_cl-1.c: Likewise.
        * gcc.target/arc/sdata-3.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272112 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoIPA ICF: enhance dump about items in a non-singular class.
marxin [Mon, 10 Jun 2019 07:43:11 +0000 (07:43 +0000)] 
IPA ICF: enhance dump about items in a non-singular class.

2019-06-10  Martin Liska  <mliska@suse.cz>

* ipa-icf.c (sem_item_optimizer::parse_nonsingleton_classes):
Update coding style.
(sem_item_optimizer::dump_cong_classes):
Print how many items are in a non-singular class.  Improve
coding style.
2019-06-10  Martin Liska  <mliska@suse.cz>

* gcc.dg/ipa/pr68035.c: Update scanned pattern.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272111 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoAdd warn_unused_result attribute for memory-related functions in libiberty.
marxin [Mon, 10 Jun 2019 07:42:43 +0000 (07:42 +0000)] 
Add warn_unused_result attribute for memory-related functions in libiberty.

2019-06-10  Martin Liska  <mliska@suse.cz>

* ansidecl.h (ATTRIBUTE_WARN_UNUSED_RESULT): New macro.
* libiberty.h (xmalloc): Use it.
(xrealloc): Likewise.
(xcalloc): Likewise.
(xstrdup): Likewise.
(xstrndup): Likewise.
(xmemdup): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272110 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoAdd alloc_size for libiberty memory allocation functions.
marxin [Mon, 10 Jun 2019 07:42:22 +0000 (07:42 +0000)] 
Add alloc_size for libiberty memory allocation functions.

2019-06-10  Martin Liska  <mliska@suse.cz>

* ansidecl.h:
(ATTRIBUTE_RESULT_SIZE_1): Define new macro.
(ATTRIBUTE_RESULT_SIZE_2): Likewise.
(ATTRIBUTE_RESULT_SIZE_1_2): Likewise.
* libiberty.h (xmalloc): Add RESULT_SIZE attribute.
(xrealloc): Likewise.
(xcalloc): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272109 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoUpdate a bit dump format.
marxin [Mon, 10 Jun 2019 07:39:34 +0000 (07:39 +0000)] 
Update a bit dump format.

2019-06-10  Martin Liska  <mliska@suse.cz>

* value-prof.c (dump_histogram_value): Change dump format.
(gimple_mod_subtract_transform): Remove legacy comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272108 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoDump histograms only if present.
marxin [Mon, 10 Jun 2019 07:39:20 +0000 (07:39 +0000)] 
Dump histograms only if present.

2019-06-10  Martin Liska  <mliska@suse.cz>

* value-prof.c (dump_histogram_value): Print histogram values
only if present.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272107 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoImplement N disk counters for single value and indirect call counters.
marxin [Mon, 10 Jun 2019 07:38:59 +0000 (07:38 +0000)] 
Implement N disk counters for single value and indirect call counters.

2019-06-10  Martin Liska  <mliska@suse.cz>

* gcov-io.h (GCOV_DISK_SINGLE_VALUES): New.
(GCOV_SINGLE_VALUE_COUNTERS): Likewise.
* ipa-profile.c (ipa_profile_generate_summary):
Use get_most_common_single_value.
* tree-profile.c (gimple_init_gcov_profiler):
Instrument with __gcov_one_value_profiler_v2
and __gcov_indirect_call_profiler_v4.
* value-prof.c (dump_histogram_value):
Print all values for HIST_TYPE_SINGLE_VALUE.
(stream_out_histogram_value): Update assert for
N values.
(stream_in_histogram_value): Set number of
counters for HIST_TYPE_SINGLE_VALUE.
(get_most_common_single_value): New.
(gimple_divmod_fixed_value_transform):
Use get_most_common_single_value.
(gimple_ic_transform): Likewise.
(gimple_stringops_transform): Likewise.
(gimple_find_values_to_profile): Set number
of counters for HIST_TYPE_SINGLE_VALUE.
* value-prof.h (get_most_common_single_value):
New.
2019-06-10  Martin Liska  <mliska@suse.cz>

* Makefile.in: Add __gcov_one_value_profiler_v2,
__gcov_one_value_profiler_v2_atomic and
__gcov_indirect_call_profiler_v4.
* libgcov-merge.c (__gcov_merge_single): Change
function signature.
(merge_single_value_set): New.
* libgcov-profiler.c (__gcov_one_value_profiler_body):
Update functionality.
(__gcov_one_value_profiler): Remove.
(__gcov_one_value_profiler_v2): ... this.
(__gcov_one_value_profiler_atomic): Rename to ...
(__gcov_one_value_profiler_v2_atomic): this.
(__gcov_indirect_call_profiler_v3): Rename to ...
(__gcov_indirect_call_profiler_v4): ... this.
* libgcov.h (__gcov_one_value_profiler): Remove.
(__gcov_one_value_profiler_atomic): Remove.
(__gcov_one_value_profiler_v2_atomic): New.
(__gcov_indirect_call_profiler_v3): Remove.
(__gcov_one_value_profiler_v2): New.
(__gcov_indirect_call_profiler_v4): New.
(gcov_get_counter_ignore_scaling): New function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272106 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agotestsuite - Require alias support in a test using it.
iains [Mon, 10 Jun 2019 07:04:55 +0000 (07:04 +0000)] 
testsuite - Require alias support in a test using it.

2019-06-10  Iain Sandoe  <iain@sandoe.co.uk>

* gcc.dg/attr-copy-6.c: Require alias support.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272105 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoFix build with --enable-gather-detailed-mem-stats.
marxin [Mon, 10 Jun 2019 07:04:39 +0000 (07:04 +0000)] 
Fix build with --enable-gather-detailed-mem-stats.

2019-06-10  Martin Liska  <mliska@suse.cz>

* hash-map.h: Pass default value to hash_table ctor.
* hash-table.h: Add default value to call of a ctor.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272104 138bc75d-0d04-0410-961f-82ee72b054a4

4 years agoDaily bump.
gccadmin [Mon, 10 Jun 2019 00:16:22 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272102 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago PR c++/65175
mpolacek [Sun, 9 Jun 2019 23:18:28 +0000 (23:18 +0000)] 
PR c++/65175
* g++.dg/cpp0x/alias-decl-69.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272098 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago PR c++/60366
mpolacek [Sun, 9 Jun 2019 15:41:07 +0000 (15:41 +0000)] 
PR c++/60366
* g++.dg/cpp0x/lambda/lambda-ice32.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272092 138bc75d-0d04-0410-961f-82ee72b054a4

4 years ago2019-06-09 Paul Thomas <pault@gcc.gnu.org>
pault [Sun, 9 Jun 2019 09:43:37 +0000 (09:43 +0000)] 
2019-06-09  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/89365
* gfortran.dg/assumed_rank_bounds_3.f90 : New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272090 138bc75d-0d04-0410-961f-82ee72b054a4