gcc.git
12 years agotree-ssa-forwprop.c (forward_propagate_into_comparison): Do not make the replacement...
Eric Botcazou [Sun, 9 Oct 2011 21:39:12 +0000 (21:39 +0000)]
tree-ssa-forwprop.c (forward_propagate_into_comparison): Do not make the replacement if the conversion to the LHS type is not useless.

* tree-ssa-forwprop.c (forward_propagate_into_comparison): Do not make
the replacement if the conversion to the LHS type is not useless.

From-SVN: r179730

12 years agore PR fortran/45044 (Different named COMMON block size: No warning)
Tobias Burnus [Sun, 9 Oct 2011 19:37:47 +0000 (21:37 +0200)]
re PR fortran/45044 (Different named COMMON block size: No warning)

2011-10-09  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45044
        * trans-common.c (translate_common): Fix -Walign-commons
        check.

2011-10-09  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45044
        * gfortran.dg/common_14.f90: Compile with -Wno-align-commons.
        * gfortran.dg/common_16.f90: New.

From-SVN: r179729

12 years agoFix dead e-mail address in ChangeLogs
Mikael Morin [Sun, 9 Oct 2011 16:59:42 +0000 (16:59 +0000)]
Fix dead e-mail address in ChangeLogs

From-SVN: r179728

12 years agoFix bogus e-mail address in ChangeLogs
Mikael Morin [Sun, 9 Oct 2011 16:48:25 +0000 (16:48 +0000)]
Fix bogus e-mail address in ChangeLogs

From-SVN: r179727

12 years agointerface.c (check_dummy_characteristics): Count dimensions starting from one in...
Mikael Morin [Sun, 9 Oct 2011 16:19:06 +0000 (18:19 +0200)]
interface.c (check_dummy_characteristics): Count dimensions starting from one in diagnostic.

* interface.c (check_dummy_characteristics): Count dimensions starting
from one in diagnostic.

From-SVN: r179726

12 years agoMake-lang.in (F95_PARSER_OBJS, [...]): Add dependency on iso-c-binding.def and iso...
Tobias Burnus [Sun, 9 Oct 2011 15:36:18 +0000 (17:36 +0200)]
Make-lang.in (F95_PARSER_OBJS, [...]): Add dependency on iso-c-binding.def and iso-fortran-env.def.

2011-10-09  Tobias Burnus  <burnus@net-b.de>

        * Make-lang.in (F95_PARSER_OBJS, GFORTRAN_TRANS_DEPS): Add
        dependency on iso-c-binding.def and iso-fortran-env.def.
        * module.c (import_iso_c_binding_module): Add error when
        explicitly importing a nonstandard symbol; extend standard-
        depending loading.
        * iso-c-binding.def: Add c_float128 and c_float128_complex
        integer parameters (for -std=gnu).
        * intrinsic.texi (ISO_C_Binding): Document them.
        * symbol.c (generate_isocbinding_symbol): Change macros
        to ignore GFC_STD_* data.
        * trans-types.c (gfc_init_c_interop_kinds): Ditto; make
        nonstatic and renamed from "init_c_interop_kinds".
        (gfc_init_kinds): Don't call it
        * trans-types.h (gfc_init_c_interop_kinds): Add prototype.
        * f95-lang.c (gfc_init_decl_processing): Call it.

2011-10-09  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/iso_c_binding_param_1.f90: New.
        * gfortran.dg/iso_c_binding_param_2.f90: New.
        * gfortran.dg/c_sizeof_2.f90: Update dg-error.

From-SVN: r179725

12 years agore PR tree-optimization/50635 (ICE on valid: segfault in vectorize_loops)
Ira Rosen [Sun, 9 Oct 2011 15:09:00 +0000 (15:09 +0000)]
re PR tree-optimization/50635 (ICE on valid: segfault in vectorize_loops)

        PR tree-optimization/50635
        * tree-vect-patterns.c (vect_handle_widen_mult_by_const): Add
        DEF_STMT to the list of statements to be replaced by the
        pattern statements.
        (vect_handle_widen_mult_by_const): Don't check TYPE_OUT.

From-SVN: r179724

12 years agore PR fortran/50659 ([F03] ICE with PROCEDURE statement)
Janus Weil [Sun, 9 Oct 2011 11:34:21 +0000 (13:34 +0200)]
re PR fortran/50659 ([F03] ICE with PROCEDURE statement)

2011-10-09  Janus Weil  <janus@gcc.gnu.org>

PR fortran/50659
* expr.c (replace_symbol): Only do replacement if the symbol is a dummy.

2011-10-09  Janus Weil  <janus@gcc.gnu.org>

PR fortran/50659
* gfortran.dg/proc_decl_27.f90: New.

From-SVN: r179723

12 years agosystem.h: Commit forgotten hunk in previous patch.
Anatoly Sokolov [Sun, 9 Oct 2011 11:09:59 +0000 (15:09 +0400)]
system.h: Commit forgotten hunk in previous patch.

* system.h: Commit forgotten hunk in previous patch.
(OUTPUT_ADDR_CONST_EXTRA): Poison.

From-SVN: r179722

12 years agoIn libobjc/: 2011-10-09 Nicola Pero <nicola.pero@meta-innovation.com>
Nicola Pero [Sun, 9 Oct 2011 10:29:50 +0000 (10:29 +0000)]
In libobjc/: 2011-10-09 Nicola Pero <nicola.pero@meta-innovation.com>

In libobjc/:
2011-10-09  Nicola Pero  <nicola.pero@meta-innovation.com>

PR libobjc/49883
* init.c (__objc_exec_class): Work around a bug in clang's code
generation.  Clang sets the class->info field to values different
from 0x1 or 0x2 (the only allowed values in the traditional GNU
Objective-C runtime ABI) to store some additional information, but
this breaks backwards compatibility.  Wipe out all the bits in the
fields other than the first two upon loading a class.

2011-10-09  Nicola Pero  <nicola.pero@meta-innovation.com>

* class.c (objc_lookup_class): Added back for compatibility with
clang which seems to emit calls to it.

From-SVN: r179721

12 years agopt.c (reregister_specialization): Use htab_find instead of htab_find_slot with INSERT.
Jakub Jelinek [Sun, 9 Oct 2011 09:35:23 +0000 (11:35 +0200)]
pt.c (reregister_specialization): Use htab_find instead of htab_find_slot with INSERT.

* pt.c (reregister_specialization): Use htab_find instead of
htab_find_slot with INSERT.
(maybe_process_partial_specialization, lookup_template_class_1): Change
slot variable type to void ** to avoid aliasing problems.
(register_specialization): Likewise.  Use slot != NULL instead of
more expensive !optimize_specialization_lookup_p (tmpl) test.

Co-Authored-By: Diego Novillo <dnovillo@google.com>
From-SVN: r179719

12 years agore PR c++/34927 (Duplicate error message about abstract class)
Paolo Carlini [Sun, 9 Oct 2011 00:21:37 +0000 (00:21 +0000)]
re PR c++/34927 (Duplicate error message about abstract class)

2011-10-08  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/34927
* typeck2.c (abstract_virtuals_error_sfinae): Don't produce duplicate
inform messages in case of cloned destructor.

From-SVN: r179718

12 years agoDaily bump.
GCC Administrator [Sun, 9 Oct 2011 00:18:00 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r179717

12 years agoFix ChangeLog format for revision 177233.
Gerald Pfeifer [Sat, 8 Oct 2011 19:10:09 +0000 (19:10 +0000)]
Fix ChangeLog format for revision 177233.

From-SVN: r179712

12 years agoIn libobjc/: 2011-10-08 Richard Frith-Macdonald <rfm@gnu.org> Nicola Pero <nicola...
Nicola Pero [Sat, 8 Oct 2011 17:52:06 +0000 (17:52 +0000)]
In libobjc/: 2011-10-08 Richard Frith-Macdonald <rfm@gnu.org> Nicola Pero <nicola.pero@meta-innovation.com>

In libobjc/:
2011-10-08  Richard Frith-Macdonald <rfm@gnu.org>
            Nicola Pero  <nicola.pero@meta-innovation.com>

PR libobjc/50428
* sendmsg.c (__objc_send_initialize): If a class does not have an
+initialize method, search for an +initialize method in the
superclass and in the ancestor classes and execute the first one
that is found.  This makes the GNU runtime behave in the same way
as the Apple/NeXT runtime with respect to +initialize methods and
subclassing.

In gcc/:
2011-10-08  Nicola Pero  <nicola.pero@meta-innovation.com>

PR libobjc/50428
* doc/objc.texi (Garbage Collection): Updated example to protect
+initialize against execution in subclasses.

In gcc/testsuite/:
2011-10-08  Nicola Pero  <nicola.pero@meta-innovation.com>

PR libobjc/50428
* objc/execute/initialize-1.m: New test.

From-SVN: r179711

12 years agore PR fortran/47844 (Array stride ignored for pointer-valued function results)
Paul Thomas [Sat, 8 Oct 2011 10:18:51 +0000 (10:18 +0000)]
re PR fortran/47844 (Array stride ignored for pointer-valued function results)

2011-10-08  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/47844
* trans-array.c (gfc_conv_array_index_offset): Use descriptor
stride for pointer function results.

2011-10-08  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/47844
* gfortran.dg/pointer_function_result_1.f90 : New test.

From-SVN: r179710

12 years agoDaily bump.
GCC Administrator [Sat, 8 Oct 2011 00:18:22 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r179707

12 years ago* generic-morestack-thread.c: #include <errno.h>.
Ian Lance Taylor [Fri, 7 Oct 2011 22:52:28 +0000 (22:52 +0000)]
* generic-morestack-thread.c: #include <errno.h>.

From-SVN: r179703

12 years agore PR target/46093 (code compiled with -fsplit-stack crashes when passing large struct)
Ian Lance Taylor [Fri, 7 Oct 2011 22:51:11 +0000 (22:51 +0000)]
re PR target/46093 (code compiled with -fsplit-stack crashes when passing large struct)

PR target/46093
* generic-morestack.c (__generic_morestack): Make sure the segment
is large enough for both the stack frame and the copied
parameters.

From-SVN: r179702

12 years agoRename vshuffle/vec_shuffle to vec_perm.
Richard Henderson [Fri, 7 Oct 2011 22:41:48 +0000 (15:41 -0700)]
Rename vshuffle/vec_shuffle to vec_perm.

        * doc/extend.texi (__builtin_shuffle): Improve the description to
        include the modulus of the selector.  Mention OpenCL.
        * doc/md.texi (vec_perm, vec_perm_const): Document named patterns.

        * tree.def (VEC_PERM_EXPR): Rename from VEC_SHUFFLE_EXPR.
        * genopinit.c (optabs): Rename vshuffle to vec_perm.
        * c-typeck.c (c_build_vec_perm_expr): Rename from
        c_build_vec_shuffle_expr.  Update for name changes.
        * optabs.c (expand_vec_perm_expr_p): Rename from
        expand_vec_shuffle_expr_p.
        (expand_vec_perm_expr): Rename from expand_vec_shuffle_expr.
        * optabs.h (OTI_vec_perm): Rename from DOI_vshuffle.
        (vec_perm_optab): Rename from vshuffle_optab.
        * expr.c, gimple-pretty-print.c, gimple.c, gimplify.c,
        c-tree.h, c-parser.c, tree-cfg.c, tree-inline.c, tree-pretty-print.c,
        tree-ssa-operands.c, tree-vect-generic.c: Update for name changes.

        * config/i386/i386.c (ix86_expand_vec_perm): Rename from
        ix86_expand_vshuffle.
        * config/i386/i386-protos.h: Update.
        * config/i386/sse.md (VEC_PERM_AVX2): Rename from VSHUFFLE_AVX2.
        (vec_perm<VEC_PERM_AVX2>): Rename from vshuffle<VSHUFFLE_AVX2>.

From-SVN: r179701

12 years agoi386: Fixup last pblendw change.
Richard Henderson [Fri, 7 Oct 2011 22:12:18 +0000 (15:12 -0700)]
i386: Fixup last pblendw change.

Missed changing one predicate to AVX2.  Add parenthesis
to avoid bootstrap -Werror.

From-SVN: r179700

12 years agoi386: Fix representation of 256-bit vpblendw.
Richard Henderson [Fri, 7 Oct 2011 21:07:10 +0000 (14:07 -0700)]
i386: Fix representation of 256-bit vpblendw.

From-SVN: r179697

12 years agotrans-array.c (gfc_conv_expr_descriptor): Remove trailing whitespace.
Mikael Morin [Fri, 7 Oct 2011 20:56:31 +0000 (22:56 +0200)]
trans-array.c (gfc_conv_expr_descriptor): Remove trailing whitespace.

* trans-array.c (gfc_conv_expr_descriptor): Remove trailing whitespace.

From-SVN: r179695

12 years agotrans-array.c (gfc_conv_ss_startstride): Merge two switch cases.
Mikael Morin [Fri, 7 Oct 2011 20:35:47 +0000 (22:35 +0200)]
trans-array.c (gfc_conv_ss_startstride): Merge two switch cases.

* trans-array.c (gfc_conv_ss_startstride): Merge two switch cases.

From-SVN: r179694

12 years agotrans-array.c (gfc_conv_section_startstride): Remove coarray argument.
Mikael Morin [Fri, 7 Oct 2011 20:32:37 +0000 (22:32 +0200)]
trans-array.c (gfc_conv_section_startstride): Remove coarray argument.

* trans-array.c (gfc_conv_section_startstride): Remove coarray argument.
Remove conditions on coarray.
(gfc_conv_ss_startstride): Update call to gfc_conv_section_startstride.
(gfc_conv_expr_descriptor): Ditto. Add assertions before the call.

From-SVN: r179693

12 years agotrans-array.c (gfc_conv_section_startstride): Remove coarray_last argument.
Mikael Morin [Fri, 7 Oct 2011 20:29:27 +0000 (22:29 +0200)]
trans-array.c (gfc_conv_section_startstride): Remove coarray_last argument.

* trans-array.c (gfc_conv_section_startstride): Remove coarray_last
argument. Remove condition on coarray_last.
(gfc_conv_ss_startstride): Update call to gfc_conv_section_startstride.
(gfc_conv_expr_descriptor): Ditto.

From-SVN: r179692

12 years agotrans-array.c (gfc_walk_variable_expr): Remove scalar coarray handling.
Mikael Morin [Fri, 7 Oct 2011 20:26:11 +0000 (22:26 +0200)]
trans-array.c (gfc_walk_variable_expr): Remove scalar coarray handling.

* trans-array.c (gfc_walk_variable_expr): Remove scalar coarray
handling.  Don't reset array ref's corank and codimensions' types
in the full array ref case.  Update loop upper limit.
Remove DIMEN_THIS_IMAGE case.  Remove unnecessary conditions.

From-SVN: r179691

12 years agotrans.h (gfc_ss_info): Remove codimen field.
Mikael Morin [Fri, 7 Oct 2011 20:22:50 +0000 (22:22 +0200)]
trans.h (gfc_ss_info): Remove codimen field.

* trans.h (gfc_ss_info): Remove codimen field.
* trans-array.c (gfc_get_array_ss): Don't set codimen field.
(gfc_trans_create_temp_array): Don't set descriptor's cobounds.
(gfc_trans_constant_array_constructor): Update loop upper limit.
(gfc_conv_ss_startstride): Don't set codimen field.
Don't get descriptor's cobounds.
(gfc_walk_variable_expr): Update dimension index.
* trans-intrinsic.c (trans_this_image, trans_image_index,
conv_intrinsic_cobound): Don't set codimen field

From-SVN: r179690

12 years agotrans.h (gfc_loopinfo): Remove codimen field.
Mikael Morin [Fri, 7 Oct 2011 20:14:44 +0000 (22:14 +0200)]
trans.h (gfc_loopinfo): Remove codimen field.

* trans.h (gfc_loopinfo): Remove codimen field.
* trans-array.c (gfc_set_vector_loop_bounds,
gfc_trans_scalarizing_loops, gfc_conv_loop_setup): Update loop upper
limit.
(gfc_set_loop_bounds_from_array_spec): Ditto. Remove skip on last
codimension.
(gfc_start_scalarized_body): Update loop lower limit.
(gfc_conv_ss_startstride): Don't set loop's codimen field.
(gfc_conv_loop_setup): Remove unnecessary condition.
(gfc_conv_expr_descriptor): Don't use loop's codimen field as corank.

From-SVN: r179689

12 years agotrans.h (gfc_ss): Remove data.temp.codimen field.
Mikael Morin [Fri, 7 Oct 2011 20:05:35 +0000 (22:05 +0200)]
trans.h (gfc_ss): Remove data.temp.codimen field.

* trans.h (gfc_ss): Remove data.temp.codimen field.
* trans-array.c (gfc_conv_resolve_dependencies,
gfc_conv_expr_descriptor): Don't set temp's codimen field.

From-SVN: r179686

12 years agoresolve.c (resolve_array_ref): Set array_ref's dimen field (and the associated dimen_...
Mikael Morin [Fri, 7 Oct 2011 19:56:11 +0000 (21:56 +0200)]
resolve.c (resolve_array_ref): Set array_ref's dimen field (and the associated dimen_type) in the full array...

* resolve.c (resolve_array_ref): Set array_ref's dimen field (and the
associated dimen_type) in the full array ref case.

From-SVN: r179685

12 years agotrans-intrinsic.c (walk_coarray): New function.
Mikael Morin [Fri, 7 Oct 2011 19:52:34 +0000 (21:52 +0200)]
trans-intrinsic.c (walk_coarray): New function.

* trans-intrinsic.c (walk_coarray): New function.
(convert_element_to_coarray_ref): Move code to walk_coarray. Remove.
(trans-this_image, trans_image_index, conv_intrinsic_cobound):
Use walk_coarray.

From-SVN: r179684

12 years agotrans-array.c (gfc_conv_expr_descriptor): Add out-of-the-scalarizer cobounds evaluation.
Mikael Morin [Fri, 7 Oct 2011 19:47:07 +0000 (21:47 +0200)]
trans-array.c (gfc_conv_expr_descriptor): Add out-of-the-scalarizer cobounds evaluation.

* trans-array.c (gfc_conv_expr_descriptor): Add out-of-the-scalarizer
cobounds evaluation.

From-SVN: r179683

12 years agotrans-array.c (gfc_conv_ss_startstride): Support zero rank loop.
Mikael Morin [Fri, 7 Oct 2011 19:43:21 +0000 (21:43 +0200)]
trans-array.c (gfc_conv_ss_startstride): Support zero rank loop.

* trans-array.c (gfc_conv_ss_startstride): Support zero rank loop.

From-SVN: r179682

12 years agotrans-array.c (gfc_conv_section_startstride): Move code to evaluate_bound.
Mikael Morin [Fri, 7 Oct 2011 19:39:22 +0000 (21:39 +0200)]
trans-array.c (gfc_conv_section_startstride): Move code to evaluate_bound.

* trans-array.c (gfc_conv_section_startstride): Move code to
evaluate_bound.  Use evaluate_bound.
(evaluate_bound): New function.

From-SVN: r179681

12 years agotrans-array.c (gfc_conv_section_startstride): Update assertion to also accept coarrays.
Mikael Morin [Fri, 7 Oct 2011 19:36:20 +0000 (21:36 +0200)]
trans-array.c (gfc_conv_section_startstride): Update assertion to also accept coarrays.

* trans-array.c (gfc_conv_section_startstride): Update assertion to
also accept coarrays.

From-SVN: r179680

12 years agotrans-array.c (gfc_conv_section_startstride): Factor common array ref references.
Mikael Morin [Fri, 7 Oct 2011 19:33:10 +0000 (21:33 +0200)]
trans-array.c (gfc_conv_section_startstride): Factor common array ref references.

* trans-array.c (gfc_conv_section_startstride): Factor common
array ref references.

From-SVN: r179679

12 years agotrans-array.c (gfc_conv_expr_descriptor): Use codim instead of loop.codimen as argume...
Mikael Morin [Fri, 7 Oct 2011 19:28:55 +0000 (21:28 +0200)]
trans-array.c (gfc_conv_expr_descriptor): Use codim instead of loop.codimen as argument to gfc_get_array_type_bounds.

* trans-array.c (gfc_conv_expr_descriptor): Use codim instead of
loop.codimen as argument to gfc_get_array_type_bounds.

From-SVN: r179677

12 years agotrans-array.h (struct gfc_se): New flag want_coarray.
Mikael Morin [Fri, 7 Oct 2011 19:24:07 +0000 (21:24 +0200)]
trans-array.h (struct gfc_se): New flag want_coarray.

* trans-array.h (struct gfc_se): New flag want_coarray.
* trans-intrinsic.c (trans_this_image, trans_image_index,
conv_intrinsic_cobound): Set want_coarray.
* trans_array.c (gfc_conv_expr_descriptor): Evaluate codimension
earlier and without relying on the scalarizer.

From-SVN: r179676

12 years agoexpr.c (gfc_get_corank): Return 0 if input expression is not a coarray.
Mikael Morin [Fri, 7 Oct 2011 19:14:07 +0000 (21:14 +0200)]
expr.c (gfc_get_corank): Return 0 if input expression is not a coarray.

* expr.c (gfc_get_corank): Return 0 if input expression is not a
coarray.

From-SVN: r179675

12 years agotrans-array.c (gfc_conv_expr_descriptor): Simplify coarray descriptor setup code.
Mikael Morin [Fri, 7 Oct 2011 19:11:01 +0000 (21:11 +0200)]
trans-array.c (gfc_conv_expr_descriptor): Simplify coarray descriptor setup code.

* trans-array.c (gfc_conv_expr_descriptor): Simplify coarray
descriptor setup code.

From-SVN: r179674

12 years agoresolve.c (compare_spec_to_ref): Move coarray ref initialization code...
Mikael Morin [Fri, 7 Oct 2011 19:07:04 +0000 (21:07 +0200)]
resolve.c (compare_spec_to_ref): Move coarray ref initialization code...

* resolve.c (compare_spec_to_ref): Move coarray ref initialization
code...
(resolve_array_ref): ... here.

From-SVN: r179672

12 years agocheck.c (is_coarray): Remove.
Mikael Morin [Fri, 7 Oct 2011 19:02:36 +0000 (21:02 +0200)]
check.c (is_coarray): Remove.

* check.c (is_coarray): Remove.
(coarray_check): Use gfc_is_coarray.

From-SVN: r179671

12 years agoDelete incorrect representations of avx2 shifts.
Richard Henderson [Fri, 7 Oct 2011 18:19:50 +0000 (11:19 -0700)]
Delete incorrect representations of avx2 shifts.

* config/i386/i386.c (bdesc_args): Update code for
__builtin_ia32_palignr256.  Change type of __builtin_ia32_pslldqi256,
and __builtin_ia32_psrldqi256 to V4DI_FTYPE_V4DI_INT_CONVERT.
(ix86_expand_args_builtin): Handle V4DI_FTYPE_V4DI_INT_CONVERT.
* config/i386/sse.md (mode iterator V16): Add V2TI.
(mode iterator SSESCALARMODE): Use V2TI not V4DI.
(mode attr ssse3_avx2): Add V2TI.
(avx2_lshrqv4di3, avx2_lshlqv4di3): Remove.

From-SVN: r179668

12 years agoFix VIS3 assembler check and conditionalize testsuite on VIS3 support.
David S. Miller [Fri, 7 Oct 2011 17:23:47 +0000 (10:23 -0700)]
Fix VIS3 assembler check and conditionalize testsuite on VIS3 support.

gcc/

PR 50655
* configure.ac: Add .register directives to VIS3 test.
* configure: Regenerate.

gcc/testsuite/

PR 50655
* gcc.target/sparc/sparc.exp: Add vis3 target test.
* gcc.target/sparc/cmask.c: Use it.
* gcc.target/sparc/fhalve.c: Likewise.
* gcc.target/sparc/fnegop.c: Likewise.
* gcc.target/sparc/fpadds.c: Likewise.
* gcc.target/sparc/fshift.c: Likewise.
* gcc.target/sparc/fucmp.c: Likewise.
* gcc.target/sparc/lzd.c: Likewise.
* gcc.target/sparc/vis3misc.c: Likewise.
* gcc.target/sparc/xmul.c: Likewise.

From-SVN: r179667

12 years agoFix avx256 test cases for AVX2.
Richard Henderson [Fri, 7 Oct 2011 17:01:43 +0000 (10:01 -0700)]
Fix avx256 test cases for AVX2.

From-SVN: r179666

12 years agotestsuite_allocator.h (uneq_allocator): Add propagate_on_container_swap typedef for...
Jonathan Wakely [Fri, 7 Oct 2011 16:20:31 +0000 (16:20 +0000)]
testsuite_allocator.h (uneq_allocator): Add propagate_on_container_swap typedef for C++0x testing.

2011-10-07  Jonathan Wakely  <jwakely.gcc@gmail.com>

* testsuite/util/testsuite_allocator.h (uneq_allocator): Add
propagate_on_container_swap typedef for C++0x testing.

From-SVN: r179665

12 years ago* config.gcc (x86_64-*): Add core-avx-i, core-avx2 for with_cpu.
Richard Henderson [Fri, 7 Oct 2011 15:43:12 +0000 (08:43 -0700)]
* config.gcc (x86_64-*): Add core-avx-i, core-avx2 for with_cpu.

From-SVN: r179664

12 years agore PR other/49752 (Non-existing struct `tree_type' in fold_checksum_tree in fold...
Richard Henderson [Fri, 7 Oct 2011 15:35:49 +0000 (08:35 -0700)]
re PR other/49752 (Non-existing struct `tree_type' in fold_checksum_tree in fold-const.c, can't build with `--enable-checking=fold')

PR 49752
        * fold-const.c (fold_checksum_tree): Remove out-of-date assert.

From-SVN: r179663

12 years agopredicates.md (shift_amount_operand): Remove constant range check.
Andrew Stubbs [Fri, 7 Oct 2011 15:00:06 +0000 (15:00 +0000)]
predicates.md (shift_amount_operand): Remove constant range check.

2011-10-07  Andrew Stubbs  <ams@codesourcery.com>

gcc/
* config/arm/predicates.md (shift_amount_operand): Remove constant
range check.
(shift_operator): Check range of constants for all shift operators.

gcc/testsuite/
* gcc.dg/pr50193-1.c: New file.
* gcc.target/arm/shiftable.c: New file.

From-SVN: r179662

12 years agopredicates.md (shift_amount_operand): Remove constant range check.
Andrew Stubbs [Fri, 7 Oct 2011 14:59:37 +0000 (14:59 +0000)]
predicates.md (shift_amount_operand): Remove constant range check.

2011-10-07  Andrew Stubbs  <ams@codesourcery.com>

gcc/
* config/arm/predicates.md (shift_amount_operand): Remove constant
range check.
(shift_operator): Check range of constants for all shift operators.

gcc/testsuite/
* gcc.dg/pr50193-1.c: New file.
* gcc.target/arm/shiftable.c: New file.

From-SVN: r179661

12 years agore PR fortran/50625 ([OOP] ALLOCATABLE attribute lost for module CLASS variables)
Janus Weil [Fri, 7 Oct 2011 14:40:14 +0000 (16:40 +0200)]
re PR fortran/50625 ([OOP] ALLOCATABLE attribute lost for module CLASS variables)

2011-10-07  Janus Weil  <janus@gcc.gnu.org>

PR fortran/50625
* class.c (gfc_build_class_symbol): Fix whitespace.
* module.c (mio_symbol): Set 'class_ok' attribute.
* trans-decl.c (gfc_get_symbol_decl): Make sure the backend_decl has
been built for class symbols.

2011-10-07  Janus Weil  <janus@gcc.gnu.org>

PR fortran/50625
* gfortran.dg/class_46.f03: New.

From-SVN: r179660

12 years agopr47276.c (ASMNAME, [...]): Define.
Joern Rennecke [Fri, 7 Oct 2011 13:52:17 +0000 (13:52 +0000)]
pr47276.c (ASMNAME, [...]): Define.

        * gcc.dg/pr47276.c (ASMNAME, ASMNAME2, STRING): Define.
        (__EI___vsyslog_chk, __EI_syslog, __EI_vsyslog): Use ASMNAME.
        (syslog, vsyslog, __vsyslog_chk): Likewise.

        * gcc.dg/lto/20081222_1.c (ASMNAME, ASMNAME2, STRING): Define.
        (x, EXT_x): Use ASMNAME.

        * gcc.dg/torture/pr48044.c (ASMNAME, ASMNAME2, STRING): Define.
        (a, c): Use ASMNAME.

From-SVN: r179659

12 years agos390.c (s390_emit_tls_call_insn): Remove assertion.
Andreas Krebbel [Fri, 7 Oct 2011 13:50:01 +0000 (13:50 +0000)]
s390.c (s390_emit_tls_call_insn): Remove assertion.

2011-10-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/s390.c (s390_emit_tls_call_insn): Remove assertion.
Load GOT pointer for non-pic builds.
(s390_load_got): Replace pic_offset_table_rtx with hardcoded r12.
(s390_emit_call): Likewise.

From-SVN: r179658

12 years agore PR middle-end/50527 (inconsistent vla align)
Tom de Vries [Fri, 7 Oct 2011 12:49:56 +0000 (12:49 +0000)]
re PR middle-end/50527 (inconsistent vla align)

2011-10-07  Tom de Vries  <tom@codesourcery.com>

PR middle-end/50527
* gcc.dg/pr50527.c: New test.

From-SVN: r179656

12 years agore PR middle-end/50527 (inconsistent vla align)
Tom de Vries [Fri, 7 Oct 2011 12:49:49 +0000 (12:49 +0000)]
re PR middle-end/50527 (inconsistent vla align)

2011-10-07  Tom de Vries  <tom@codesourcery.com>

PR middle-end/50527
* tree.c (build_common_builtin_nodes): Add local_define_builtin for
BUILT_IN_ALLOCA_WITH_ALIGN.  Mark that BUILT_IN_ALLOCA_WITH_ALIGN can
throw.
* builtins.c (expand_builtin_alloca): Handle BUILT_IN_ALLOCA_WITH_ALIGN
arglist.  Set align for BUILT_IN_ALLOCA_WITH_ALIGN.
(expand_builtin): Handle BUILT_IN_ALLOCA_WITH_ALIGN.
(is_inexpensive_builtin): Handle BUILT_IN_ALLOCA_WITH_ALIGN.
* tree-ssa-ccp.c (evaluate_stmt): Set align for
BUILT_IN_ALLOCA_WITH_ALIGN.
(fold_builtin_alloca_for_var): Rename to ...
(fold_builtin_alloca_with_align): Set DECL_ALIGN from 2nd
BUILT_IN_ALLOCA_WITH_ALIGN argument.
(ccp_fold_stmt): Try folding BUILT_IN_ALLOCA_WITH_ALIGN using
fold_builtin_alloca_with_align.
(optimize_stack_restore): Handle BUILT_IN_ALLOCA_WITH_ALIGN.
* builtins.def (BUILT_IN_ALLOCA_WITH_ALIGN): Declare using
DEF_BUILTIN_STUB.
* ipa-pure-const.c (special_builtin_state): Handle
BUILT_IN_ALLOCA_WITH_ALIGN.
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1)
(call_may_clobber_ref_p_1): Same.
* function.c (gimplify_parameters): Lower vla to
BUILT_IN_ALLOCA_WITH_ALIGN.
* gimplify.c (gimplify_vla_decl): Same.
* cfgexpand.c (expand_call_stmt): Handle BUILT_IN_ALLOCA_WITH_ALIGN.
* tree-mudflap.c (mf_xform_statements): Same.
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
(mark_all_reaching_defs_necessary_1, propagate_necessity): Same.
* varasm.c (incorporeal_function_p): Same.
* tree-object-size.c (alloc_object_size): Same.
* gimple.c (gimple_build_call_from_tree): Same.

From-SVN: r179655

12 years agofunction.c (frame_required_for_rtx): Remove function.
Bernd Schmidt [Fri, 7 Oct 2011 12:20:17 +0000 (12:20 +0000)]
function.c (frame_required_for_rtx): Remove function.

* function.c (frame_required_for_rtx): Remove function.
(requires_stack_frame_p): New arg set_up_by_prologue.  All callers
changed.  Compute a set of mentioned registers and compare against
the new arg rather than calling frame_required_for_rtx.
(thread_prologue_and_epilogue_insns): Compute the set_up_by_prologue
reg set.  Convert the unconverted_simple_returns mechanism to store
jump insns rather than their basic blocks.  Also check the
orig_entry_edge destination for new blocks.

From-SVN: r179654

12 years agore PR middle-end/50650 (ICE in vect_is_simple_use_1, at tree-vect-stmts.c:5689)
Jakub Jelinek [Fri, 7 Oct 2011 11:48:03 +0000 (13:48 +0200)]
re PR middle-end/50650 (ICE in vect_is_simple_use_1, at tree-vect-stmts.c:5689)

PR tree-optimization/50650
* tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern): Don't
call vect_is_simple_cond here, instead fail if cond_expr isn't
COMPARISON_CLASS_P or if get_vectype_for_scalar_type returns NULL
for cond_expr's first operand.
* tree-vect-stmts.c (vect_is_simple_cond): Static again.
* tree-vectorizer.h (vect_is_simple_cond): Remove prototype.

* gcc.c-torture/compile/pr50650.c: New test.

From-SVN: r179653

12 years agore PR lto/50492 (Ada bootstrap failure --with-build-config=bootstrap-lto)
Eric Botcazou [Fri, 7 Oct 2011 11:43:03 +0000 (11:43 +0000)]
re PR lto/50492 (Ada bootstrap failure --with-build-config=bootstrap-lto)

PR lto/50492
* gcc-interface/gigi.h (gnat_pushdecl): Adjust comment.
* gcc-interface/utils.c (global_context): New variable.
(gnat_pushdecl): Initialize it and set it as the DECL_CONTEXT of DECLs
that are either public external or at top level.  Use "No" macro.
(end_subprog_body): Call decl_function_context.
(rest_of_subprog_body_compilation): Likewise.

From-SVN: r179652

12 years agoDisable ABI warnings for gcc.c-torture/execute/vector-compare-2.c (PR tree-optimizati...
Rainer Orth [Fri, 7 Oct 2011 11:32:59 +0000 (11:32 +0000)]
Disable ABI warnings for gcc.c-torture/execute/vector-compare-2.c (PR tree-optimization/50575)

PR tree-optimization/50575
* gcc.c-torture/execute/vector-compare-2.x: New file.

From-SVN: r179651

12 years agogigi.h (gnat_useless_type_conversion): Declare.
Eric Botcazou [Fri, 7 Oct 2011 11:17:55 +0000 (11:17 +0000)]
gigi.h (gnat_useless_type_conversion): Declare.

* gcc-interface/gigi.h (gnat_useless_type_conversion): Declare.
(rest_of_subprog_body_compilation): Likewise.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: For renaming,
test for useless conversions by means of gnat_useless_type_conversion.
* gcc-interface/trans.c: Include bitmap.h and cgraph.h.
(language_function): Add named_ret_val and other_ret_val.
(f_named_ret_val): New macro.
(f_other_ret_val): Likewise.
(gigi): Call rest_of_subprog_body_compilation.
(struct nrv_data): New structure.
(is_nrv_p): New predicate.
(prune_nrv_r): New helper function.
(prune_nrv_in_block): New function.
(finalize_nrv_r): New helper function.
(finalize_nrv): New function.
(return_value_ok_for_nrv_p): New predicate.
(build_return_expr): If optimization is enabled, record candidates for
the Named Return Value optimization.
(build_function_stub): Call rest_of_subprog_body_compilation.
(Subprogram_Body_to_gnu): If optimization is enabled and there are
candidates, finalize the Named Return Value optimization.
Call rest_of_subprog_body_compilation.
(call_to_gnu): At the end, if a return value is needed, simplify the
result before wrapping it up in a COMPOUND_EXPR.
* gcc-interface/utils.c (end_subprog_body): Split into...
(rest_of_subprog_body_compilation): ...this.  New function.
(gnat_useless_type_conversion): Likewise.

From-SVN: r179650

12 years agoDon't XFAIL gcc.dg/uninit-B.c etc. (PR middle-end/50125)
Rainer Orth [Fri, 7 Oct 2011 09:02:13 +0000 (09:02 +0000)]
Don't XFAIL gcc.dg/uninit-B.c etc. (PR middle-end/50125)

PR middle-end/50125
* gcc.dg/uninit-B.c (baz): Remove xfail *-*-*.
* gcc.dg/uninit-pr19430.c (main): Remove xfail *-*-*.
(bar3): Likewise.

From-SVN: r179649

12 years agore PR testsuite/50637 (gcc.dg/vect/vect-align-2.c is invalid (FAILs with -O2 -flto...
Richard Guenther [Fri, 7 Oct 2011 08:28:48 +0000 (08:28 +0000)]
re PR testsuite/50637 (gcc.dg/vect/vect-align-2.c is invalid (FAILs with -O2 -flto -fpeel-loops))

2011-10-07  Richard Guenther  <rguenther@suse.de>

PR testsuite/50637
* gcc.dg/vect/vect-align-2.c: Increase array size.

From-SVN: r179648

12 years agos390.md (DWH, dwh): New mode macros.
Andreas Krebbel [Fri, 7 Oct 2011 06:51:26 +0000 (06:51 +0000)]
s390.md (DWH, dwh): New mode macros.

2011-10-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/s390.md (DWH, dwh): New mode macros.
("umulsidi3"): Extend to support "umulditi3" as well.

From-SVN: r179647

12 years agore PR target/50603 ([x32] Unnecessary lea)
Uros Bizjak [Fri, 7 Oct 2011 06:43:17 +0000 (08:43 +0200)]
re PR target/50603 ([x32] Unnecessary lea)

PR target/50603
* config/i386/i386.c (ix86_fixup_binary_operands): Force src2 of
integer PLUS RTX to a register to improve address combine.

testsuite/ChangeLog:

PR target/50603
* gcc.target/i386/pr50603.c: New test.

From-SVN: r179646

12 years agoDaily bump.
GCC Administrator [Fri, 7 Oct 2011 00:19:37 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r179642

12 years agore PR middle-end/50632 (FAIL: gcc.dg/pr50132.c)
Richard Henderson [Thu, 6 Oct 2011 22:22:11 +0000 (15:22 -0700)]
re PR middle-end/50632 (FAIL: gcc.dg/pr50132.c)

PR 50632

        * combine-stack-adjust.c (maybe_move_args_size_note): Add after
        parameter; use it to decide whether to merge two notes.
        (combine_stack_adjustments_for_block): Use maybe_move_args_size_note
        for the deallocation case as well.

From-SVN: r179637

12 years agore PR c++/39164 ([C++0x] defaulted dtor redefinition not caught)
Jason Merrill [Thu, 6 Oct 2011 19:56:53 +0000 (15:56 -0400)]
re PR c++/39164 ([C++0x] defaulted dtor redefinition not caught)

PR c++/39164
* decl.c (grokfndecl): Diagnose redefinition of defaulted fn.

From-SVN: r179634

12 years ago[multiple changes]
Arnaud Charlet [Thu, 6 Oct 2011 19:37:25 +0000 (21:37 +0200)]
[multiple changes]

2011-10-06  Thomas Quinot  <quinot@adacore.com>

* einfo.ads, exp_attr.adb, exp_ch3.adb, exp_ch4.adb, exp_ch7.adb,
exp_ch9.adb, exp_ch9.ads, exp_strm.adb, exp_util.adb, freeze.adb,
g-debpoo.ads, opt.ads, par-ch12.adb, par-ch2.adb, par-ch3.adb,
par-ch5.adb, par-ch6.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
sem_ch10.adb, sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
sem_ch6.adb, sem_intr.adb, sem_res.ads, sem_type.adb, sem_util.adb,
s-regpat.adb, s-tpopde-vms.ads: Minor reformatting.
* s-osinte-freebsd.ads: Fix for tasking failures on FreeBSD.

2011-10-06  Ed Schonberg  <schonberg@adacore.com>

* a-cihase.adb, a-ciorma.adb: Avoid accessibility checks in container
references.

2011-10-06  Matthew Heaney  <heaney@adacore.com>

* a-cuprqu.ads, a-cuprqu.adb, a-cbprqu.ads, a-cbprqu.adb
(Dequeue_Only_High_Priority): Protected procedure now implemented.

2011-10-06  Vincent Celier  <celier@adacore.com>

* g-trasym.adb: Replace old implementation with the default
implementation that returns list of addresses as "0x...".
* g-trasym.ads: Update the list of platforms with the full
capability.  Indicate that there is a default implementation
for other platforms.
* g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: Remove.
* gcc-interface/Makefile.in: Remove g-trasym-unimplemented, as there
is now a default implementation for all platforms without the full
capability.

From-SVN: r179631

12 years agosystem.h (OUTPUT_ADDR_CONST_EXTRA): Poison.
Anatoly Sokolov [Thu, 6 Oct 2011 19:25:53 +0000 (23:25 +0400)]
system.h (OUTPUT_ADDR_CONST_EXTRA): Poison.

* system.h (OUTPUT_ADDR_CONST_EXTRA): Poison.
* doc/tm.texi.in (OUTPUT_ADDR_CONST_EXTRA): Remove documentation.
* doc/tm.texi: Regenerate.
* target.def (output_addr_const_extra): Use
hook_bool_FILEptr_rtx_false.
* targhooks.c (default_asm_output_addr_const_extra): Remove.
* targhooks.h (default_asm_output_addr_const_extra): Remove.
* hooks.c (hook_bool_FILEptr_rtx_false): New functions.
* hooks.h (hook_bool_FILEptr_rtx_false): Declare.

From-SVN: r179630

12 years ago[multiple changes]
Arnaud Charlet [Thu, 6 Oct 2011 19:24:49 +0000 (21:24 +0200)]
[multiple changes]

2011-10-06  Robert Dewar  <dewar@adacore.com>

* a-ciorse.adb, a-cihase.adb, a-cihase.ads, a-coorse.adb,
a-cborse.adb, a-comutr.adb, a-ciorma.adb, a-cbmutr.adb,
a-cbmutr.ads, a-cbhase.adb, a-cbhase.ads: Minor reformatting and code
reorganization (use conditional expressions).

2011-10-06  Robert Dewar  <dewar@adacore.com>

* sem_res.adb (Resolve_Arithmetic_Op): Fix bad warning for
floating divide by zero.

2011-10-06  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb: Limited interfaces that are not immutably limited
are OK in return statements.

From-SVN: r179629

12 years agoCorrect errors in sparc SImode popcount/clz patterns when 64-bit.
David S. Miller [Thu, 6 Oct 2011 19:15:39 +0000 (19:15 +0000)]
Correct errors in sparc SImode popcount/clz patterns when 64-bit.

* config/sparc/sparc.md (popcount<mode>2, clz<mode>2): Split up into...
(popcountdi2, popcountsi2, clzdi2, clzsi2): Explicit expanders, in the
SI mode 64-bit code gen case explicitly zero-extend and truncate.
(*popcount<mode>_sp64): Split up into...
(*popcountdi_sp64, *popcountsi_64): Explicit instantiations, and in the
SImode case use truncate.
(*clzsi_sp64): Rewrite to use truncate, and let the expander emit the
subtract so the compiler can optimize it.
(SIDI): Remove unused mode iterator.

From-SVN: r179628

12 years agofunction.c (thread_prologue_and_epilogue_insns): Emit split prologue on the orig_entr...
Bernd Schmidt [Thu, 6 Oct 2011 18:59:36 +0000 (18:59 +0000)]
function.c (thread_prologue_and_epilogue_insns): Emit split prologue on the orig_entry_edge.

* function.c (thread_prologue_and_epilogue_insns): Emit split
prologue on the orig_entry_edge. Don't account for it in
prologue_clobbered.

From-SVN: r179627

12 years agore PR tree-optimization/50596 (Problems in vectorization of condition expression)
Jakub Jelinek [Thu, 6 Oct 2011 17:49:36 +0000 (19:49 +0200)]
re PR tree-optimization/50596 (Problems in vectorization of condition expression)

PR tree-optimization/50596
* tree-vectorizer.h (vect_is_simple_cond): New prototype.
(NUM_PATTERNS): Change to 6.
* tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern): New
function.
(vect_vect_recog_func_ptrs): Add vect_recog_mixed_size_cond_pattern.
(vect_mark_pattern_stmts): Don't create stmt_vinfo for def_stmt
if it already has one, and don't set STMT_VINFO_VECTYPE in it
if it is already set.
* tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Handle
COND_EXPR in pattern stmts.
(vect_is_simple_cond): No longer static.

* lib/target-supports.exp (check_effective_target_vect_cond_mixed):
New.
* gcc.dg/vect/vect-cond-8.c: New test.

From-SVN: r179626

12 years agoi386: Use the proper mode for blend in vshuffle.
Richard Henderson [Thu, 6 Oct 2011 17:12:44 +0000 (10:12 -0700)]
i386: Use the proper mode for blend in vshuffle.

From-SVN: r179625

12 years agoi386: Add AVX2 support to ix86_expand_vshuffle.
Richard Henderson [Thu, 6 Oct 2011 17:12:36 +0000 (10:12 -0700)]
i386: Add AVX2 support to ix86_expand_vshuffle.

From-SVN: r179624

12 years agoRework vector shuffle tests.
Richard Henderson [Thu, 6 Oct 2011 17:12:28 +0000 (10:12 -0700)]
Rework vector shuffle tests.

Test vector sizes 8, 16, and 32.  Test most data types for each size.

From-SVN: r179623

12 years agovshuffle: Use correct mode for mask operand.
Richard Henderson [Thu, 6 Oct 2011 17:12:19 +0000 (10:12 -0700)]
vshuffle: Use correct mode for mask operand.

From-SVN: r179622

12 years agotree-vect-patterns.c (vect_pattern_recog_1): Use vect_recog_func_ptr typedef for...
Jakub Jelinek [Thu, 6 Oct 2011 16:50:23 +0000 (18:50 +0200)]
tree-vect-patterns.c (vect_pattern_recog_1): Use vect_recog_func_ptr typedef for the first argument.

* tree-vect-patterns.c (vect_pattern_recog_1): Use
vect_recog_func_ptr typedef for the first argument.
(vect_pattern_recog): Rename vect_recog_func_ptr variable
to vect_recog_func, use vect_recog_func_ptr typedef for it.

From-SVN: r179621

12 years agore PR tree-optimization/49279 (Optimization incorrectly presuming constant variable...
Jakub Jelinek [Thu, 6 Oct 2011 16:38:29 +0000 (18:38 +0200)]
re PR tree-optimization/49279 (Optimization incorrectly presuming constant variable inside loop in g++ 4.5 and 4.6 with -O2 and -O3 for x86_64 targets)

PR tree-optimization/49279
* tree-ssa-structalias.c (find_func_aliases): Don't handle
CAST_RESTRICT.
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Allow
restrict propagation.
* tree-ssa.c (useless_type_conversion_p): Don't return false
if TYPE_RESTRICT differs.

* gcc.dg/tree-ssa/restrict-4.c: XFAIL.
* gcc.c-torture/execute/pr49279.c: New test.

From-SVN: r179620

12 years agofunction.c (thread_prologue_and_epilogue_insns): Build a vector of unconverted simple...
Bernd Schmidt [Thu, 6 Oct 2011 15:59:53 +0000 (15:59 +0000)]
function.c (thread_prologue_and_epilogue_insns): Build a vector of unconverted simple return blocks rather than trying to...

* function.c (thread_prologue_and_epilogue_insns): Build a vector
of unconverted simple return blocks rather than trying to
recompute them later based on bb_flags bitmap tests.

From-SVN: r179619

12 years agotree-flow.h (get_var_ann): Don't declare.
Michael Matz [Thu, 6 Oct 2011 15:18:12 +0000 (15:18 +0000)]
tree-flow.h (get_var_ann): Don't declare.

* tree-flow.h (get_var_ann): Don't declare.
* tree-flow-inline.h (get_var_ann): Remove.
(set_is_used): Use var_ann, not get_var_ann.
* tree-dfa.c (add_referenced_var): Inline body of get_var_ann.
* tree-profile.c (gimple_gen_edge_profiler): Call
find_referenced_var_in.
(gimple_gen_interval_profiler): Ditto.
(gimple_gen_pow2_profiler): Ditto.
(gimple_gen_one_value_profiler): Ditto.
(gimple_gen_average_profiler): Ditto.
(gimple_gen_ior_profiler): Ditto.
(gimple_gen_ic_profiler): Ditto plus call add_referenced_var.
(gimple_gen_ic_func_profiler): Call add_referenced_var.
* tree-mudflap.c (execute_mudflap_function_ops): Call
add_referenced_var.

From-SVN: r179618

12 years agoassign_neg.cc: Tidy dg- directives, for C++0x testing too.
Paolo Carlini [Thu, 6 Oct 2011 14:43:26 +0000 (14:43 +0000)]
assign_neg.cc: Tidy dg- directives, for C++0x testing too.

2011-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/27_io/ios_base/cons/assign_neg.cc: Tidy dg- directives,
for C++0x testing too.
* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
* testsuite/ext/pb_ds/example/hash_resize_neg.cc: Likewise.
* testsuite/24_iterators/istreambuf_iterator/requirements/
base_classes.cc: Adjust for C++0x testing.
* testsuite/ext/codecvt/char-1.cc: Avoid warnings in C++0x mode.
* testsuite/ext/codecvt/char-2.cc: Likewise.
* testsuite/ext/codecvt/wchar_t.cc: Likewise.

From-SVN: r179616

12 years agotree-vect-patterns.c (vect_handle_widen_mult_by_const): For lhs don't set SSA_NAME_DE...
Jakub Jelinek [Thu, 6 Oct 2011 14:36:44 +0000 (16:36 +0200)]
tree-vect-patterns.c (vect_handle_widen_mult_by_const): For lhs don't set SSA_NAME_DEF_STMT that has been already set by...

* tree-vect-patterns.c (vect_handle_widen_mult_by_const): For lhs
don't set SSA_NAME_DEF_STMT that has been already set by
gimple_build_assign_with_ops.
(vect_recog_pow_pattern, vect_recog_widen_sum_pattern,
vect_operation_fits_smaller_type, vect_recog_over_widening_pattern):
Likewise.

From-SVN: r179615

12 years agotree.h (avoid_folding_inline_builtin): New prototype.
Jakub Jelinek [Thu, 6 Oct 2011 14:34:48 +0000 (16:34 +0200)]
tree.h (avoid_folding_inline_builtin): New prototype.

* tree.h (avoid_folding_inline_builtin): New prototype.
* builtins.c (avoid_folding_inline_builtin): No longer static.
* gimple-fold.c (gimple_fold_builtin): Give up if
avoid_folding_inline_builtin returns true.

From-SVN: r179614

12 years agotree-vect-generic.c (vector_element): Look at previous generated results.
Richard Guenther [Thu, 6 Oct 2011 14:28:47 +0000 (14:28 +0000)]
tree-vect-generic.c (vector_element): Look at previous generated results.

2011-10-06  Richard Guenther  <rguenther@suse.de>

* tree-vect-generic.c (vector_element): Look at previous
generated results.

From-SVN: r179613

12 years agore PR c++/39950 (__unix__ macro is not predefined on AIX platform (C and C++))
David Edelsohn [Thu, 6 Oct 2011 14:05:54 +0000 (14:05 +0000)]
re PR c++/39950 (__unix__ macro is not predefined on AIX platform (C and C++))

        PR target/39950
        * config/rs6000/aix.h (TARGET_OS_AIX_CPP_BUILTINS): Define
        __powerpc__, __PPC__, __unix__.

From-SVN: r179612

12 years agoRestore FreeBSD/SPARC bootstrap (PR bootstrap/49804)
Rainer Orth [Thu, 6 Oct 2011 13:48:14 +0000 (13:48 +0000)]
Restore FreeBSD/SPARC bootstrap (PR bootstrap/49804)

From-SVN: r179610

12 years agoi386.opt (recip_mask, [...]): New variables and cl_target member.
Michael Matz [Thu, 6 Oct 2011 13:27:47 +0000 (13:27 +0000)]
i386.opt (recip_mask, [...]): New variables and cl_target member.

* i386/i386.opt (recip_mask, recip_mask_explicit,
x_recip_mask_explicit): New variables and cl_target member.
(mrecip=): New option.
* i386/i386.h (RECIP_MASK_DIV, RECIP_MASK_SQRT, RECIP_MASK_VEC_DIV,
RECIP_MASK_VEC_SQRT, RECIP_MASK_ALL, RECIP_MASK_NONE): New bitmasks.
(TARGET_RECIP_DIV, TARGET_RECIP_SQRT, TARGET_RECIP_VEC_DIV,
TARGET_RECIP_VEC_SQRT): New tests.
* i386/i386.md (divsf3): Check TARGET_RECIP_DIV.
(sqrt<mode>2): Check TARGET_RECIP_SQRT.
* i386/sse.md (div<mode>3): Check TARGET_RECIP_VEC_DIV.
(sqrt<mode>2): Check TARGET_RECIP_VEC_SQRT.
* i386/i386.c (ix86_option_override_internal): Set recip_mask
for -mrecip and -mrecip=options.
(ix86_function_specific_save): Save recip_mask_explicit.
(ix86_function_specific_restore): Restore recip_mask_explicit.

* doc/invoke.texi (ix86 Options): Document the new option.

From-SVN: r179608

12 years agore PR target/49049 (ICE in copyprop_hardreg_forward_1, at regcprop.c:767)
Bernd Schmidt [Thu, 6 Oct 2011 13:12:50 +0000 (13:12 +0000)]
re PR target/49049 (ICE in copyprop_hardreg_forward_1, at regcprop.c:767)

PR target/49049
* config/arm/arm.md (arm_subsi3_insn): Lose the last alternative.

* gcc.c-torture/compile/pr49049.c: New test.

From-SVN: r179607

12 years agore PR target/50305 (Inline asm reload failure when building Linux kernel)
Ulrich Weigand [Thu, 6 Oct 2011 11:50:26 +0000 (11:50 +0000)]
re PR target/50305 (Inline asm reload failure when building Linux kernel)

gcc/
PR target/50305
* config/arm/arm.c (arm_legitimize_reload_address): Recognize
output of a previous pass through legitimize_reload_address.
Do not attempt to optimize addresses if the base register is
equivalent to a constant.

gcc/testsuite/
PR target/50305
* gcc.target/arm/pr50305.c: New test.

From-SVN: r179603

12 years agofunction.c (thread_prologue_and_epilogue_insns): Mark last_bb_active as possibly...
Andreas Krebbel [Thu, 6 Oct 2011 11:44:51 +0000 (11:44 +0000)]
function.c (thread_prologue_and_epilogue_insns): Mark last_bb_active as possibly unused.

2011-10-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* function.c (thread_prologue_and_epilogue_insns): Mark
last_bb_active as possibly unused.  It is unused for targets which
do neither have "return" nor "simple_return" expanders.

From-SVN: r179601

12 years agofold-const.c (fold_ternary_loc): Also fold non-constant vector CONSTRUCTORs.
Richard Biener [Thu, 6 Oct 2011 10:35:20 +0000 (10:35 +0000)]
fold-const.c (fold_ternary_loc): Also fold non-constant vector CONSTRUCTORs.

2011-10-06  Richard Guenther  <rguenther@suse.de>

* fold-const.c (fold_ternary_loc): Also fold non-constant
vector CONSTRUCTORs.  Make more efficient.
* tree-ssa-dom.c (cprop_operand): Don't handle virtual operands.
(cprop_into_stmt): Don't propagate into virtual operands.
(optimize_stmt): Really dump original statement.

From-SVN: r179598

12 years agofold-const.c (fold_ternary_loc): Also fold non-constant vector CONSTRUCTORs.
Richard Guenther [Thu, 6 Oct 2011 10:34:18 +0000 (10:34 +0000)]
fold-const.c (fold_ternary_loc): Also fold non-constant vector CONSTRUCTORs.

2011-10-06  Richard Guenther  <rguenther@suse.de>

* fold-const.c (fold_ternary_loc): Also fold non-constant
vector CONSTRUCTORs.  Make more efficient.
* tree-ssa-dom.c (cprop_operand): Don't handle virtual operands.
(cprop_into_stmt): Don't propagate into virtual operands.
(optimize_stmt): Really dump original statement.

From-SVN: r179597

12 years ago* config/rx/rx.md (smin3): Revert previous delta.
Nick Clifton [Thu, 6 Oct 2011 10:17:48 +0000 (10:17 +0000)]
* config/rx/rx.md (smin3): Revert previous delta.

From-SVN: r179596

12 years agore PR tree-optimization/38884 (missed FRE with __real and __imag)
Richard Guenther [Thu, 6 Oct 2011 08:41:44 +0000 (08:41 +0000)]
re PR tree-optimization/38884 (missed FRE with __real and __imag)

2011-10-06  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/38884
* tree-ssa-sccvn.c (vn_reference_lookup_3): Handle partial
reads from aggregate SSA names.

* gcc.dg/tree-ssa/ssa-fre-34.c: New testcase.
* gcc.dg/tree-ssa/ssa-fre-35.c: Likewise.

From-SVN: r179593

12 years agotree-vect-patterns.c (vect_pattern_recog_1): Add stmts_to_replace argument...
Jakub Jelinek [Thu, 6 Oct 2011 06:58:21 +0000 (08:58 +0200)]
tree-vect-patterns.c (vect_pattern_recog_1): Add stmts_to_replace argument...

* tree-vect-patterns.c (vect_pattern_recog_1): Add stmts_to_replace
argument, truncate it at the beginning instead of allocating there
and freeing at the end.
(vect_pattern_recog): Allocate stmts_to_replace here and free at end,
pass its address to vect_pattern_recog_1.

From-SVN: r179592

12 years agoAdd support for lzd and popc instructions on sparc.
David S. Miller [Thu, 6 Oct 2011 06:28:35 +0000 (06:28 +0000)]
Add support for lzd and popc instructions on sparc.

gcc/

* config/sparc/sparc.opt (POPC): New option.
* doc/invoke.texi: Document it.
* config/sparc/sparc.c (sparc_option_override): Enable MASK_POPC by
default on Niagara-2 and later.
* config/sparc/sparc.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
* config/sparc/sparc.md (SIDI): New mode iterator.
(ffsdi2): Delete commented out pattern and comments.
(popcount<mode>2, clz<mode>2): New expanders.
(*popcount<mode>_sp64, popcountsi_v8plus, popcountdi_v8plus,
*clzdi_sp64, clzdi_v8plus, *clzsi_sp64, clzsi_v8plus): New insns.

gcc/testsuite/

* gcc.target/sparc/lzd.c: New test.
* gcc.target/sparc/popc.c: New test.

From-SVN: r179591

12 years agoFixes the spacing in ChangeLog entry.
Artjoms Sinkarovs [Thu, 6 Oct 2011 02:39:55 +0000 (02:39 +0000)]
Fixes the spacing in ChangeLog entry.

From-SVN: r179589

12 years agoFix bconstp-3.c failure in PR50607.
Artjoms Sinkarovs [Thu, 6 Oct 2011 01:57:27 +0000 (01:57 +0000)]
Fix bconstp-3.c failure in PR50607.

From-SVN: r179588