]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
10 years ago2015-11-30 Paul Thomas <pault@gcc.gnu.org>
pault [Mon, 30 Nov 2015 13:33:27 +0000 (13:33 +0000)] 
2015-11-30  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/68534
* decl.c (gfc_match_formal_arglist): Cope with zero formal args
either in interface declaration or in procedure declaration in
submodule.

2015-11-30  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/68534
* gfortran.dg/submodule_13.f08: New test.

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

10 years agoS/390: Testsuite: Add asm scan patterns for -m31.
krebbel [Mon, 30 Nov 2015 13:24:51 +0000 (13:24 +0000)] 
S/390: Testsuite: Add asm scan patterns for -m31.

gcc/testsuite/ChangeLog:

2015-11-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* gcc.target/s390/load-relative-check.c: Add scan patterns for
-m31.

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

10 years agoS/390: Testsuite: Add -mzarch to load-relative-check.c.
krebbel [Mon, 30 Nov 2015 12:31:02 +0000 (12:31 +0000)] 
S/390: Testsuite: Add -mzarch to load-relative-check.c.

2015-11-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* gcc.target/s390/load-relative-check.c: Add -mzarch.

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

10 years ago * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
ebotcazou [Mon, 30 Nov 2015 12:20:06 +0000 (12:20 +0000)] 
* c-ada-spec.c (print_ada_macros): Remove redundant blank line.
(decl_sloc_common): Delete and move bulk of processing to...
(decl_sloc): ...here.
(pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
(dump_ada_double_name): Remove S parameter and compute the suffix.
(dump_ada_array_type): Add PARENT parameter.  Simplify computation of
element type and deal with an anonymous one.
(dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
(dump_generic_ada_node): Tweak.  Adjust call to dump_ada_array_type
and remove reference to QUAL_UNION_TYPE.
(dump_nested_types): Make 2 passes on the fields and move bulk to...
(dump_nested_type): ...here.  New function extracted from above.
Generate a full declaration for anonymous element type of arrays.
(print_ada_declaration): Really skip anonymous declarations.  Remove
references to QUAL_UNION_TYPE.  Adjust call to dump_ada_array_type.
Clean up processing of declarations of array types and objects.
(print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
Remove obsolete code and tidy up.

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

10 years ago * gcc-interface/trans.c (gigi): Fix initialization order.
ebotcazou [Mon, 30 Nov 2015 12:06:30 +0000 (12:06 +0000)] 
* gcc-interface/trans.c (gigi): Fix initialization order.

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

10 years ago * osint.adb: Add use type clause for CRTL.size_t.
ebotcazou [Mon, 30 Nov 2015 11:59:09 +0000 (11:59 +0000)] 
* osint.adb: Add use type clause for CRTL.size_t.
(C_String_Length): Return CRTL.size_t instead of Integer.
(To_Path_String_Access): Take CRTL.size_t instead of Integer.
(Get_Libraries_From_Registry): Use CRTL throughout.
(To_Canonical_Dir_Spec): Use CRTL.size_t instead of Integer.
(To_Canonical_File_List): Likewise.
(To_Canonical_File_Spec): Likewise.
(To_Canonical_Path_Spec): Likewise.
(To_Host_Dir_Spec): Likewise.
(To_Host_File_Spec): Likewise.
(Update_Path): Use CRTL throughout.
* s-shasto.adb: Add with clause for System.CRTL.
(Initialize): Rename CRTL.strncpy instead of importing it manually.

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

10 years ago * gcc-interface/gigi.h (create_var_decl): Adjust prototype.
ebotcazou [Mon, 30 Nov 2015 11:50:53 +0000 (11:50 +0000)] 
* gcc-interface/gigi.h (create_var_decl): Adjust prototype.
(create_subprog_decl): Likewise.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Rename
static_p into static_flag and add volatile_flag local variable.
Do not locally change the type of a volatile object, except for the
pointed-to type if the object is handled by reference.  Adjust calls
to create_var_decl.
<E_Subprogram_Type>: Likewise for const and noreturn subprograms.
(get_minimal_subprog_decl): Adjust call to create_subprog_decl.
(elaborate_expression_1): Adjust call to create_var_decl.
(gnat_to_gnu_field): Minor tweak.
* gcc-interface/trans.c (gigi): Adjust calls to create_var_decl and
create_subprog_decl.
(build_raise_check): Likewise.
(Subprogram_Body_to_gnu): Likewise.
(create_temporary): Likewise.
(Handled_Sequence_Of_Statements_to_gnu): Likewise.
(Exception_Handler_to_gnu_gcc): Likewise.
(Compilation_Unit_to_gnu): Likewise.
(gnat_to_gnu): Likewise.
* gcc-interface/utils.c (maybe_pad_type): Likewise.
(create_var_decl): Add VOLATILE_FLAG parameter and handle it.
(create_subprog_decl): Add CONST_FLAG and VOLATILE_FLAG parameters and
handle them.

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

10 years ago * gcc-interface/gigi.h (is_simple_additive_expression): Declare.
ebotcazou [Mon, 30 Nov 2015 11:46:32 +0000 (11:46 +0000)] 
* gcc-interface/gigi.h (is_simple_additive_expression): Declare.
* gcc-interface/trans.c (struct range_check_info_d): Add DISP and
NEG_P fields.
(find_loop_for): Add DISP and NEG_P parameters with default value.
Call is_simple_additive_expression to handle additive expressions.
(Loop_Statement_to_gnu): Deal with displacement in range checks.
(Raise_Error_to_gnu): Likewise.
(gnat_to_gnu): Add call to find_loop_for.
(is_simple_additive_expression): New function extracted from...
(gnat_invariant_expr): ...here.  Call it on the expression.

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

10 years ago * gcc-interface/utils2.c (gnat_invariant_expr): Add type conversions.
ebotcazou [Mon, 30 Nov 2015 11:34:31 +0000 (11:34 +0000)] 
* gcc-interface/utils2.c (gnat_invariant_expr): Add type conversions.

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

10 years ago * gcc-interface/ada-tree.h (TYPE_MAX_ALIGN): New macro.
ebotcazou [Mon, 30 Nov 2015 11:25:24 +0000 (11:25 +0000)] 
* gcc-interface/ada-tree.h (TYPE_MAX_ALIGN): New macro.
* gcc-interface/decl.c (gnat_to_gnu_entity): Do not set PACKED to -2.
Remove obsolete code setting the alignment on some atomic types.
When the type has no alignment but needs strict alignment and has a
size clause, compute a maximum alignment and set it on the type.
(adjust_packed): Remove handling of -2 argument.  Deal with TYPE_ALIGN
and TYPE_MAX_ALIGN directly.
(gnat_to_gnu_field): Do not document -2 as argument.
(components_to_record): Likewise.
* gcc-interface/utils.c (finish_record_type): Do not bump alignment of
the record type beyond TYPE_MAX_ALIGN.  Reset the latter on exit.

* gcc-interface/Makefile.in (PICFLAG_FOR_TARGET): Move around.
(GNATLIBCFLAGS_FOR_C): Reformat.
(GCC_CFLAGS): Delete.

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

10 years ago[AVX-512] Enable QI-mode mask logic patterns on non-AVX-512DQ targets.
kyukhin [Mon, 30 Nov 2015 10:50:56 +0000 (10:50 +0000)] 
[AVX-512] Enable QI-mode mask logic patterns on non-AVX-512DQ targets.

gcc/
* config/i386/i386.md (define_mode_iterator SWI1248_AVX512BW): New.
(define_insn "*k<logic><mode>"): Use new iterator.

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

10 years ago PR target/28115
ebotcazou [Mon, 30 Nov 2015 09:43:55 +0000 (09:43 +0000)] 
PR target/28115
* config/sparc/sparc.c (supersparc_adjust_cost): Fix thinko.
(sparc_adjust_cost): Add missing space.

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

10 years ago2015-11-30 Richard Biener <rguenther@suse.de>
rguenth [Mon, 30 Nov 2015 08:24:06 +0000 (08:24 +0000)] 
2015-11-30  Richard Biener  <rguenther@suse.de>

PR c/68162
* dwarf2out.c (gen_type_die_with_usage): Keep variant types
of arrays.

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

10 years ago2015-11-30 Venkataramanan Kumar <Venkataramanan.Kumar@amd.com>
vekumar [Mon, 30 Nov 2015 07:59:54 +0000 (07:59 +0000)] 
2015-11-30  Venkataramanan Kumar  <Venkataramanan.Kumar@amd.com>

* tree-if-conv.c (struct ifc_dr): Add new tree
base_predicate field.
(hash_memrefs_baserefs_and_store_DRs_read_written_info): Hash
base ref, DR pairs and store base_predicate for write type DRs.
(ifcvt_memrefs_wont_trap): Guard checks with
-ftree-loop-if-convert-stores flag.

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

10 years agoDaily bump.
gccadmin [Mon, 30 Nov 2015 00:16:14 +0000 (00:16 +0000)] 
Daily bump.

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

10 years ago2015-11-29 Matthias Klose <doko@ubuntu.com>
doko [Sun, 29 Nov 2015 22:41:00 +0000 (22:41 +0000)] 
2015-11-29  Matthias Klose  <doko@ubuntu.com>

        PR ada/68564
        * gcc-interface/Makefile.in: Fix powerpc/powerpc64* and
        mipsel/mips64el bitness detection.
        Merge the mipsel/mips64el definitions into one.

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

10 years ago * cgraph.c (cgraph_node::make_local): No name is unique during
hubicka [Sun, 29 Nov 2015 22:33:23 +0000 (22:33 +0000)] 
* cgraph.c (cgraph_node::make_local): No name is unique during
incremental linking.
* cgraph.h (can_be_discarded_p): Update comment; also common and
WEAK in named sections can be discarded; when doing incremental
link do not rely on resolution being the final one.
* varasm.c (default_binds_local_p_3, decl_binds_to_current_def_p):
When symbol can be discarded, do not rely on resolution info.
* symtab.c (symtab_node::nonzero_address): Take into account that
symbol can be discarded.
* ipa-visibility.c (update_visibility_by_resolution_info): Handle
definition correctly.
(function_and_variable_visibility): Do not set unique_name when
incrementally linking.

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

10 years ago PR c/67106
hubicka [Sun, 29 Nov 2015 19:50:04 +0000 (19:50 +0000)] 
PR c/67106
* gcc.c-torture/compile/pr67106.c: New testcase.
* c-decl.c: Set TYPE_PACKED in variants.

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

10 years ago PR c/67581
hubicka [Sun, 29 Nov 2015 19:48:45 +0000 (19:48 +0000)] 
PR c/67581
* g++.dg/torture/pr67581.C: New testcase.
* c-family/c-common.c (handle_transparent_union_attribute): Update
also type variants.

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

10 years ago * config/nvptx/nvptx.md (const_0_operand, global_mem_operand,
nathan [Sun, 29 Nov 2015 18:54:41 +0000 (18:54 +0000)] 
* config/nvptx/nvptx.md (const_0_operand, global_mem_operand,
const_mem_operand, param_mem_operand, shared_mem_operand): Delete.
(ctrap<mode>): Use const0_operand.

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

10 years ago * ipa-devirt.c (add_type_duplicate): Remove redundant ODR violation
hubicka [Sun, 29 Nov 2015 18:51:28 +0000 (18:51 +0000)] 
* ipa-devirt.c (add_type_duplicate): Remove redundant ODR violation
dump

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

10 years agoPR target/28115
dje [Sun, 29 Nov 2015 18:11:54 +0000 (18:11 +0000)] 
PR target/28115
* config/rs6000/rs6000.c (rs6000_adjust_cost): Correct
recog_memoized test for insn and check recog_memoized for dep_insn.

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

10 years agoDaily bump.
gccadmin [Sun, 29 Nov 2015 00:16:15 +0000 (00:16 +0000)] 
Daily bump.

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

10 years agoAdd to correct changelog
nathan [Sat, 28 Nov 2015 23:25:48 +0000 (23:25 +0000)] 
Add to correct changelog

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

10 years ago * config/nvptx/nvptx.h (FIRST_PARM_OFFSET): Add void cast.
nathan [Sat, 28 Nov 2015 23:24:20 +0000 (23:24 +0000)] 
* config/nvptx/nvptx.h (FIRST_PARM_OFFSET): Add void cast.
(FRAME_POINTER_CFA_OFFSET): Define.
(struct nvptx_args): Use 'tree' type.
(INIT_CUMULATIVE_ARGS): Remove unnecessary do...while.

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

10 years agoHandle flinker-output in lto-wrapper
vries [Sat, 28 Nov 2015 16:26:01 +0000 (16:26 +0000)] 
Handle flinker-output in lto-wrapper

2015-11-28  Tom de Vries  <tom@codesourcery.com>

* lto-wrapper.c (run_gcc): Handle -flinker-output argument.

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

10 years ago2015-11-28 Matthias Klose <doko@ubuntu.com>
doko [Sat, 28 Nov 2015 02:39:20 +0000 (02:39 +0000)] 
2015-11-28  Matthias Klose  <doko@ubuntu.com>

        PR ada/68564
        * gcc-interface/Makefile.in: Fix sparc/sparc64 bitness detection.

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

10 years agoDaily bump.
gccadmin [Sat, 28 Nov 2015 00:16:12 +0000 (00:16 +0000)] 
Daily bump.

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

10 years ago PR libgomp/68579
jakub [Fri, 27 Nov 2015 19:33:33 +0000 (19:33 +0000)] 
PR libgomp/68579
* task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
(gomp_create_target_task): Call it before freeing
GOMP_TARGET_TASK_DATA tasks.

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

10 years agoCopy-edit the Option Summary in invoke.texi
redi [Fri, 27 Nov 2015 18:38:48 +0000 (18:38 +0000)] 
Copy-edit the Option Summary in invoke.texi

* doc/invoke.texi (Option Summary): Use negative form of
-Waggressive-loop-optimizations, remove redundant -Wpedantic-ms-format,
sort alphabetically and re-justify.

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

10 years ago2015-11-27 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Fri, 27 Nov 2015 18:26:12 +0000 (18:26 +0000)] 
2015-11-27  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/68536
* lra.c (lra_emit_add): Add code for null base.
* lra-constraints.c (curr_insn_transform): Skip operators for
subreg reloads.

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

10 years agoPR other/61321 - demangler crash on casts in template parameters
trippels [Fri, 27 Nov 2015 14:48:21 +0000 (14:48 +0000)] 
PR other/61321 - demangler crash on casts in template parameters

The fix for bug 59195:

 [C++ demangler handles conversion operator incorrectly]
 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59195

unfortunately makes the demangler crash due to infinite recursion, in
case of casts in template parameters.

For example, with:

 template<int> struct A {};
 template <typename Y> void function_temp(A<sizeof ((Y)(999))>) {}
 template void function_temp<int>(A<sizeof (int)>);

The 'function_temp<int>' instantiation above mangles to:

  _Z13function_tempIiEv1AIXszcvT_Li999EEE

The demangler parses this as:

typed name
  template
    name 'function_temp'
    template argument list
      builtin type int
  function type
    builtin type void
    argument list
      template                          (*)
        name 'A'
        template argument list
          unary operator
            operator sizeof
            unary operator
              cast
                template parameter 0    (**)
              literal
                builtin type int
                name '999'

And after the fix for 59195, due to:

 static void
 d_print_cast (struct d_print_info *dpi, int options,
       const struct demangle_component *dc)
 {
 ...
   /* For a cast operator, we need the template parameters from
      the enclosing template in scope for processing the type.  */
   if (dpi->current_template != NULL)
     {
       dpt.next = dpi->templates;
       dpi->templates = &dpt;
       dpt.template_decl = dpi->current_template;
     }

when printing the template argument list of A (what should be "<sizeof
(int)>"), the template parameter 0 (that is, "T_", the '**' above) now
refers to the first parameter of the the template argument list of the
'A' template (the '*' above), exactly what we were already trying to
print.  This leads to infinite recursion, and stack exaustion.  The
template parameter 0 should actually refer to the first parameter of
the 'function_temp' template.

Where it reads "for the cast operator" in the comment in d_print_cast
(above), it's really talking about a conversion operator, like:

  struct A { template <typename U> explicit operator U(); };

We don't want to inject the template parameters from the enclosing
template in scope when processing a cast _expression_, only when
handling a conversion operator.

The problem is that DEMANGLE_COMPONENT_CAST is currently ambiguous,
and means _both_ 'conversion operator' and 'cast expression'.

Fix this by adding a new DEMANGLE_COMPONENT_CONVERSION component type,
which does what DEMANGLE_COMPONENT_CAST does today, and making
DEMANGLE_COMPONENT_CAST just simply print its component subtree.

I think we could instead reuse DEMANGLE_COMPONENT_CAST and in
d_print_comp_inner still do:

 @@ -5001,9 +5013,9 @@ d_print_comp_inner (struct d_print_info *dpi, int options,
        d_print_comp (dpi, options, dc->u.s_extended_operator.name);
        return;

     case DEMANGLE_COMPONENT_CAST:
       d_append_string (dpi, "operator ");
 -     d_print_cast (dpi, options, dc);
 +     d_print_conversion (dpi, options, dc);
       return;

leaving the unary cast case below calling d_print_cast, but seems to
me that spliting the component types makes it easier to reason about
the code.

g++'s testsuite actually generates three symbols that crash the
demangler in the same way.  I've added those as tests in the demangler
testsuite as well.

And then this fixes PR other/61233 too, which happens to be a
demangler crash originally reported to GDB, at:
https://sourceware.org/bugzilla/show_bug.cgi?id=16957

Bootstrapped and regtested on x86_64 Fedora 20.

Also ran this through GDB's testsuite.  GDB will require a small
update to use DEMANGLE_COMPONENT_CONVERSION in one place it's using
DEMANGLE_COMPONENT_CAST in its sources.

libiberty/
2015-11-27  Pedro Alves  <palves@redhat.com>

        PR other/61321
        PR other/61233
        * demangle.h (enum demangle_component_type)
        <DEMANGLE_COMPONENT_CONVERSION>: New value.
        * cp-demangle.c (d_demangle_callback, d_make_comp): Handle
        DEMANGLE_COMPONENT_CONVERSION.
        (is_ctor_dtor_or_conversion): Handle DEMANGLE_COMPONENT_CONVERSION
        instead of DEMANGLE_COMPONENT_CAST.
        (d_operator_name): Return a DEMANGLE_COMPONENT_CONVERSION
        component if handling a conversion.
        (d_count_templates_scopes, d_print_comp_inner): Handle
        DEMANGLE_COMPONENT_CONVERSION.
        (d_print_comp_inner): Handle DEMANGLE_COMPONENT_CONVERSION instead
        of DEMANGLE_COMPONENT_CAST.
        (d_print_cast): Rename as ...
        (d_print_conversion): ... this.  Adjust comments.
        (d_print_cast): Rewrite - simply print the left subcomponent.
        * cp-demint.c (cplus_demangle_fill_component): Handle
        DEMANGLE_COMPONENT_CONVERSION.

        * testsuite/demangle-expected: Add tests.

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

10 years agoFix FAIL: gcc.c-torture/execute/20050124-1.c -O2 (internal compiler error)
ktkachov [Fri, 27 Nov 2015 14:39:34 +0000 (14:39 +0000)] 
Fix FAIL: gcc.c-torture/execute/20050124-1.c   -O2  (internal compiler error)

Revert
2015-11-27  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* ifcvt.c (insn_valid_noce_process_p): Reject insn if it satisfies
multiple_sets.
(noce_try_cmove_arith): Add checking asserts that orig_a and orig_b
are not modified by the final modified insns in the basic blocks.

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

10 years ago * config/nvptx/nvptx-protos.h (nvptx_addr_space_from_address):
nathan [Fri, 27 Nov 2015 14:22:26 +0000 (14:22 +0000)] 
* config/nvptx/nvptx-protos.h (nvptx_addr_space_from_address):
Don't declare.
* config/nvptx/nvptx.c (nvptx_addr_space_from_sym): New.
(nvptx_maybe_convert_symbolic_operand): Simplify.
(nvptx_addr_space_from_address): Delete.
(nvptx_print_operand): Adjust 'A' case.

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

10 years ago2015-11-27 Richard Biener <rguenther@suse.de>
rguenth [Fri, 27 Nov 2015 14:17:28 +0000 (14:17 +0000)] 
2015-11-27  Richard Biener  <rguenther@suse.de>

PR tree-optimization/68559
* tree-vect-data-refs.c (vect_analyze_group_access_1): Move
peeling for gap checks ...
* tree-vect-stmts.c (vectorizable_load): ... here and relax
for SLP.
* tree-vect-loop.c (vect_analyze_loop_2): Re-set
LOOP_VINFO_PEELING_FOR_GAPS before re-trying without SLP.

* gcc.dg/vect/slp-perm-4.c: Adjust again.
* gcc.dg/vect/pr45752.c: Likewise.

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

10 years ago * config/nvptx/nvptx-protos.h (nvptx_record_needed_decl): Don't
nathan [Fri, 27 Nov 2015 13:57:09 +0000 (13:57 +0000)] 
* config/nvptx/nvptx-protos.h (nvptx_record_needed_decl): Don't
declaree.
* config/nvptx/nvptx.c (write_func_decl_from_insn): Move earlier.
(nvptx_record_fndecl): Don't return value, remove force
argyment. Require fndecl.
(nvptx_record_libfunc): New.
(nvptx_record_needed_decl): Deteermine how to record decl here.
(nvptx_maybe_record_fnsym): New.
(nvptx_expand_call): Don't record libfuncs here,
(nvptx_maybe_convert_symbolic_operand): Use
nvptx_maye_record_fnsym.
(nvptx_assemble_integer): Reimplement with single switch.
(nvptx_output_call_insn): Register libfuncs here.
(nvptx_file_end): Adjust  nvptx_record_fndecl call.
* config/nvptx/nvptx.md (expand_movdi): Don't call
nvptx_record_needed_decl.

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

10 years ago PR rtl-optimization/68250
jakub [Fri, 27 Nov 2015 12:12:35 +0000 (12:12 +0000)] 
PR rtl-optimization/68250
* gcc.c-torture/execute/pr68250.c: New test.

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

10 years ago * gcc.dg/pr63568.c: Convert to GIMPLE.
mpolacek [Fri, 27 Nov 2015 11:38:46 +0000 (11:38 +0000)] 
* gcc.dg/pr63568.c: Convert to GIMPLE.

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

10 years ago2015-11-27 Richard Biener <rguenther@suse.de>
rguenth [Fri, 27 Nov 2015 11:17:51 +0000 (11:17 +0000)] 
2015-11-27  Richard Biener  <rguenther@suse.de>

PR tree-optimization/68553
* tree-vect-slp.c (vect_create_mask_and_perm): Skip VEC_PERM_EXPR
generation for 1:1 permutations.
(vect_transform_slp_perm_load): Detect 1:1 permutations.

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

10 years agoBe more careful about barriers when speculating conditional stores.
bernds [Fri, 27 Nov 2015 10:05:36 +0000 (10:05 +0000)] 
Be more careful about barriers when speculating conditional stores.

* gimple.h (nonbarrier_call_p): Declare.
* gimple.c (nonbarrier_call_p): New function.
* tree-ssa-phiopt.c (nontrapping_dom_walker::before_dom_children):
Also increment call phase for ASMs with vdef and potential barrier
calls.

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

10 years ago[RTL-ifcvt] Reject insns that are multiple_sets
ktkachov [Fri, 27 Nov 2015 09:52:09 +0000 (09:52 +0000)] 
[RTL-ifcvt] Reject insns that are multiple_sets

* ifcvt.c (insn_valid_noce_process_p): Reject insn if it satisfies
multiple_sets.
(noce_try_cmove_arith): Add checking asserts that orig_a and orig_b
are not modified by the final modified insns in the basic blocks.

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

10 years ago[RTL-ifcvt] PR rtl-optimization/68506: Fix emitting order of insns in IF-THEN-JOIN...
ktkachov [Fri, 27 Nov 2015 09:49:38 +0000 (09:49 +0000)] 
[RTL-ifcvt] PR rtl-optimization/68506: Fix emitting order of insns in IF-THEN-JOIN case

PR rtl-optimization/68506
* ifcvt.c (noce_try_cmove_arith): Try emitting the else basic block
first if emit_a exists or then_bb modifies 'b'.  Reindent if-else
blocks.

* gcc.c-torture/execute/pr68506.c: New test.

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

10 years agoFix memory leak in cilk
marxin [Fri, 27 Nov 2015 09:36:20 +0000 (09:36 +0000)] 
Fix memory leak in cilk

PR c++/68312
* c-array-notation.c (fix_builtin_array_notation_fn):
Use release_vec_vec instead of vec::release.
(build_array_notation_expr): Likewise.
(fix_conditional_array_notations_1): Likewise.
(fix_array_notation_expr): Likewise.
(fix_array_notation_call_expr): Likewise.
PR c++/68312
* cp-array-notation.c (expand_sec_reduce_builtin):
Likewise.
(create_array_refs): Replace argument with const reference.
(expand_an_in_modify_expr): Likewise.
(cp_expand_cond_array_notations): Likewise.
(expand_unary_array_notation_exprs): Likewise.
PR c++/68312
* array-notation-common.c (cilkplus_extract_an_triplets):
Release vector of vectors.
* cilk.c (gimplify_cilk_spawn): Free allocated memory.
PR c++/68312
* vec.h (release_vec_vec): New function.

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

10 years ago PR tree-optimization/68552
jakub [Fri, 27 Nov 2015 09:01:20 +0000 (09:01 +0000)] 
PR tree-optimization/68552
* optabs.c (expand_vec_perm_1): Move vec_shr handling from here...
(expand_vec_perm): ... here.  Do it regardless of vec_perm_const_optab
or whether v0 == v1.

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

10 years ago PR c/63326
jakub [Fri, 27 Nov 2015 08:59:55 +0000 (08:59 +0000)] 
PR c/63326
* c-parser.c (c_parser_compound_statement_nostart): If
last_label is true, use pragma_stmt instead of pragma_compound
as second c_parser_pragma argument.
(c_parser_omp_ordered, c_parser_omp_target_update,
c_parser_omp_target_enter_data, c_parser_omp_target_exit_data): Pass
false as second argument to c_parser_skip_to_pragma_eol after
diagnosing standalone directives used in pragma_stmt context.

* parser.c (cp_parser_statement): Clear in_compound after labels.

* gcc.dg/gomp/barrier-2.c (f2): Expect another error after label.
* c-c++-common/gomp/pr63326.c: New test.

* testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
in between case label and OpenMP standalone directives.
* testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.

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

10 years agoReplace spaces with tabs and remove trailing whitespaces
marxin [Fri, 27 Nov 2015 08:43:56 +0000 (08:43 +0000)] 
Replace spaces with tabs and remove trailing whitespaces

* tree-ssa-uninit.c: Fix whitespaces in the source file.
The change is just automatical.

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

10 years agoFix memory leak in tree-chkp.c
marxin [Fri, 27 Nov 2015 08:39:00 +0000 (08:39 +0000)] 
Fix memory leak in tree-chkp.c

* tree-chkp.c (chkp_make_static_bounds): Release buffer
used for string.

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

10 years agoFix parser memory leak in cilk_simd_fn_info
marxin [Fri, 27 Nov 2015 08:37:44 +0000 (08:37 +0000)] 
Fix parser memory leak in cilk_simd_fn_info

* parser.c (cp_parser_late_parsing_cilk_simd_fn_info):
Release tokens.

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

10 years agoFix memory leak in loop_vec_info
marxin [Fri, 27 Nov 2015 08:37:23 +0000 (08:37 +0000)] 
Fix memory leak in loop_vec_info

* tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
Do not release memory for comp_alias_ddrs.
* tree-vect-loop.c (destroy_loop_vec_info): Release
the memory for all loop_vec_info.

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

10 years agoFix memory leaks in IPA devirt
marxin [Fri, 27 Nov 2015 08:36:52 +0000 (08:36 +0000)] 
Fix memory leaks in IPA devirt

* ipa-devirt.c (ipa_devirt): Use auto_vec instead
of a local-scope vec.
(struct final_warning_record): Use auto_vec instead
of vec.

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

10 years ago2015-11-27 Richard Biener <rguenther@suse.de>
rguenth [Fri, 27 Nov 2015 08:31:44 +0000 (08:31 +0000)] 
2015-11-27  Richard Biener  <rguenther@suse.de>

PR tree-optimization/68553
* tree-vect-slp.c (vect_get_mask_element): Remove.
(vect_transform_slp_perm_load): Implement in a simpler way.

* gcc.dg/vect/pr45752.c: Adjust.
* gcc.dg/vect/slp-perm-4.c: Likewise.

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

10 years agoDaily bump.
gccadmin [Fri, 27 Nov 2015 00:16:15 +0000 (00:16 +0000)] 
Daily bump.

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

10 years agoCorrectly handle ARM targets.
msebor [Thu, 26 Nov 2015 23:31:32 +0000 (23:31 +0000)] 
Correctly handle ARM targets.
* g++.dg/init/new45.C (cookie_size): New constant set to a value
appropriate for the target.
(operator new[]): Use it.

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

10 years ago[PR67753] adjust for padding when bypassing memory in assign_parm_setup_block
aoliva [Thu, 26 Nov 2015 21:57:40 +0000 (21:57 +0000)] 
[PR67753] adjust for padding when bypassing memory in assign_parm_setup_block

Storing a register in memory as a full word and then accessing the
same memory address under a smaller-than-word mode amounts to
right-shifting of the register word on big endian machines.  So, if
BLOCK_REG_PADDING chooses upward padding for BYTES_BIG_ENDIAN, and
we're copying from the entry_parm REG directly to a pseudo, bypassing
any stack slot, perform the shifting explicitly.

This fixes the miscompile of function_return_val_10 in
gcc.target/aarch64/aapcs64/func-ret-4.c for target aarch64_be-elf
introduced in the first patch for 67753.

for  gcc/ChangeLog

PR rtl-optimization/67753
PR rtl-optimization/64164
* function.c (assign_parm_setup_block): Right-shift
upward-padded big-endian args when bypassing the stack slot.

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

10 years agoMIPS/GCC/doc: Reorder `-mcompact-branches='
macro [Thu, 26 Nov 2015 20:50:54 +0000 (20:50 +0000)] 
MIPS/GCC/doc: Reorder `-mcompact-branches='

Move the `-mcompact-branches=' option out of the middle of a block of
floating-point options.  The option is not related to FP in any way.
Place it immediately below other branch instruction selection options.

* doc/invoke.texi (Option Summary) <MIPS Options>: Reorder
`-mcompact-branches='.
(MIPS Options): Likewise.

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

10 years agoFix whitespacing.
mrs [Thu, 26 Nov 2015 20:48:29 +0000 (20:48 +0000)] 
Fix whitespacing.

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

10 years ago * Makefile.in (build/genmatch.o): Depend on internal-fn.def.
jakub [Thu, 26 Nov 2015 20:00:33 +0000 (20:00 +0000)] 
* Makefile.in (build/genmatch.o): Depend on internal-fn.def.

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

10 years ago2015-11-26 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 26 Nov 2015 18:43:47 +0000 (18:43 +0000)] 
2015-11-26  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/67238
* g++.dg/cpp0x/pr67238.C: New.

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

10 years agogcc/testsuite/
msebor [Thu, 26 Nov 2015 18:01:02 +0000 (18:01 +0000)] 
gcc/testsuite/
* g++.dg/pr67876.C: Remove duplicate content.

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

10 years agogcc/cp/ChangeLog:
uweigand [Thu, 26 Nov 2015 17:52:01 +0000 (17:52 +0000)] 
gcc/cp/ChangeLog:

2015-11-26  Andreas Arnez  <arnez@linux.vnet.ibm.com>

* cp-gimplify.c (genericize_cp_loop): Change LOOP_EXPR's location
to start of loop body instead of start of loop.

gcc/testsuite/ChangeLog:

2015-11-26  Andreas Arnez  <arnez@linux.vnet.ibm.com>

* g++.dg/guality/pr67192.C: New test.

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

10 years ago * doc/install.texi (Prerequisites): Increase ISL requirement to
dje [Thu, 26 Nov 2015 16:57:23 +0000 (16:57 +0000)] 
    * doc/install.texi (Prerequisites): Increase ISL requirement to
        0.14 or 0.15.

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

10 years agoEnsure another pretty-printer test uses C++98 mode
redi [Thu, 26 Nov 2015 16:25:55 +0000 (16:25 +0000)] 
Ensure another pretty-printer test uses C++98 mode

* testsuite/libstdc++-prettyprinters/debug.cc: Add -std=gnu++98 to
dg-options and avoid use of uniform-init.

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

10 years agolibitm: Use multiplicative hashing in the multi-lock TM method.
torvald [Thu, 26 Nov 2015 16:10:54 +0000 (16:10 +0000)] 
libitm: Use multiplicative hashing in the multi-lock TM method.

* method-ml.cc (ml_mg): Use multiplicative instead of simple hashing.
(ml_wt_dispatch::pre_write): Adapt.
(ml_wt_dispatch::pre_load): Likewise.

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

10 years agoEnsure pretty-printer test uses C++98 mode
redi [Thu, 26 Nov 2015 15:42:47 +0000 (15:42 +0000)] 
Ensure pretty-printer test uses C++98 mode

* testsuite/libstdc++-prettyprinters/simple.cc: Add -std=gnu++98 to
dg-options and avoid use of uniform-init.

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

10 years ago[AArch64] Add NEON intrinsics vqrdmlah_lane and vqrdmlsh_lane.
mwahab [Thu, 26 Nov 2015 15:19:57 +0000 (15:19 +0000)] 
[AArch64] Add NEON intrinsics vqrdmlah_lane and vqrdmlsh_lane.

        gcc/
* gcc/config/aarch64/arm_neon.h
(vqrdmlah_laneq_s16, vqrdmlah_laneq_s32): New.
(vqrdmlahq_laneq_s16, vqrdmlahq_laneq_s32): New.
(vqrdmlsh_lane_s16, vqrdmlsh_lane_s32): New.
(vqrdmlshq_laneq_s16, vqrdmlshq_laneq_s32): New.
(vqrdmlah_lane_s16, vqrdmlah_lane_s32): New.
(vqrdmlahq_lane_s16, vqrdmlahq_lane_s32): New.
(vqrdmlahh_s16, vqrdmlahh_lane_s16, vqrdmlahh_laneq_s16): New.
(vqrdmlahs_s32, vqrdmlahs_lane_s32, vqrdmlahs_laneq_s32): New.
(vqrdmlsh_lane_s16, vqrdmlsh_lane_s32): New.
(vqrdmlshq_lane_s16, vqrdmlshq_lane_s32): New.
(vqrdmlshh_s16, vqrdmlshh_lane_s16, vqrdmlshh_laneq_s16): New.
(vqrdmlshs_s32, vqrdmlshs_lane_s32, vqrdmlshs_laneq_s32): New.

        gcc/testsuite
* gcc.target/aarch64/advsimd-intrinsics/vqrdmlXh_lane.inc: New file,
support code for vqrdml{as}h_lane tests.
* gcc.target/aarch64/advsimd-intrinsics/vqrdmlah_lane.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vqrdmlsh_lane.c: New.

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

10 years ago[AArch64] Add NEON intrinsics vqrdmlah and vqrdmlsh.
mwahab [Thu, 26 Nov 2015 15:13:02 +0000 (15:13 +0000)] 
[AArch64] Add NEON intrinsics vqrdmlah and vqrdmlsh.

        gcc/
* gcc/config/aarch64/arm_neon.h (vqrdmlah_s16, vqrdmlah_s32): New.
(vqrdmlahq_s16, vqrdmlahq_s32): New.
(vqrdmlsh_s16, vqrdmlsh_s32): New.
(vqrdmlshq_s16, vqrdmlshq_s32): New.

        gcc/testsuite
* gcc.target/aarch64/advsimd-intrinsics/vqrdmlXh.inc: New file,
support code for vqrdml{as}h tests.
* gcc.target/aarch64/advsimd-intrinsics/vqrdmlah.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vqrdmlsh.c: New.

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

10 years ago[AArch64][dejagnu] Dejagnu support for ARMv8.1 Adv.SIMD.
mwahab [Thu, 26 Nov 2015 15:06:04 +0000 (15:06 +0000)] 
[AArch64][dejagnu] Dejagnu support for ARMv8.1 Adv.SIMD.

        gcc/testsuite
* lib/target-supports.exp (add_options_for_arm_v8_1a_neon): New.
(check_effective_target_arm_arch_FUNC_ok)
(add_options_for_arm_arch_FUNC)
(check_effective_target_arm_arch_FUNC_multilib): Add "armv8.1-a"
to the list to be generated.
(check_effective_target_arm_v8_1a_neon_ok_nocache): New.
(check_effective_target_arm_v8_1a_neon_ok): New.
(check_effective_target_arm_v8_1a_neon_hw): New.

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

10 years ago[AArch64] Add ACLE feature macro for ARMv8.1 Adv.SIMD instructions.
mwahab [Thu, 26 Nov 2015 14:59:10 +0000 (14:59 +0000)] 
[AArch64] Add ACLE feature macro for ARMv8.1 Adv.SIMD instructions.

* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Add
ARM_FEATURE_QRDMX.

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

10 years agoDWARF: fix loc. descr. generation for DW_AT_static_link
pmderodat [Thu, 26 Nov 2015 14:56:24 +0000 (14:56 +0000)] 
DWARF: fix loc. descr. generation for DW_AT_static_link

gcc/ChangeLog:

PR debug/53927
* tree-nested.c (finalize_nesting_tree_1): Append a field to
hold the frame base address.
* dwarf2out.c (gen_subprogram_die): Generate for
DW_AT_static_link a location description that computes the value
of this field.

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

10 years agoRevert "Improve verification of loop->latch in verify_loop_structure"
vries [Thu, 26 Nov 2015 14:35:27 +0000 (14:35 +0000)] 
Revert "Improve verification of loop->latch in verify_loop_structure"

2015-11-26  Tom de Vries  <tom@codesourcery.com>

revert:
2015-11-25  Tom de Vries  <tom@codesourcery.com>

* cfgloop.c (find_single_latch): New function, factored out of ...
(flow_loops_find): ... here.
(verify_loop_structure): Improve verification of loop->latch.
* cfgloop.h (find_single_latch): Declare.
* omp-low.c (expand_omp_for_generic): Initialize latch of orig_loop.

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

10 years ago * config/aarch64/aarch64-simd-builtins.def:
mwahab [Thu, 26 Nov 2015 14:17:04 +0000 (14:17 +0000)] 
* config/aarch64/aarch64-simd-builtins.def:
Add missing changes from r230962.

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

10 years ago * config/nvptx/nvptx.c (write_func_decl_from_insn): Replace callee
nathan [Thu, 26 Nov 2015 14:13:28 +0000 (14:13 +0000)] 
* config/nvptx/nvptx.c (write_func_decl_from_insn): Replace callee
arg with name.  Don't deal with split regs.  Tweak formatting.
(nvptx_expand_call): Adjust write_func_decl_from_insn call.
(nvptx_output_call_insn): Don't deal with split regs here.

testsuite/
* gcc.target/nvptx/proto-1.c: Adjust expected asm.

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

10 years ago2015-11-26 Richard Biener <rguenther@suse.de>
rguenth [Thu, 26 Nov 2015 14:01:26 +0000 (14:01 +0000)] 
2015-11-26  Richard Biener  <rguenther@suse.de>

PR testsuite/68555
* gcc.dg/vect/bb-slp-10.c: Adjust pattern, use target selector
and not XFAIL.

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

10 years ago[AArch64] Add builtins for ARMv8.1 Adv.SIMD instructions.
mwahab [Thu, 26 Nov 2015 13:57:42 +0000 (13:57 +0000)] 
[AArch64] Add builtins for ARMv8.1 Adv.SIMD instructions.

* config/aarch64/aarch64-simd-builtins.def
(sqrdmlah, sqrdmlsh): New.
(sqrdmlah_lane, sqrdmlsh_lane): New.
(sqrdmlah_laneq, sqrdmlsh_laneq): New.

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

10 years ago2015-11-26 Richard Biener <rguenther@suse.de>
rguenth [Thu, 26 Nov 2015 13:51:40 +0000 (13:51 +0000)] 
2015-11-26  Richard Biener  <rguenther@suse.de>

PR testsuite/68554
* gcc.dg/vect/bb-slp-subgroups-2.c: Require vect_perm.

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

10 years ago[AArch64] Add sqrdmah, sqrdmsh instructions.
mwahab [Thu, 26 Nov 2015 13:50:47 +0000 (13:50 +0000)] 
[AArch64] Add sqrdmah, sqrdmsh instructions.

* config/aarch64/aarch64-simd.md
(aarch64_sqmovun<mode>): Fix some white-space.
(aarch64_<sur>qmovun<mode>): Likewise.
(aarch64_sqrdml<SQRDMLH_AS:rdma_as>h<mode>): New.
(aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): New.
(aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): New.
* config/aarch64/iterators.md (UNSPEC_SQRDMLAH): New.
(UNSPEC_SQRDMLSH): New.
(SQRDMLH_AS): New.
(rdma_as): New.

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

10 years ago * g++.dg/tree-ssa/pr61034.C: Scan tree dumps also for alpha*-*-*.
uros [Thu, 26 Nov 2015 13:50:19 +0000 (13:50 +0000)] 
* g++.dg/tree-ssa/pr61034.C: Scan tree dumps also for alpha*-*-*.

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

10 years ago2015-11-26 Richard Biener <rguenther@suse.de>
rguenth [Thu, 26 Nov 2015 13:46:59 +0000 (13:46 +0000)] 
2015-11-26  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66721
* tree-vect-loop.c (vect_analyze_loop_2): Compute scalar
iteration cost earlier.  Re-do analysis without SLP when
vectorization using SLP fails and without has a chance to succeed.

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

10 years ago2015-11-26 Richard Biener <rguenther@suse.de>
rguenth [Thu, 26 Nov 2015 13:45:45 +0000 (13:45 +0000)] 
2015-11-26  Richard Biener  <rguenther@suse.de>

* genmatch.c (dt_simplify::gen_1): For generic wrap all
multi-result-use captures in a SAVE_EXPR.

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

10 years agoFix typo
dje [Thu, 26 Nov 2015 13:44:36 +0000 (13:44 +0000)] 
Fix typo

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

10 years ago[AArch64] Add support for ARMv8.1 Adv.SIMD instructions.
mwahab [Thu, 26 Nov 2015 13:39:20 +0000 (13:39 +0000)] 
[AArch64] Add support for ARMv8.1 Adv.SIMD instructions.

* config/aarch64/aarch64.h (AARCH64_ISA_RDMA): New.
(TARGET_SIMD_RDMA): New.

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

10 years ago* configure: Regenerate.
dje [Thu, 26 Nov 2015 13:27:21 +0000 (13:27 +0000)] 
* configure: Regenerate.

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

10 years ago* configure: Regenerate.
dje [Thu, 26 Nov 2015 13:24:19 +0000 (13:24 +0000)] 
* configure: Regenerate.

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

10 years ago* libtool.m4 (export_symbols_cmds) [AIX]: Add global TLS "L" symbols.
dje [Thu, 26 Nov 2015 13:20:59 +0000 (13:20 +0000)] 
* libtool.m4 (export_symbols_cmds) [AIX]: Add global TLS "L" symbols.

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

10 years ago2015-11-26 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 26 Nov 2015 13:14:45 +0000 (13:14 +0000)] 
2015-11-26  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/67249
* g++.dg/concepts/pr67249.C: New.

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

10 years ago[combine] Only restrict pure simplification in mult-extend subst case, allow other...
ktkachov [Thu, 26 Nov 2015 13:07:29 +0000 (13:07 +0000)] 
[combine] Only restrict pure simplification in mult-extend subst case, allow other substitutions

* combine.c (subst): Do not return clobber of zero in widening mult
case.  Just return x unchanged if it is a no-op substitution.

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

10 years ago2015-11-26 Richard Biener <rguenther@suse.de>
rguenth [Thu, 26 Nov 2015 12:15:43 +0000 (12:15 +0000)] 
2015-11-26  Richard Biener  <rguenther@suse.de>

PR testsuite/66799
* gcc.dg/vect/pr20122.c (main): Do not align Kernel, do not
vectorize init loop and adjust expected outcome.

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

10 years ago PR c++/68527
ebotcazou [Thu, 26 Nov 2015 12:04:50 +0000 (12:04 +0000)] 
PR c++/68527
* c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
(print_ada_struct_decl): Likewise.

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

10 years ago2015-11-26 Richard Biener <rguenther@suse.de>
rguenth [Thu, 26 Nov 2015 11:53:13 +0000 (11:53 +0000)] 
2015-11-26  Richard Biener  <rguenther@suse.de>

PR testsuite/67203
* g++.dg/tree-ssa/pr61034.C: Make expected optimization result
dependent on PUSH_ARGS_REVERSED.  Drop optimization level and
also monitor final optimization result.

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

10 years ago PR rtl-optimization/68249
jakub [Thu, 26 Nov 2015 11:52:11 +0000 (11:52 +0000)] 
PR rtl-optimization/68249
PR rtl-optimization/68321
* gcc.c-torture/execute/pr68249.c: New test.
* gcc.c-torture/execute/pr68321.c: New test.

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

10 years agogcc/
ienkovich [Thu, 26 Nov 2015 11:49:20 +0000 (11:49 +0000)] 
gcc/

2015-11-26  Vladimir Makarov  <vmakarov@redhat.com>

PR target/68416
* config/i386/i386.h (enum reg_class): Add
bounds registers to ALL_REGS.

gcc/testsuite/

2015-11-26  Ilya Enkovich  <enkovich.gnu@gmail.com>

PR target/68416
* gcc.target/i386/mpx/pr68416.c: New test.

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

10 years agoBack out latest change.
ebotcazou [Thu, 26 Nov 2015 11:17:20 +0000 (11:17 +0000)] 
Back out latest change.

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

10 years ago2015-11-26 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 26 Nov 2015 10:37:33 +0000 (10:37 +0000)] 
2015-11-26  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/67313
* g++.dg/cpp0x/no-weak1.C: New.

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

10 years ago PR tree-optimization/68128
jakub [Thu, 26 Nov 2015 10:18:50 +0000 (10:18 +0000)] 
PR tree-optimization/68128
* tree.h (OMP_CLAUSE_SHARED_READONLY): Define.
* gimplify.c: Include gimple-walk.h.
(enum gimplify_omp_var_data): Add GOVD_WRITTEN.
(omp_notice_variable): Set flags to n->value if n already
exists in target region, but we need to jump to do_outer.
(omp_shared_to_firstprivate_optimizable_decl_p,
omp_mark_stores, omp_find_stores_op, omp_find_stores_stmt): New
functions.
(gimplify_adjust_omp_clauses_1): Set OMP_CLAUSE_SHARED_READONLY
on OMP_CLAUSE_SHARED if it is a scalar non-addressable that is
not modified in the body.  Call omp_mark_stores for outer
contexts on OMP_CLAUSE_SHARED clauses if they could be written
in the body or on OMP_CLAUSE_LASTPRIVATE.
(gimplify_adjust_omp_clauses): Add body argument, call
omp_find_stores_{stmt,op} on the body through walk_gimple_seq.
Set OMP_CLAUSE_SHARED_READONLY
on OMP_CLAUSE_SHARED if it is a scalar non-addressable that is
not modified in the body.  Call omp_mark_stores for outer
contexts on OMP_CLAUSE_SHARED clauses if they could be written
in the body or on OMP_CLAUSE_LASTPRIVATE or on OMP_CLAUSE_LINEAR
without OMP_CLAUSE_LINEAR_NO_COPYOUT or on OMP_CLAUSE_REDUCTION.
(gimplify_oacc_cache, gimplify_omp_parallel, gimplify_omp_task,
gimplify_omp_for, gimplify_omp_workshare, gimplify_omp_target_update,
gimplify_expr): Adjust gimplify_adjust_omp_clauses callers.
* tree-nested.c (convert_nonlocal_omp_clauses,
convert_local_omp_clauses): Clear OMP_CLAUSE_SHARED_READONLY on
non-local vars or local vars referenced from nested routines.
* omp-low.c (scan_sharing_clauses): For OMP_CLAUSE_SHARED_READONLY
attempt to optimize it into OMP_CLAUSE_FIRSTPRIVATE.  Even for
TREE_READONLY, don't call use_pointer_for_field with non-NULL
second argument until we are sure we are keeping OMP_CLAUSE_SHARED.

* gcc.dg/gomp/pr68128-1.c: New test.
* gcc.dg/gomp/pr68128-2.c: New test.

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

10 years ago2015-11-26 Paolo Bonzini <bonzini@gnu.org>
bonzini [Thu, 26 Nov 2015 10:16:56 +0000 (10:16 +0000)] 
2015-11-26  Paolo Bonzini <bonzini@gnu.org>

* doc/implement-c.texi (Integers Implementation): Make GCC's promises
about signed left shift stronger and clarify the cases when they're
broken.

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

10 years ago[calls.c] PR rtl-optimization/67226: Take into account pretend_args_size when checkin...
ktkachov [Thu, 26 Nov 2015 09:58:28 +0000 (09:58 +0000)] 
[calls.c] PR rtl-optimization/67226: Take into account pretend_args_size when checking stack offsets for sibcall optimisation

2015-11-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
            Bernd Schmidt  <bschmidt@redhat.com>

PR rtl-optimization/67226
* calls.c (store_one_arg): Take into account
crtl->args.pretend_args_size when checking for overlap between
arg->value and argblock + arg->locate.offset during sibcall
optimization.

* gcc.c-torture/execute/pr67226.c: New test.

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

10 years ago PR c++/68508
jakub [Thu, 26 Nov 2015 09:52:48 +0000 (09:52 +0000)] 
PR c++/68508
* cp-tree.h (cp_ubsan_maybe_instrument_downcast): Add INTYPE argument.
* cp-ubsan.c (cp_ubsan_maybe_instrument_downcast): Likewise.  Use
it instead of or in addition to TREE_TYPE (op).  Use
is_properly_derived_from, return NULL_TREE if TREE_TYPE (intype) and
TREE_TYPE (type) are the same type minus qualifiers.
* typeck.c (build_static_cast_1): Adjust callers.

* g++.dg/ubsan/pr68508.C: New test.

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

10 years ago[AArch64] Update patterns to support FP zero
jiwang [Thu, 26 Nov 2015 09:46:34 +0000 (09:46 +0000)] 
[AArch64] Update patterns to support FP zero

2015-11-26  Wilco Dijkstra  <wdijkstr@arm.com>

* config/aarch64/aarch64.md (cbranch<mode>4): Use
aarch64_fp_compare_operand.
(store_pairsf): Use aarch64_reg_or_fp_zero.
(store_pairdf): Likewise.
(cstore<mode>4): Use aarch64_fp_compare_operand.
(cmov<mode>6): Likewise.
* config/aarch64/aarch64-ldpstp.md: Use aarch64_reg_or_fp_zero.

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

10 years ago * testsuite/libgomp.c/target-35.c: New test.
jakub [Thu, 26 Nov 2015 09:44:49 +0000 (09:44 +0000)] 
* testsuite/libgomp.c/target-35.c: New test.

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

10 years agoPR c++/67876 - [6 Regression] ICE when compiling Firefox 38
msebor [Thu, 26 Nov 2015 01:52:04 +0000 (01:52 +0000)] 
PR c++/67876 - [6 Regression] ICE when compiling Firefox 38

gcc/cp
* pt.c (convert_template_argument): Make sure number of tree
operands is greater than zero before attempting to extract one.

gcc/testsuite/
* g++.dg/pr67876.C: New test.

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