platform/upstream/linaro-gcc.git
8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 years ago PR go/61303
ian [Thu, 26 Nov 2015 00:24:21 +0000 (00:24 +0000)]
PR go/61303
    runtime: don't overallocate in select code

    If we've already allocated an fd_set, don't allocate another one.

    Also, don't bother to read from rdwake if it wasn't returned in select.

    Fixes https://gcc.gnu.org/PR61303.

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

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

8 years agoDaily bump.
gccadmin [Thu, 26 Nov 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

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

8 years agofix PR68453: recursively add phi nodes to merge points
spop [Thu, 26 Nov 2015 00:07:43 +0000 (00:07 +0000)]
fix PR68453: recursively add phi nodes to merge points

The patch adds close phi nodes to every outer loop exit, and to every loop
guard.  For loop guards it computes an initial value that determines where we
stop inserting phi nodes.  When the initial value is a constant, the initial
value is considered to be defined in the entry of the code gen region.

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

8 years agoPR c/66516 - missing diagnostic on taking the address of a builtin function
msebor [Wed, 25 Nov 2015 23:29:57 +0000 (23:29 +0000)]
PR c/66516 - missing diagnostic on taking the address of a builtin function
* g++.dg/addr_builtin-1.C: New test (accidentally omitted from
initial commit).
* gcc.dg/addr_builtin-1.c: Same.

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

8 years ago PR lto/67548
hubicka [Wed, 25 Nov 2015 23:05:07 +0000 (23:05 +0000)]
PR lto/67548
* lto-plugin.c (linker_output, linker_output_set): New statics.
(all_symbols_read_handler): Add -flinker-output option.
(onload): Record linker_output info.

* ipa-visibility.c (cgraph_externally_visible_p,
varpool_node::externally_visible_p): When doing incremental linking,
hidden symbols may be still used later.
(update_visibility_by_resolution_info): Do not drop weak during
incremental link.
(function_and_variable_visibility): Fix formating.
* flag-types.h (lto_linker_output): Declare.
* common.opt 9flag_incremental_link): New flag.

* lto-lang.c (lto_post_options): Process flag_lto_linker_output.
* lang.opt (lto_linker_output): New enum.
(flinker_output): New flag.

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