]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
8 years agoShare mingw fset-stack-executable with cygwin
jyong [Mon, 7 Aug 2017 11:40:08 +0000 (11:40 +0000)] 
Share mingw fset-stack-executable with cygwin

This patch is in use by Cygwin for years, upstream to GCC.

* gcc/config/i386/mingw.opt (fset-stack-executable): Removed.
* gcc/config/i386/cygming.opt (fset-stack-executable): Moved
from mingw.opt.
* gcc/config/i386/cygwin.h: Define CHECK_EXECUTE_STACK_ENABLED.
* ligcc/config.host (*-cygwin): Include file from mingw
config/i386/enable-execute-stack-mingw32.c

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

8 years agoprint-rtl: NOT is ~, not !
segher [Mon, 7 Aug 2017 10:21:32 +0000 (10:21 +0000)] 
print-rtl: NOT is ~, not !

Slim RTL dumps print the RTL code NOT as !, but that is misleading:
its semantics are like the C operator ~.  This fixes it.

* print-rtl.c (print_exp): Print NOT as "~" instead of as "!".

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

8 years ago PR middle-end/81737
mpolacek [Mon, 7 Aug 2017 09:13:02 +0000 (09:13 +0000)] 
PR middle-end/81737
* fold-const.c (fold_indirect_ref_1): Check type_domain.

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

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

8 years agoCanonicalize names of attributes.
marxin [Mon, 7 Aug 2017 08:37:07 +0000 (08:37 +0000)] 
Canonicalize names of attributes.

2017-08-07  Martin Liska  <mliska@suse.cz>

* attribs.h (canonicalize_attr_name): New function.
(cmp_attribs): Move from c-format.c and adjusted.
(is_attribute_p): Moved from tree.h.
* tree-inline.c: Add new includes.
* tree.c (cmp_attrib_identifiers): Use cmp_attribs.
(private_is_attribute_p): Remove.
(private_lookup_attribute): Likewise.
(private_lookup_attribute_by_prefix): Simplify.
(remove_attribute): Use is_attribute_p.
* tree.h: Remove removed declarations.
2017-08-07  Martin Liska  <mliska@suse.cz>

* array-notation-common.c: Add new includes.
* c-format.c( handle_format_attribute): Canonicalize a format
function name.
* c-lex.c (c_common_has_attribute): Canonicalize name of an
attribute.
* c-pretty-print.c: Add new include.
2017-08-07  Martin Liska  <mliska@suse.cz>

* parser.c (cp_parser_gnu_attribute_list): Canonicalize name of an
attribute.
(cp_parser_std_attribute): Likewise.
* tree.c: Add new include.
2017-08-07  Martin Liska  <mliska@suse.cz>

* c-parser.c (c_parser_attributes): Canonicalize name of an
attribute.
2017-08-07  Martin Liska  <mliska@suse.cz>

* go-gcc.cc (Gcc_backend::function): Look up for no_split_stack
and not __no_split_stack__.
2017-08-07  Martin Liska  <mliska@suse.cz>

* g++.dg/cpp0x/pr65558.C: Update scanned pattern.
* gcc.dg/parm-impl-decl-1.c: Likewise.
* gcc.dg/parm-impl-decl-3.c: Likewise.
* gcc.dg/Wattributes-5.c: New test.

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

8 years ago * include/system/sys/ptrace.h: New file.
jakub [Mon, 7 Aug 2017 08:32:47 +0000 (08:32 +0000)] 
* include/system/sys/ptrace.h: New file.

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

8 years ago PR middle-end/81698
jakub [Mon, 7 Aug 2017 08:29:21 +0000 (08:29 +0000)] 
PR middle-end/81698
* stmt.c (emit_case_dispatch_table): Add DEFAULT_EDGE argument,
instead of computing it in the function.  Formatting fix.
(expand_case): Don't rely on default_edge being the first edge,
clear it if removing it, pass default_edge to
emit_case_dispatch_table.
(expand_sjlj_dispatch_table): Pass NULL as DEFAULT_EDGE, formatting
fix.

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

8 years agoDaily bump.
gccadmin [Mon, 7 Aug 2017 00:16:37 +0000 (00:16 +0000)] 
Daily bump.

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

8 years ago2017-08-06 Andrew Pinski <apinski@cavium.com>
pinskia [Sun, 6 Aug 2017 19:04:57 +0000 (19:04 +0000)] 
2017-08-06  Andrew Pinski  <apinski@cavium.com>

        * gcc.target/aarch64/target_attr_10.c: Add -mcpu=generic.
        * gcc.target/aarch64/target_attr_13.c: LIkewise.
        * gcc.target/aarch64/target_attr_15.c: LIkewise.
        * gcc.target/aarch64/target_attr_4.c: Likewise.
        * gcc.target/aarch64/target_attr_1.c: Add -march=armv8-a.
        * gcc.target/aarch64/target_attr_2.c: Likewise.
        * gcc.target/aarch64/target_attr_7.c: Likewise.
        * gcc.target/aarch64/target_attr_crypto_ice_1.c: Likewise.
        * gcc.target/aarch64/target_attr_crypto_ice_2.c: Likewise.
        * gcc.target/aarch64/target_attr_3.c: Add -mcpu=generic -march=armv8-a.

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

8 years ago2017-08-06 Andrew Pinski <apinski@cavium.com>
pinskia [Sun, 6 Aug 2017 18:10:58 +0000 (18:10 +0000)] 
2017-08-06  Andrew Pinski  <apinski@cavium.com>

        * gcc.target/aarch64/atomic_cmp_exchange_zero_reg_1.c: Pass
        -march=armv8-a+nolse, skip if -mcpu= is passed.
        * gcc.target/aarch64/atomic_cmp_exchange_zero_strong_1.c: Likewise.

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

8 years ago2017-08-06 Andrew Pinski <apinski@cavium.com>
pinskia [Sun, 6 Aug 2017 17:47:03 +0000 (17:47 +0000)] 
2017-08-06  Andrew Pinski  <apinski@cavium.com>

        * gcc.target/aarch64/_Float16_1.c: Skip if supplied a -mcpu= option.
        * gcc.target/aarch64/_Float16_2.c: Likewise.
        * gcc.target/aarch64/_Float16_3.c: Likewise.

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

8 years ago * config/alpha/alpha.c (alpha_reorg): If trap is the last active
uros [Sun, 6 Aug 2017 15:48:37 +0000 (15:48 +0000)] 
* config/alpha/alpha.c (alpha_reorg): If trap is the last active
insn in the function, emit NOP after the insn.

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

8 years agoAdd missing edge probabilities in expand_oacc_for, tile case
vries [Sun, 6 Aug 2017 09:56:38 +0000 (09:56 +0000)] 
Add missing edge probabilities in expand_oacc_for, tile case

 ;;   basic block 11, loop depth 2, freq 0, maybe hot
 ;;    prev block 22, next block 23, flags: (NEW, REACHABLE)
 ;;    pred:       22 (TRUE_VALUE)
 ;;                24 (TRUE_VALUE)
   ...
   if (.e_offset.15D.1971 < .e_bound.14D.1972)
-    goto <bb 23>; [100.00%] [count: INV]
+    goto <bb 23>; [80.01%] [count: INV]
   else
-    goto <bb 24>; [INV] [count: INV]
+    goto <bb 24>; [19.99%] [count: INV]

 ;;   basic block 23, loop depth 3, freq 0, maybe hot
 ;;    prev block 11, next block 24, flags: (NEW)
 ;;    pred:       11 [always]  (TRUE_VALUE)
 ;;                23 (TRUE_VALUE)
   ixD.1974 = .outer.4D.1967 + .e_offset.15D.1971;
   .e_offset.15D.1971 = .e_offset.15D.1971 + .e_step.16D.1973;
   if (.e_offset.15D.1971 < .e_bound.14D.1972)
-    goto <bb 23>; [INV] [count: INV]
+    goto <bb 23>; [80.01%] [count: INV]
   else
-    goto <bb 24>; [100.00%] [count: INV]
+    goto <bb 24>; [19.99%] [count: INV]

2017-08-06  Tom de Vries  <tom@codesourcery.com>

* omp-expand.c (expand_oacc_for): Add missing edge probability for tile
and element loops.

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

8 years agoAdd missing edge probability in expand_oacc_for
vries [Sun, 6 Aug 2017 09:56:25 +0000 (09:56 +0000)] 
Add missing edge probability in expand_oacc_for

 ;;   basic block 10, loop depth 1, freq 0, maybe hot
 ;;    prev block 9, next block 19, flags: (NEW, REACHABLE)
 ;;    pred:       18 (FALSE_VALUE)
 ;;                9 (FALSE_VALUE)
   GIMPLE_NOP
   .chunk_no.7D.1948 = .chunk_no.7D.1948 + 1;
   if (.chunk_no.7D.1948 < .chunk_max.6D.1949)
-    goto <bb 18>; [INV] [count: INV]
+    goto <bb 18>; [80.01%] [count: INV]
   else
-    goto <bb 19>; [100.00%] [count: INV]
+    goto <bb 19>; [19.99%] [count: INV]

2017-08-06  Tom de Vries  <tom@codesourcery.com>

* omp-expand.c (expand_oacc_for): Add missing edge probability for chunk
loop.

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

8 years agoRequire nonlocal_goto for gcc.dg/pr78582.c
vries [Sun, 6 Aug 2017 08:26:24 +0000 (08:26 +0000)] 
Require nonlocal_goto for gcc.dg/pr78582.c

2017-08-06  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/pr78582.c: Require effective target nonlocal_goto.

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

8 years agoFix my_memmove in gcc.c-torture/execute/builtins/memops-asm-lib.c
vries [Sun, 6 Aug 2017 08:26:12 +0000 (08:26 +0000)] 
Fix my_memmove in gcc.c-torture/execute/builtins/memops-asm-lib.c

2017-08-06  Tom de Vries  <tom@codesourcery.com>

* gcc.c-torture/execute/builtins/memops-asm-lib.c (my_memmove):  Fix return
type.  Add missing return.

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

8 years agoFix call arguments mismatch in gcc.dg/torture/pr78218.c
vries [Sun, 6 Aug 2017 07:54:29 +0000 (07:54 +0000)] 
Fix call arguments mismatch in gcc.dg/torture/pr78218.c

2017-08-06  Tom de Vries  <tom@codesourcery.com>

PR testsuite/81731
* gcc.dg/torture/pr78218.c (struct v): New type, factored type out of
variable 'a' definition.
(b): Remove unused variable.
(gp): New variable.
(check): Add parameter corresponding to call in main, and handle.

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

8 years agoDaily bump.
gccadmin [Sun, 6 Aug 2017 00:16:54 +0000 (00:16 +0000)] 
Daily bump.

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

8 years ago * c-ada-spec.c (has_static_fields): Look only into variables.
ebotcazou [Sat, 5 Aug 2017 22:00:41 +0000 (22:00 +0000)] 
* c-ada-spec.c (has_static_fields): Look only into variables.
(print_constructor): Add TYPE parameter and use it for the name.
(print_destructor): Likewise.
(print_ada_declaration): Adjust to new constructor/destructor names.
Adjust calls to print_constructor and print_destructor.
(print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
Look only into variables in the final loop.

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

8 years agoDaily bump.
gccadmin [Sat, 5 Aug 2017 00:16:30 +0000 (00:16 +0000)] 
Daily bump.

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

8 years agoRegenerate .pot files.
jsm28 [Fri, 4 Aug 2017 22:21:23 +0000 (22:21 +0000)] 
Regenerate .pot files.

gcc/po:
* gcc.pot: Regenerate.

libcpp/po:
* cpplib.pot: Regenerate.

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

8 years ago/cp
paolo [Fri, 4 Aug 2017 22:15:48 +0000 (22:15 +0000)] 
/cp
2017-08-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/79790
* pt.c (do_class_deduction): Handle the case of no viable implicit
deduction guides; simplify the code generating implicit deduction
guides.

/testsuite
2017-08-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/79790
* g++.dg/cpp1z/class-deduction42.C: New.

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

8 years ago/cp
paolo [Fri, 4 Aug 2017 22:13:46 +0000 (22:13 +0000)] 
/cp
2017-08-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/79790
* pt.c (do_class_deduction): Handle the case of no viable implicit
deduction guides; simplify the code generating implicit deduction
guides.

/testsuite
2017-08-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/79790
* g++.dg/cpp1z/class-deduction42.C: New.

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

8 years agoRemove useless floating point casts in comparisons.
ygribov [Fri, 4 Aug 2017 20:29:12 +0000 (20:29 +0000)] 
Remove useless floating point casts in comparisons.

2017-08-04  Yury Gribov  <tetra2005@gmail.com>

PR tree-optimization/57371

gcc/
* match.pd: New pattern.

gcc/testsuite/
* c-c++-common/pr57371-1.c: New test.
* c-c++-common/pr57371-2.c: New test.
* c-c++-common/pr57371-3.c: New test.
* c-c++-common/pr57371-4.c: New test.
* gcc.dg/pr57371-5.c: New test.

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

8 years agogcc/testsuite/ChangeLog:
carll [Fri, 4 Aug 2017 18:39:30 +0000 (18:39 +0000)] 
gcc/testsuite/ChangeLog:

2017-08-04  Carl Love  <cel@us.ibm.com>

* gcc.target/powerpc/builtins-3.c: Remove ISA 3.0 word variant
builtin test cases for vec_mule, and vec_mulo.
* gcc.target/powerpc/builtins-3-p8.c: Add  ISA 3.0 word variant
builtin test cases for vec_mule, and vec_mulo.

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

8 years agoi386: Rewrite check for AVX512 features
hjl [Fri, 4 Aug 2017 17:48:57 +0000 (17:48 +0000)] 
i386: Rewrite check for AVX512 features

Add a new file, avx512-check.h, to check all AVX512 features.  The test
is skipped if any requested AVX512 features are unavailable.

PR target/81590
* gcc.target/i386/avx512-check.h: New file.
* gcc.target/i386/avx5124fmaps-check.h: Removed.
* gcc.target/i386/avx5124vnniw-check.h: Likewise.
* gcc.target/i386/avx512cd-check.h: Likewise.
* gcc.target/i386/avx512ifma-check.h: Likewise.
* gcc.target/i386/avx512vbmi-check.h: Likewise.
* gcc.target/i386/avx512vpopcntdq-check.h: Likewise.
* gcc.target/i386/avx512bw-check.h: Rewrite.
* gcc.target/i386/avx512dq-check.h: Likewise.
* gcc.target/i386/avx512er-check.h: Likewise.
* gcc.target/i386/avx512f-check.h: Likewise.
* gcc.target/i386/avx512vl-check.h: Likewise.
* gcc.target/i386/avx512f-helper.h: Include "avx512-check.h"
only.
(test_512): Removed.
(avx512*_test): Likewise.
* gcc.target/i386/avx512f-pr71559.c (TEST): Undef.

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

8 years agoFix PR 81713
visit0r [Fri, 4 Aug 2017 15:50:14 +0000 (15:50 +0000)] 
Fix PR 81713
 * brigfrontend/brig-basic-inst-handler.cc: replace build_int_cst with
   bitsize_int in building BIT_FIELD_REF.
 * brigfrontend/brig-code-entry-handler.cc: likewise.

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

8 years ago runtime: dump registers for Alpha
ian [Fri, 4 Aug 2017 13:46:39 +0000 (13:46 +0000)] 
runtime: dump registers for Alpha

    Patch from Uros Bizjak.

    Reviewed-on: https://go-review.googlesource.com/53350

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

8 years ago PR middle-end/81695
mpolacek [Fri, 4 Aug 2017 11:28:04 +0000 (11:28 +0000)] 
PR middle-end/81695
* fold-const.c (fold_indirect_ref_1): For ((int *)&a + 4 -> a[1],
perform the computation in offset_int.

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

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

8 years agoPool alignment information for common bases
rsandifo [Fri, 4 Aug 2017 10:42:53 +0000 (10:42 +0000)] 
Pool alignment information for common bases

This patch is a follow-on to the fix for PR81136.  The testcase for that
PR shows that we can (correctly) calculate different base alignments
for two data_references but still tell that their misalignments wrt the
vector size are equal.  This is because we calculate the base alignments
for each dr individually, without looking at the other drs, and in
general the alignment we calculate is only guaranteed if the dr's DR_REF
actually occurs.

This is working as designed, but it does expose a missed opportunity.
We know that if a vectorised loop is reached, all statements in that
loop execute at least once, so it should be safe to pool the alignment
information for all the statements we're vectorising.  The only catch is
that DR_REFs for masked loads and stores only occur if the mask value is
nonzero.  For example, in:

    struct s __attribute__((aligned(32))) {
      int misaligner;
      int array[N];
    };

    int *ptr;
    for (int i = 0; i < n; ++i)
      ptr[i] = c[i] ? ((struct s *) (ptr - 1))->array[i] : 0;

we can only guarantee that ptr points to a "struct s" if at least
one c[i] is true.

This patch adds a DR_IS_CONDITIONAL_IN_STMT flag to record whether
the DR_REF is guaranteed to occur every time that the statement
executes to completion.  It then pools the alignment information
for references that aren't conditional in this sense.

2017-08-04  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
PR tree-optimization/81136
* tree-vectorizer.h: Include tree-hash-traits.h.
(vec_base_alignments): New typedef.
(vec_info): Add a base_alignments field.
(vect_record_base_alignments): Declare.
* tree-data-ref.h (data_reference): Add an is_conditional_in_stmt
field.
(DR_IS_CONDITIONAL_IN_STMT): New macro.
(create_data_ref): Add an is_conditional_in_stmt argument.
* tree-data-ref.c (create_data_ref): Likewise.  Use it to initialize
the is_conditional_in_stmt field.
(data_ref_loc): Add an is_conditional_in_stmt field.
(get_references_in_stmt): Set the is_conditional_in_stmt field.
(find_data_references_in_stmt): Update call to create_data_ref.
(graphite_find_data_references_in_stmt): Likewise.
* tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Likewise.
* tree-vect-data-refs.c (vect_analyze_data_refs): Likewise.
(vect_record_base_alignment): New function.
(vect_record_base_alignments): Likewise.
(vect_compute_data_ref_alignment): Adjust base_addr and aligned_to
for nested statements even if we fail to compute a misalignment.
Use pooled base alignments for unconditional references.
(vect_find_same_alignment_drs): Compare base addresses instead
of base objects.
(vect_analyze_data_refs_alignment): Call vect_record_base_alignments.
* tree-vect-slp.c (vect_slp_analyze_bb_1): Likewise.

gcc/testsuite/
PR tree-optimization/81136
* gcc.dg/vect/pr81136.c: Add scan test.

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

8 years agoC++-ify vec_info structures
rsandifo [Fri, 4 Aug 2017 10:41:12 +0000 (10:41 +0000)] 
C++-ify vec_info structures

This patch uses new, delete, constructors and desctructors to manage
vec_info.  This includes making ~vec_info free all the data shared
by bb_vec_info and loop_vec_info, whereas previously the code was
duplicated in destroy_bb_vec_info and destroy_loop_vec_info.  This
in turn meant changing the order of:

  FOR_EACH_VEC_ELT (slp_instances, i, instance)
    vect_free_slp_instance (instance);

and:

  gimple_set_uid (stmt, -1);

in destroy_bb_vec_info/~_bb_vec_info, so that now vect_free_slp_instance
could see a uid of -1 as well as 0.  The patch updates vinfo_for_stmt
so that it returns NULL for a uid of -1.

2017-08-04  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
* tree-vectorizer.h (vec_info): Add a constructor and destructor.
Add an explicit name for the enum.  Use auto_vec for slp_instances
and grouped_stores.
(_loop_vec_info): Add a constructor and destructor.  Use auto_vec
for all vectors.
(_bb_vec_info): Add a constructor and destructor.
(vinfo_for_stmt): Return NULL for uids of -1 as well.
(destroy_loop_vec_info): Delete.
(vect_destroy_datarefs): Likewise.
* tree-vectorizer.c (vect_destroy_datarefs): Delete.
(vec_info::vec_info): New function.
(vec_info::~vec_info): Likewise.
(vectorize_loops): Use delete instead of destroy_loop_vec_info.
* tree-parloops.c (gather_scalar_reductions): Use delete instead of
destroy_loop_vec_info.
* tree-vect-loop.c (new_loop_vec_info): Replace with...
(_loop_vec_info::_loop_vec_info): ...this.
(destroy_loop_vec_info): Replace with...
(_loop_vec_info::~_loop_vec_info): ...this.  Unconditionally delete
the stmt_vec_infos.  Leave handling of vec_info information to its
destructor.  Remove explicit vector releases.
(vect_analyze_loop_form): Use new instead of new_loop_vec_info.
(vect_analyze_loop): Use delete instead of destroy_loop_vec_info.
* tree-vect-slp.c (new_bb_vec_info): Replace with...
(_bb_vec_info::_bb_vec_info): ...this.  Don't reserve space in
BB_VINFO_GROUPED_STORES or BB_VINFO_SLP_INSTANCES.
(destroy_bb_vec_info): Replace with...
(_bb_vec_info::~_bb_vec_info): ...this.  Leave handling of vec_info
information to its destructor.
(vect_slp_analyze_bb_1): Use new and delete instead of
new_bb_vec_info and destroy_bb_vec_info.
(vect_slp_bb): Replace 2 calls to destroy_bb_vec_info with a
single delete.

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

8 years agoUse base inequality for some vector alias checks
rsandifo [Fri, 4 Aug 2017 10:40:35 +0000 (10:40 +0000)] 
Use base inequality for some vector alias checks

This patch checks whether two data references x and y cannot
partially overlap and so are independent whenever &x != &y.
We can then use this in the vectoriser to optimise alias checks.

gcc/
2016-08-04  Richard Sandiford  <richard.sandiford@linaro.org>

* hash-traits.h (pair_hash): New struct.
* tree-data-ref.h (data_dependence_relation): Add object_a and
object_b fields.
(DDR_OBJECT_A, DDR_OBJECT_B): New macros.
* tree-data-ref.c (initialize_data_dependence_relation): Initialize
DDR_OBJECT_A and DDR_OBJECT_B.
* tree-vectorizer.h (vec_object_pair): New type.
(_loop_vec_info): Add a check_unequal_addrs field.
(LOOP_VINFO_CHECK_UNEQUAL_ADDRS): New macro.
(LOOP_REQUIRES_VERSIONING_FOR_ALIAS): Return true if there is an
entry in check_unequal_addrs.  Check comp_alias_ddrs instead of
may_alias_ddrs.
* tree-vect-loop.c (destroy_loop_vec_info): Release
LOOP_VINFO_CHECK_UNEQUAL_ADDRS.
(vect_analyze_loop_2): Likewise, when restarting.
(vect_estimate_min_profitable_iters): Estimate the cost of
LOOP_VINFO_CHECK_UNEQUAL_ADDRS.
* tree-vect-data-refs.c: Include tree-hash-traits.h.
(vect_prune_runtime_alias_test_list): Try to handle conflicts
using LOOP_VINFO_CHECK_UNEQUAL_ADDRS, if the data dependence allows.
Count such tests in the final summary.
* tree-vect-loop-manip.c (chain_cond_expr): New function.
(vect_create_cond_for_align_checks): Use it.
(vect_create_cond_for_unequal_addrs): New function.
(vect_loop_versioning): Call it.

gcc/testsuite/
* gcc.dg/vect/vect-alias-check-6.c: New test.

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

8 years agoHandle data dependence relations with different bases
rsandifo [Fri, 4 Aug 2017 10:39:44 +0000 (10:39 +0000)] 
Handle data dependence relations with different bases

This patch tries to calculate conservatively-correct distance
vectors for two references whose base addresses are not the same.
It sets a new flag DDR_COULD_BE_INDEPENDENT_P if the dependence
isn't guaranteed to occur.

The motivating example is:

  struct s { int x[8]; };
  void
  f (struct s *a, struct s *b)
  {
    for (int i = 0; i < 8; ++i)
      a->x[i] += b->x[i];
  }

in which the "a" and "b" accesses are either independent or have a
dependence distance of 0 (assuming -fstrict-aliasing).  Neither case
prevents vectorisation, so we can vectorise without an alias check.

I'd originally wanted to do the same thing for arrays as well, e.g.:

  void
  f (int a[][8], struct b[][8])
  {
    for (int i = 0; i < 8; ++i)
      a[0][i] += b[0][i];
  }

I think this is valid because C11 6.7.6.2/6 says:

  For two array types to be compatible, both shall have compatible
  element types, and if both size specifiers are present, and are
  integer constant expressions, then both size specifiers shall have
  the same constant value.

So if we access an array through an int (*)[8], it must have type X[8]
or X[], where X is compatible with int.  It doesn't seem possible in
either case for "a[0]" and "b[0]" to overlap when "a != b".

However, as the comment above "if (same_base_p)" explains, GCC is more
forgiving: it supports arbitrary overlap of arrays and allows arrays to
be accessed with different dimensionality.  There are examples of this
in PR50067.  The patch therefore only handles references that end in a
structure field access.

There are two ways of handling these dependences in the vectoriser:
use them to limit VF, or check at runtime as before.  I've gone for
the approach of checking at runtime if we can, to avoid limiting VF
unnecessarily, but falling back to a VF cap when runtime checks aren't
allowed.

The patch tests whether we queued an alias check with a dependence
distance of X and then picked a VF <= X, in which case it's safe to
drop the alias check.  Since vect_prune_runtime_alias_check_list
can be called twice with different VF for the same loop, it's no
longer safe to clear may_alias_ddrs on exit.  Instead we should use
comp_alias_ddrs to check whether versioning is necessary.

2017-08-04  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
* tree-data-ref.h (subscript): Add access_fn field.
(data_dependence_relation): Add could_be_independent_p.
(SUB_ACCESS_FN, DDR_COULD_BE_INDEPENDENT_P): New macros.
(same_access_functions): Move to tree-data-ref.c.
* tree-data-ref.c (ref_contains_union_access_p): New function.
(access_fn_component_p): Likewise.
(access_fn_components_comparable_p): Likewise.
(dr_analyze_indices): Add a reference to access_fn_component_p.
(dump_data_dependence_relation): Use SUB_ACCESS_FN instead of
DR_ACCESS_FN.
(constant_access_functions): Likewise.
(add_other_self_distances): Likewise.
(same_access_functions): Likewise.  (Moved from tree-data-ref.h.)
(initialize_data_dependence_relation): Use XCNEW and remove
explicit zeroing of DDR_REVERSED_P.  Look for a subsequence
of access functions that have the same type.  Allow the
subsequence to end with different bases in some circumstances.
Record the chosen access functions in SUB_ACCESS_FN.
(build_classic_dist_vector_1): Replace ddr_a and ddr_b with
a_index and b_index.  Use SUB_ACCESS_FN instead of DR_ACCESS_FN.
(subscript_dependence_tester_1): Likewise dra and drb.
(build_classic_dist_vector): Update calls accordingly.
(subscript_dependence_tester): Likewise.
* tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Check
DDR_COULD_BE_INDEPENDENT_P.
* tree-vectorizer.h (LOOP_REQUIRES_VERSIONING_FOR_ALIAS): Test
comp_alias_ddrs instead of may_alias_ddrs.
* tree-vect-data-refs.c (vect_analyze_possibly_independent_ddr):
New function.
(vect_analyze_data_ref_dependence): Use it if
DDR_COULD_BE_INDEPENDENT_P, but fall back to using the recorded
distance vectors if that fails.
(dependence_distance_ge_vf): New function.
(vect_prune_runtime_alias_test_list): Use it.  Don't clear
LOOP_VINFO_MAY_ALIAS_DDRS.

gcc/testsuite/
* gcc.dg/vect/vect-alias-check-3.c: New test.
* gcc.dg/vect/vect-alias-check-4.c: Likewise.
* gcc.dg/vect/vect-alias-check-5.c: Likewise.

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

8 years ago2017-08-04 Richard Biener <rguenther@suse.de>
rguenth [Fri, 4 Aug 2017 10:33:39 +0000 (10:33 +0000)] 
2017-08-04  Richard Biener  <rguenther@suse.de>

PR middle-end/81705
* fold-const.c (fold_binary_loc): Properly restrict
minus_var0 && minus_var1 case when associating undefined overflow
entities.

* c-c++-common/ubsan/pr81705.c: New testcase.

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

8 years agoAdd missing edge probability in simd_clone_adjust
vries [Fri, 4 Aug 2017 07:27:05 +0000 (07:27 +0000)] 
Add missing edge probability in simd_clone_adjust

Currently we generate an if with probability set on only one of the two edges:
  <bb 5> [0.00%] [count: INV]:
  _5 = mask.3[iter.6_3];
  if (_5 == 0)
    goto <bb 6>; [INV] [count: INV]
  else
    goto <bb 2>; [100.00%] [count: INV]

Add the missing edge probability, and set the split to unlikely/likely:
  if (_5 == 0)
    goto <bb 6>; [19.99%] [count: INV]
  else
    goto <bb 2>; [80.01%] [count: INV]

2017-08-04  Tom de Vries  <tom@codesourcery.com>

* omp-simd-clone.c (simd_clone_adjust): Add missing edge probability.

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

8 years agoDaily bump.
gccadmin [Fri, 4 Aug 2017 00:16:34 +0000 (00:16 +0000)] 
Daily bump.

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

8 years ago[gcc]
wschmidt [Thu, 3 Aug 2017 21:22:03 +0000 (21:22 +0000)] 
[gcc]

2017-08-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
Don't start diagnostic messages with a capital letter.
* config/rs6000/rs6000.c (rs6000_option_override_internal):
Likewise.
(rs6000_invalid_builtin): Likewise.
(rs6000_trampoline_init): Likewise.

[gcc/testsuite]

2017-08-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/bfp/scalar-cmp-exp-eq-2.c: Adjust for error
messages that used to start with a capital letter.
* gcc.target/powerpc/bfp/scalar-cmp-exp-gt-2.c: Likewise.
* gcc.target/powerpc/bfp/scalar-cmp-exp-lt-2.c: Likewise.
* gcc.target/powerpc/bfp/scalar-cmp-unordered-2.c: Likewise.
* gcc.target/powerpc/bfp/scalar-extract-exp-1.c: Likewise.
* gcc.target/powerpc/bfp/scalar-extract-exp-4.c: Likewise.
* gcc.target/powerpc/bfp/scalar-extract-sig-1.c: Likewise.
* gcc.target/powerpc/bfp/scalar-extract-sig-4.c: Likewise.
* gcc.target/powerpc/bfp/scalar-insert-exp-1.c: Likewise.
* gcc.target/powerpc/bfp/scalar-insert-exp-10.c: Likewise.
* gcc.target/powerpc/bfp/scalar-insert-exp-4.c: Likewise.
* gcc.target/powerpc/bfp/scalar-insert-exp-7.c: Likewise.
* gcc.target/powerpc/bfp/scalar-test-data-class-11.c: Likewise.
* gcc.target/powerpc/bfp/scalar-test-data-class-6.c: Likewise.
* gcc.target/powerpc/bfp/scalar-test-data-class-7.c: Likewise.
* gcc.target/powerpc/bfp/scalar-test-neg-2.c: Likewise.
* gcc.target/powerpc/bfp/scalar-test-neg-3.c: Likewise.
* gcc.target/powerpc/bfp/scalar-test-neg-5.c: Likewise.
* gcc.target/powerpc/bfp/vec-extract-exp-2.c: Likewise.
* gcc.target/powerpc/bfp/vec-extract-exp-3.c: Likewise.
* gcc.target/powerpc/bfp/vec-extract-sig-2.c: Likewise.
* gcc.target/powerpc/bfp/vec-extract-sig-3.c: Likewise.
* gcc.target/powerpc/bfp/vec-insert-exp-2.c: Likewise.
* gcc.target/powerpc/bfp/vec-insert-exp-3.c: Likewise.
* gcc.target/powerpc/bfp/vec-insert-exp-6.c: Likewise.
* gcc.target/powerpc/bfp/vec-insert-exp-7.c: Likewise.
* gcc.target/powerpc/bfp/vec-test-data-class-2.c: Likewise.
* gcc.target/powerpc/bfp/vec-test-data-class-3.c: Likewise.
* gcc.target/powerpc/byte-in-either-range-1.c: Likewise.
* gcc.target/powerpc/byte-in-range-1.c: Likewise.
* gcc.target/powerpc/byte-in-set-1.c: Likewise.
* gcc.target/powerpc/crypto-builtin-2.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-1.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-11.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-16.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-21.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-26.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-31.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-36.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-41.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-46.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-51.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-56.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-6.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-61.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-66.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-71.c: Likewise.
* gcc.target/powerpc/dfp/dtstsfi-76.c: Likewise.
* gcc.target/powerpc/vsu/vec-all-nez-7.c: Likewise.
* gcc.target/powerpc/vsu/vec-any-eqz-7.c: Likewise.
* gcc.target/powerpc/vsu/vec-cmpnez-7.c: Likewise.
* gcc.target/powerpc/vsu/vec-cntlz-lsbb-2.c: Likewise.
* gcc.target/powerpc/vsu/vec-cnttz-lsbb-2.c: Likewise.
* gcc.target/powerpc/vsu/vec-xl-len-12.c: Likewise.
* gcc.target/powerpc/vsu/vec-xlx-7.c: Likewise.
* gcc.target/powerpc/vsu/vec-xrx-7.c: Likewise.
* gcc.target/powerpc/vsu/vec-xst-len-12.c: Likewise.

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

8 years ago PR go/81617
ian [Thu, 3 Aug 2017 18:09:12 +0000 (18:09 +0000)] 
PR go/81617
    libgo: change mksigtab to recognize glibc 2.26 NSIG expression

    Fixes golang/go#21147
    Fixes GCC PR 81617

    Reviewed-on: https://go-review.googlesource.com/52611

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

8 years ago PR target/81621
jakub [Thu, 3 Aug 2017 14:41:08 +0000 (14:41 +0000)] 
PR target/81621
* bb-reorder.c (pass_partition_blocks::execute): Return TODO_df_finish
after setting changeable df flags.

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

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

8 years ago2017-08-03 Richard Biener <rguenther@suse.de>
rguenth [Thu, 3 Aug 2017 14:08:56 +0000 (14:08 +0000)] 
2017-08-03  Richard Biener  <rguenther@suse.de>

* lto-symtab.h (lto_symtab_prevail_decl): Do not use
DECL_ABSTRACT_ORIGIN as flag we can end up using that.  Instead
use DECL_LANG_FLAG_0.
(lto_symtab_prevail_decl): Likewise.

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

8 years ago2017-08-03 Richard Biener <rguenther@suse.de>
rguenth [Thu, 3 Aug 2017 14:08:15 +0000 (14:08 +0000)] 
2017-08-03  Richard Biener  <rguenther@suse.de>

* tree-ssa-reassoc.c (should_break_up_subtract): Also break
up if the use is in USE - X.

* gcc.dg/tree-ssa/reassoc-23.c: Adjust to fool early folding
and CSE.

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

8 years agotoplev: avoid recursive emergency_dump_function
amonakov [Thu, 3 Aug 2017 13:39:47 +0000 (13:39 +0000)] 
toplev: avoid recursive emergency_dump_function

* toplev.c (dumpfile.h): New include.
(internal_error_reentered): New static function.  Use it...
(internal_error_function): ...here to handle reentered internal_error.

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

8 years ago2017-08-03 Richard Biener <rguenther@suse.de>
rguenth [Thu, 3 Aug 2017 11:52:00 +0000 (11:52 +0000)] 
2017-08-03 Richard Biener  <rguenther@suse.de>

PR middle-end/81148
* fold-const.c (split_tree): Add minus_var and minus_con
arguments, remove unused loc arg.  Never generate NEGATE_EXPRs
here but always use minus_*.
(associate_trees): Assert we never associate with MINUS_EXPR
and NULL first operand.  Do not recurse for PLUS_EXPR operands
when associating as MINUS_EXPR either.
(fold_binary_loc): Track minus_var and minus_con.

* c-c++-common/ubsan/pr81148.c: New testcase.

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

8 years agoApply finish_options on DECL_FUNCTION_SPECIFIC_OPTIMIZATION for ACCEL_COMPILER
vries [Thu, 3 Aug 2017 11:37:55 +0000 (11:37 +0000)] 
Apply finish_options on DECL_FUNCTION_SPECIFIC_OPTIMIZATION for ACCEL_COMPILER

2017-08-03  Tom de Vries  <tom@codesourcery.com>

PR lto/81430
* tree-streamer-in.c (lto_input_ts_function_decl_tree_pointers): If
ACCEL_COMPILER, apply finish_options on
DECL_FUNCTION_SPECIFIC_OPTIMIZATION.

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

8 years agoError out on nvptx for fpatchable-function-entry
vries [Thu, 3 Aug 2017 11:18:09 +0000 (11:18 +0000)] 
Error out on nvptx for fpatchable-function-entry

2017-08-03  Tom de Vries  <tom@codesourcery.com>

PR target/81662
* config/nvptx/nvptx.c (nvptx_option_override): Emit sorry if
function_entry_patch_area_size > 0.

* gcc.target/nvptx/patchable_function_entry-default.c: New test.

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

8 years ago PR driver/81650
jakub [Thu, 3 Aug 2017 09:43:11 +0000 (09:43 +0000)] 
PR driver/81650
* calls.c (alloc_max_size): Use HOST_WIDE_INT_UC (10??)
instead of 10??LU, perform unit multiplication in wide_int,
don't change alloc_object_size_limit if the limit is larger
than SSIZE_MAX.

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

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

8 years ago PR tree-optimization/81655
jakub [Thu, 3 Aug 2017 09:41:55 +0000 (09:41 +0000)] 
PR tree-optimization/81655
PR tree-optimization/81588
* tree-ssa-reassoc.c (optimize_range_tests_var_bound): Handle also
the case when ranges[i].low and high are 1 for unsigned type with
precision 1.

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

8 years ago/cp
paolo [Thu, 3 Aug 2017 09:26:17 +0000 (09:26 +0000)] 
/cp
2017-08-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/71440
* typeck.c (build_x_unary_op): Avoid pretty-printing constructor /
destructor as expressions.

/testsuite
2017-08-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/71440
* g++.dg/template/crash127.C: New.

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

8 years ago PR middle-end/81052
jakub [Thu, 3 Aug 2017 08:34:16 +0000 (08:34 +0000)] 
PR middle-end/81052
* omp-low.c (diagnose_sb_0): Handle flag_openmp_simd like flag_openmp.
(pass_diagnose_omp_blocks::gate): Enable also for flag_openmp_simd.

* c-c++-common/pr81052.c: New test.

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

8 years ago2017-08-03 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
prathamesh3492 [Thu, 3 Aug 2017 07:42:36 +0000 (07:42 +0000)] 
2017-08-03  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

* tree-vrp.h: Add include guard.

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

8 years agoRequire alias for gcc.dg/pr56727-2.c
vries [Thu, 3 Aug 2017 07:08:30 +0000 (07:08 +0000)] 
Require alias for gcc.dg/pr56727-2.c

2017-08-03  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/pr56727-2.c: Require alias.

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

8 years agoRequire alloca for gcc.dg/attr-noipa.c
vries [Thu, 3 Aug 2017 07:08:19 +0000 (07:08 +0000)] 
Require alloca for gcc.dg/attr-noipa.c

2017-08-03  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/attr-noipa.c: Require alloca.

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

8 years agoRequire label_values for gcc.dg/torture/pr80163.c
vries [Thu, 3 Aug 2017 07:08:01 +0000 (07:08 +0000)] 
Require label_values for gcc.dg/torture/pr80163.c

2017-08-03  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/torture/pr80163.c: Require label_values.

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

8 years agoSkip fpatchable-function-entry tests for nvptx
vries [Thu, 3 Aug 2017 07:07:38 +0000 (07:07 +0000)] 
Skip fpatchable-function-entry tests for nvptx

2017-08-03  Tom de Vries  <tom@codesourcery.com>

PR target/81662
* c-c++-common/patchable_function_entry-decl.c: Skip for nvptx.
* c-c++-common/patchable_function_entry-default.c: Same.
* c-c++-common/patchable_function_entry-definition.c: Same.

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

8 years agoDaily bump.
gccadmin [Thu, 3 Aug 2017 00:16:27 +0000 (00:16 +0000)] 
Daily bump.

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

8 years agoAdded Python implementation of mklog.
ygribov [Wed, 2 Aug 2017 21:01:08 +0000 (21:01 +0000)] 
Added Python implementation of mklog.

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

8 years agoRenamed original mklog to mklog.pl.
ygribov [Wed, 2 Aug 2017 20:58:23 +0000 (20:58 +0000)] 
Renamed original mklog to mklog.pl.

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

8 years ago compiler: only finalize embedded fields before finalizing methods
ian [Wed, 2 Aug 2017 16:27:17 +0000 (16:27 +0000)] 
compiler: only finalize embedded fields before finalizing methods

    When finalizing the methods of a named struct type, we used to
    finalize all the field types first.  That can fail if the field types
    refer indirectly to the named type.  Change it to just finalize the
    embedded field types first, and the rest of the fields later.

    Fixes golang/go#21253

    Reviewed-on: https://go-review.googlesource.com/52570

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

8 years ago * ChangeLog: Fix my last entry.
uros [Wed, 2 Aug 2017 14:04:48 +0000 (14:04 +0000)] 
* ChangeLog: Fix my last entry.

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

8 years ago PR target/81644
uros [Wed, 2 Aug 2017 13:58:08 +0000 (13:58 +0000)] 
PR target/81644
* config/i386/i386.md (unspecv): Add UNSPECV_UD2.
(ud2): New insn pattern.
* config/i386/i386.c (ix86_expand_epilogue):
Generate ud2 instead of trap insn.

testsuite/ChangeLog:

PR target/81644
* gcc.target/i386/pr81644.c: New test.

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

8 years ago PR other/81667
mpolacek [Wed, 2 Aug 2017 13:25:12 +0000 (13:25 +0000)] 
PR other/81667
* alloc-pool.h (base_pool_allocator): Initialize m_elt_size.

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

8 years agoUse relative line number in gcc.dg/Walloca-14.c
vries [Wed, 2 Aug 2017 13:19:30 +0000 (13:19 +0000)] 
Use relative line number in gcc.dg/Walloca-14.c

2017-08-02  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/Walloca-14.c: Use relative line number.

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

8 years ago * gcc.target/i386/funcspec-56.inc (no_3dnowa): Properly
uros [Wed, 2 Aug 2017 12:59:52 +0000 (12:59 +0000)] 
* gcc.target/i386/funcspec-56.inc (no_3dnowa): Properly
test "no-3dnowa" target attribute.

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

8 years agoAdd PR number.
dje [Wed, 2 Aug 2017 12:45:55 +0000 (12:45 +0000)] 
Add PR number.

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

8 years ago* xcoff.c (xcoff_process_linenos): Initialize incl to NULL.
dje [Wed, 2 Aug 2017 12:44:54 +0000 (12:44 +0000)] 
* xcoff.c (xcoff_process_linenos): Initialize incl to NULL.

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

8 years agoAdd missing probabilities in nvptx_lock{less,full}_update
vries [Wed, 2 Aug 2017 12:11:50 +0000 (12:11 +0000)] 
Add missing probabilities in nvptx_lock{less,full}_update

2017-08-02  Tom de Vries  <tom@codesourcery.com>
    Cesar Philippidis  <cesar@codesourcery.com>

* config/nvptx/nvptx.c (nvptx_lockless_update, nvptx_lockfull_update):
Add missing edge probabilities.

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

8 years ago PR c/81448
mpolacek [Wed, 2 Aug 2017 11:56:54 +0000 (11:56 +0000)] 
PR c/81448
PR c/81306
* c-warn.c (warn_for_multistatement_macros): Prevent bogus
warnings.  Avoid walking MACRO_MAP_LOCATIONS.

* c-c++-common/Wmultistatement-macros-13.c: New test.

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

8 years ago PR c/81289
mpolacek [Wed, 2 Aug 2017 11:50:16 +0000 (11:50 +0000)] 
PR c/81289
* c-parser.c (c_parser_unary_expression): Use set_error.

* gcc.dg/noncompile/pr81289.c: New test.

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

8 years ago * gcc.dg/guality/pr25967-1.c: Delete
uros [Wed, 2 Aug 2017 11:19:58 +0000 (11:19 +0000)] 
* gcc.dg/guality/pr25967-1.c: Delete
        * gcc.dg/guality/pr25967-2.c: Delete
        * gcc.dg/guality/pr25967-3.c: Rename to pr25967-1.c.
        * gcc.dg/guality/pr25967-4.c: Rename to pr25967-2.c.

        * gcc.dg/torture/pr25967-1.c: Delete
        * gcc.dg/torture/pr25967-2.c: Delete
        * gcc.dg/torture/pr25967-3.c: Rename to pr25967-1.c.
        * gcc.dg/torture/pr25967-4.c: Rename to pr25967-2.c.

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

8 years ago2017-08-02 Tamar Christina <tamar.christina@arm.com>
tnfchris [Wed, 2 Aug 2017 08:55:59 +0000 (08:55 +0000)] 
2017-08-02  Tamar Christina  <tamar.christina@arm.com>

* config/aarch64/aarch64.c (aarch64_reinterpret_float_as_int):
Correct endianness.

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

8 years ago PR c++/81640
jakub [Wed, 2 Aug 2017 07:28:21 +0000 (07:28 +0000)] 
PR c++/81640
* call.c (build_user_type_conversion_1): Only call
lookup_fnfields_slot if totype is CLASS_TYPE_P.

* g++.dg/warn/Wshadow-compatible-local-2.C: New test.

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

8 years ago PR middle-end/79499
jakub [Wed, 2 Aug 2017 07:13:25 +0000 (07:13 +0000)] 
PR middle-end/79499
* function.c (thread_prologue_and_epilogue_insns): Determine blocks
for find_many_sub_basic_blocks bitmap by looking up BLOCK_FOR_INSN
of first NONDEBUG_INSN_P in each of the split_prologue_seq and
prologue_seq sequences - if any.

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

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

8 years ago2017-08-02 Richard Biener <rguenther@suse.de>
rguenth [Wed, 2 Aug 2017 06:57:12 +0000 (06:57 +0000)] 
2017-08-02  Richard Biener  <rguenther@suse.de>

* tree-vect-stmts.c (vectorizable_store): Perform vector extracts
via vectors if supported, integer extracts via punning if supported
or otherwise vector extracts.

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

8 years ago2017-08-02 Richard Biener <rguenther@suse.de>
rguenth [Wed, 2 Aug 2017 06:52:26 +0000 (06:52 +0000)] 
2017-08-02  Richard Biener  <rguenther@suse.de>

* tree-ssa-pre.c (bitmap_insert_into_set_1): Remove and inline
into ...
(bitmap_insert_into_set): ... this.

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

8 years ago2017-08-02 Richard Biener <rguenther@suse.de>
rguenth [Wed, 2 Aug 2017 06:38:36 +0000 (06:38 +0000)] 
2017-08-02  Richard Biener  <rguenther@suse.de>

PR tree-optimization/81633
Revert
2015-08-17  Alan Hayward  <alan.hayward@arm.com>

PR tree-optimization/71752
* tree-vect-slp.c (vect_get_slp_defs): Handle null operands.

* gcc.dg/vect/pr81633.c: New testcase.

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

8 years agoDaily bump.
gccadmin [Wed, 2 Aug 2017 00:16:20 +0000 (00:16 +0000)] 
Daily bump.

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

8 years ago * fr.po: Update.
jsm28 [Tue, 1 Aug 2017 23:44:12 +0000 (23:44 +0000)] 
* fr.po: Update.

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

8 years ago[i386] Remove ix86_frame::outlined_save_offset and machine_function::call_ms2sysv_pad_out
dansan [Tue, 1 Aug 2017 22:33:16 +0000 (22:33 +0000)] 
[i386] Remove ix86_frame::outlined_save_offset and machine_function::call_ms2sysv_pad_out

ix86_frame::outlined_save_offset isn't used and
machine_function::call_ms2sysv_pad_out is an ineffective strategy.

2017-08-01  Daniel Santos  <daniel.santos@pobox.com>

        * config/i386/i386.h (ix86_frame::outlined_save_offset): Remove field.
        (machine_function::call_ms2sysv_pad_out): Remove field.
        * config/i386/i386.c (xlogue_layout::get_stack_space_used): Modify.
        (ix86_compute_frame_layout): Likewise.

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

8 years ago * c-ada-spec.c (has_static_fields): Look only into fields.
ebotcazou [Tue, 1 Aug 2017 22:15:32 +0000 (22:15 +0000)] 
* c-ada-spec.c (has_static_fields): Look only into fields.
(dump_generic_ada_node): Small tweak.
(dump_nested_types): Look only into fields.
(print_ada_declaration): Look only into methods.  Small tweak.
(print_ada_struct_decl): Look only into fields.  Use DECL_VIRTUAL_P.

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

8 years agoi386: Add more naked attribute tests
hjl [Tue, 1 Aug 2017 21:39:51 +0000 (21:39 +0000)] 
i386: Add more naked attribute tests

Add some tests for implementing interrupt handlers with naked attribute
and without asm statements.

* gcc.dg/guality/pr25967-3.c: New test.
* gcc.dg/guality/pr25967-4.c: Likewise.
* gcc.dg/torture/pr25967-3.c: Likewise.
* gcc.dg/torture/pr25967-4.c: Likewise.

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

8 years agoi386: Add some naked attribute tests
hjl [Tue, 1 Aug 2017 21:07:04 +0000 (21:07 +0000)] 
i386: Add some naked attribute tests

Add some tests for implementing interrupt handlers with naked attribute.

* gcc.dg/guality/pr25967-1.c: New test.
* gcc.dg/guality/pr25967-2.c: Likewise.
* gcc.dg/torture/pr25967-1.c: Likewise.
* gcc.dg/torture/pr25967-2.c: Likewise.

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

8 years ago * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
ebotcazou [Tue, 1 Aug 2017 20:50:00 +0000 (20:50 +0000)] 
* c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
(dump_ada_function_declaration): Likewise.
(dump_generic_ada_node): Likewise.
(print_ada_declaration): Add support for const-qualified variables.

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

8 years ago386: Disallow naked attribute with interrupt attribute
hjl [Tue, 1 Aug 2017 20:25:41 +0000 (20:25 +0000)] 
386: Disallow naked attribute with interrupt attribute

gcc/

PR target/81654
* config/i386/i386.c (ix86_set_func_type): Disallow naked
attribute with interrupt attribute.

gcc/testsuite/

PR target/81654
* gcc.target/i386/pr81654.c: New test.

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

8 years ago2017-08-01 Thomas König <tkoenig@gcc.gnu.org>
tkoenig [Tue, 1 Aug 2017 19:09:02 +0000 (19:09 +0000)] 
2017-08-01  Thomas König  <tkoenig@gcc.gnu.org>

PR fortran/79312
* intrisic.c (gfc_convert_type_warn):  Only set typespec for
empty array constructors which don't have it already.

2017-08-01  Thomas König  <tkoenig@gcc.gnu.org>

PR fortran/79312
* gfortran.dg/logical_assignment_1.f90:  New test.

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

8 years ago2017-08-01 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Tue, 1 Aug 2017 17:59:11 +0000 (17:59 +0000)] 
2017-08-01  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/45435
* lang.opt (fc-prototypes): Add option.
* gfortran.h (gfc_typespec): Add interop_kind to struct.
(gfc_dump_c_prototypes): Add prototype.
* decl.c (gfc_match_kind_spec): Copy symbol used for kind to typespec.
* parse.c (gfc_parse_file): Call gfc_dump_prototypes.
* dump-parse-tree.c (gfc_dump_c_prototypes): New function.
(type_return): New enum.
(get_c_type_name): New function.
(write_decl): New function.
(write_type): New function.
(write_variable): New function.
(write_proc): New function.
(write_interop_decl): New function.
* invoke.texi: Document -fc-prototypes.

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

8 years ago2017-08-01 Andrew Pinski <apinski@cavium.com>
pinskia [Tue, 1 Aug 2017 17:58:17 +0000 (17:58 +0000)] 
2017-08-01  Andrew Pinski  <apinski@cavium.com>

        * tree-ssa-scopedtables.c (hashable_expr_equal_p): Check
        BIT_INSERT_EXPR's operand 1
        to see if the types precision matches.

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

8 years agoMake mempcpy more optimal (PR middle-end/70140).
marxin [Tue, 1 Aug 2017 17:21:29 +0000 (17:21 +0000)] 
Make mempcpy more optimal (PR middle-end/70140).

2017-08-01  Martin Liska  <mliska@suse.cz>

PR middle-end/70140
* gcc.dg/string-opt-1.c: Adjust test-case to scan for memcpy.
2017-08-01  Martin Liska  <mliska@suse.cz>

PR middle-end/70140
* builtins.c (expand_builtin_memcpy_args): Remove.
(expand_builtin_memcpy): Call newly added function
expand_builtin_memory_copy_args.
(expand_builtin_memcpy_with_bounds): Likewise.
(expand_builtin_mempcpy): Remove last argument.
(expand_builtin_mempcpy_with_bounds): Likewise.
(expand_builtin_memory_copy_args): New function created from
expand_builtin_mempcpy_args with small modifications.
(expand_builtin_mempcpy_args): Remove.
(expand_builtin_stpcpy): Remove unused argument.
(expand_builtin): Likewise.
(expand_builtin_with_bounds): Likewise.

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

8 years agoRevert r250771
marxin [Tue, 1 Aug 2017 17:10:38 +0000 (17:10 +0000)] 
Revert r250771

2017-08-01  Martin Liska  <mliska@suse.cz>

Revert r250771
Make mempcpy more optimal (PR middle-end/70140).
2017-08-01  Martin Liska  <mliska@suse.cz>

Revert r250771
Make mempcpy more optimal (PR middle-end/70140).

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

8 years ago * decl.c (declare_global_var): Set DECL_CONTEXT.
jason [Tue, 1 Aug 2017 16:38:11 +0000 (16:38 +0000)] 
* decl.c (declare_global_var): Set DECL_CONTEXT.

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

8 years ago PR target/81622
jakub [Tue, 1 Aug 2017 16:34:31 +0000 (16:34 +0000)] 
PR target/81622
* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): For
__builtin_vec_cmpne verify both arguments are compatible vectors
before looking at TYPE_MODE on the element type.  For __builtin_vec_ld
verify arg1_type is a pointer or array type.  For __builtin_vec_st,
move computation of aligned to after checking the argument types.
Formatting fixes.

* gcc.target/powerpc/pr81622.c: New test.

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

8 years ago PR target/80846
jakub [Tue, 1 Aug 2017 16:12:31 +0000 (16:12 +0000)] 
PR target/80846
* config/rs6000/vsx.md (vextract_fp_from_shorth,
vextract_fp_from_shortl): Add element mode after mode in gen_vec_init*
calls.

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

8 years ago2017-08-01 Steve Ellcey <sellcey@cavium.com>
sje [Tue, 1 Aug 2017 15:37:22 +0000 (15:37 +0000)] 
2017-08-01  Steve Ellcey  <sellcey@cavium.com>

PR tree-optimization/80925
* gcc.dg/vect/vect-28.c: Add
--param vect-max-peeling-for-alignment=0 option.
Remove unaligned access and peeling checks.
* gcc.dg/vect/vect-33-big-array.c: Ditto.
* gcc.dg/vect/vect-70.c: Ditto.
* gcc.dg/vect/vect-87.c: Ditto.
* gcc.dg/vect/vect-88.c: Ditto.
* gcc.dg/vect/vect-91.c: Ditto.
* gcc.dg/vect/vect-93.c: Ditto.

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

8 years ago2017-08-01 Jerome Lambourg <lambourg@adacore.com>
hainque [Tue, 1 Aug 2017 14:14:21 +0000 (14:14 +0000)] 
2017-08-01  Jerome Lambourg  <lambourg@adacore.com>
           Doug Rupp  <rupp@adacore.com>
           Olivier Hainque  <hainque@adacore.com>

   gcc/
    * config.gcc (arm-wrs-vxworks*): Rework to handle arm-wrs-vxworks7 as
    well as arm-wrs-vxworks. Update target_cpu_name from arm6 (arch v3) to
    arm8 (arch v4).
    * config/arm/vxworks.h (MAYBE_TARGET_BPABI_CPP_BUILTINS): New, helper
    for TARGET_OS_CPP_BUILTIN.
    (TARGET_OS_CPP_BUILTIN): Invoke MAYBE_TARGET_BPABI_CPP_BUILTINS(),
    refine CPU definitions for arm_arch5 and add those for arm_arch6 and
    arm_arch7.
     (MAYBE_ASM_ABI_SPEC): New, helper for SUBTARGET_EXTRA_ASM_SPEC,
    passing required abi options to the assembler for EABI configurations.
    (EXTRA_CC1_SPEC): New macro, to help prevent the implicit production
    of .text.hot and .text.unlikely sections for kernel modules when
    using ARM style exceptions.
    (CC1_SPEC): Remove obsolete attempt at mimicking Diab toolchain
    options. Add EXTRA_CC1_SPEC.
    (VXWORKS_ENDIAN_SPEC): Adjust comment and remove handling of Diab
    toolchain options.
    (DWARF2_UNWIND_INFO): Redefine to handle the pre/post VxWorks 7
    transition.
    (ARM_TARGET2_DWARF_FORMAT): Define.
    * config/arm/t-vxworks: Adjust multilib control to removal of the
    Diab command line options.

    libgcc/
    * config.host (arm-wrs-vxworks*): Rework to handle arm-wrs-vxworks7
    as well as arm-wrs-vxworks.
    * config/arm/t-vxworks7: New file.  Add unwind-arm-vxworks.c to
    LIB2ADDEH.
    * config/arm/unwind-arm-vxworks.c: New file. Provide dummy
    __exidx_start and __exidx_end for downloadable modules.

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

8 years agoFix segfault in gcov.c (PR gcov-profile/81561).
marxin [Tue, 1 Aug 2017 14:06:13 +0000 (14:06 +0000)] 
Fix segfault in gcov.c (PR gcov-profile/81561).

2017-08-01  Martin Liska  <mliska@suse.cz>

PR gcov-profile/81561
* gcov.c (unblock): Make unblocking safe as we need to preserve
index correspondence of blocks and block_lists.

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

8 years agoSimplify nvptx/slp* test-cases
vries [Tue, 1 Aug 2017 13:52:14 +0000 (13:52 +0000)] 
Simplify nvptx/slp* test-cases

Use signed loop iteration variable in nvtpx/slp* test-cases to work around
PR tree-optimizaion/81635.

2017-08-01  Tom de Vries  <tom@codesourcery.com>

* gcc.target/nvptx/slp-2.c (foo): Use signed loop iteration variable.
* gcc.target/nvptx/slp.c (foo): Same.

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

8 years ago2017-08-01 Richard Biener <rguenther@suse.de>
rguenth [Tue, 1 Aug 2017 13:36:50 +0000 (13:36 +0000)] 
2017-08-01  Richard Biener  <rguenther@suse.de>

PR tree-optimization/81181
* tree-ssa-pre.c (compute_antic_aux): Defer clean() to ...
(compute_antic): ... end of iteration here.

* gcc.dg/torture/pr81181.c: New testcase.

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

8 years ago2017-08-01 Olivier Hainque <hainque@adacore.com>
hainque [Tue, 1 Aug 2017 13:23:06 +0000 (13:23 +0000)] 
2017-08-01  Olivier Hainque  <hainque@adacore.com>

* config/t-vxworks (LIBGCC2_INCLUDES): Start with -I. after -nostdinc.
* config/t-vxworks7: Likewise.

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

8 years ago2017-08-01 Olivier Hainque <hainque@adacore.com>
hainque [Tue, 1 Aug 2017 12:59:44 +0000 (12:59 +0000)] 
2017-08-01  Olivier Hainque  <hainque@adacore.com>

* config/t-vxworks: Instead of redefining LIB2ADD,
augment LIB2ADDEH with vxlib.c and vxlib-tls.c.

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

8 years agoRemove flag_tree_vectorize
jgreenhalgh [Tue, 1 Aug 2017 12:59:05 +0000 (12:59 +0000)] 
Remove flag_tree_vectorize

gcc/

* common.opt (ftree-vectorize): No longer set flag_tree_vectorize.
(ftree-loop-vectorize): Set as EnabledBy ftree-vectorize.
(ftree-slp-vectorize): Likewise.
* omp-expand (expand_omp_simd): Remove flag_tree_vectorize, as it
can no longer be set independent of flag_tree_loop_vectorize.
* omp-general.c (emp_max_vf): Likewise.
* opts.c (enable_fdo_optimizations): Remove references to
flag_tree_vectorize, these are now implicit.
(common_handle_option): Remove handling for OPT_ftree_vectorize,
and leave it for the options machinery.

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

8 years agoReverted 250770
tnfchris [Tue, 1 Aug 2017 12:23:59 +0000 (12:23 +0000)] 
Reverted 250770

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

8 years agoMake mempcpy more optimal (PR middle-end/70140).
marxin [Tue, 1 Aug 2017 11:59:27 +0000 (11:59 +0000)] 
Make mempcpy more optimal (PR middle-end/70140).

2017-08-01  Martin Liska  <mliska@suse.cz>

PR middle-end/70140
* gcc.dg/string-opt-1.c: Adjust test-case to scan for memcpy.
2017-08-01  Martin Liska  <mliska@suse.cz>

PR middle-end/70140
* builtins.c (expand_builtin_memcpy_args): Remove.
(expand_builtin_memcpy): Call newly added function
expand_builtin_memory_copy_args.
(expand_builtin_memcpy_with_bounds): Likewise.
(expand_builtin_mempcpy): Remove last argument.
(expand_builtin_mempcpy_with_bounds): Likewise.
(expand_builtin_memory_copy_args): New function created from
expand_builtin_mempcpy_args with small modifications.
(expand_builtin_mempcpy_args): Remove.
(expand_builtin_stpcpy): Remove unused argument.
(expand_builtin): Likewise.
(expand_builtin_with_bounds): Likewise.

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