OSDN Git Service

pf3gnuchains/gcc-fork.git
12 years agoi386: Fixup last pblendw change.
rth [Fri, 7 Oct 2011 22:12:18 +0000 (22:12 +0000)]
i386: Fixup last pblendw change.

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

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

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

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

12 years ago * trans-array.c (gfc_conv_expr_descriptor): Remove trailing whitespace.
mikael [Fri, 7 Oct 2011 20:56:31 +0000 (20:56 +0000)]
* trans-array.c (gfc_conv_expr_descriptor): Remove trailing whitespace.

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

12 years ago * trans-array.c (gfc_conv_ss_startstride): Merge two switch cases.
mikael [Fri, 7 Oct 2011 20:35:47 +0000 (20:35 +0000)]
* trans-array.c (gfc_conv_ss_startstride): Merge two switch cases.

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

12 years ago * trans-array.c (gfc_conv_section_startstride): Remove coarray argument.
mikael [Fri, 7 Oct 2011 20:32:37 +0000 (20:32 +0000)]
* 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.

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

12 years ago * trans-array.c (gfc_conv_section_startstride): Remove coarray_last
mikael [Fri, 7 Oct 2011 20:29:27 +0000 (20:29 +0000)]
* 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.

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

12 years ago * trans-array.c (gfc_walk_variable_expr): Remove scalar coarray
mikael [Fri, 7 Oct 2011 20:26:11 +0000 (20:26 +0000)]
* 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.

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

12 years ago * trans.h (gfc_ss_info): Remove codimen field.
mikael [Fri, 7 Oct 2011 20:22:50 +0000 (20:22 +0000)]
* 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

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

12 years ago * trans.h (gfc_loopinfo): Remove codimen field.
mikael [Fri, 7 Oct 2011 20:14:44 +0000 (20:14 +0000)]
* 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.

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

12 years ago * trans.h (gfc_ss): Remove data.temp.codimen field.
mikael [Fri, 7 Oct 2011 20:05:35 +0000 (20:05 +0000)]
* 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.

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

12 years ago * resolve.c (resolve_array_ref): Set array_ref's dimen field (and the
mikael [Fri, 7 Oct 2011 19:56:11 +0000 (19:56 +0000)]
* resolve.c (resolve_array_ref): Set array_ref's dimen field (and the
associated dimen_type) in the full array ref case.

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

12 years ago * trans-intrinsic.c (walk_coarray): New function.
mikael [Fri, 7 Oct 2011 19:52:34 +0000 (19:52 +0000)]
* 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.

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

12 years ago * trans-array.c (gfc_conv_expr_descriptor): Add out-of-the-scalarizer
mikael [Fri, 7 Oct 2011 19:47:07 +0000 (19:47 +0000)]
* trans-array.c (gfc_conv_expr_descriptor): Add out-of-the-scalarizer
cobounds evaluation.

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

12 years ago * trans-array.c (gfc_conv_ss_startstride): Support zero rank loop.
mikael [Fri, 7 Oct 2011 19:43:21 +0000 (19:43 +0000)]
* trans-array.c (gfc_conv_ss_startstride): Support zero rank loop.

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

12 years ago * trans-array.c (gfc_conv_section_startstride): Move code to
mikael [Fri, 7 Oct 2011 19:39:22 +0000 (19:39 +0000)]
* trans-array.c (gfc_conv_section_startstride): Move code to
evaluate_bound.  Use evaluate_bound.
(evaluate_bound): New function.

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

12 years ago * trans-array.c (gfc_conv_section_startstride): Update assertion to
mikael [Fri, 7 Oct 2011 19:36:20 +0000 (19:36 +0000)]
* trans-array.c (gfc_conv_section_startstride): Update assertion to
also accept coarrays.

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

12 years ago * trans-array.c (gfc_conv_section_startstride): Factor common
mikael [Fri, 7 Oct 2011 19:33:10 +0000 (19:33 +0000)]
* trans-array.c (gfc_conv_section_startstride): Factor common
array ref references.

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

12 years ago * trans-array.c (gfc_conv_expr_descriptor): Use codim instead of
mikael [Fri, 7 Oct 2011 19:28:55 +0000 (19:28 +0000)]
* trans-array.c (gfc_conv_expr_descriptor): Use codim instead of
loop.codimen as argument to gfc_get_array_type_bounds.

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

12 years ago * trans-array.h (struct gfc_se): New flag want_coarray.
mikael [Fri, 7 Oct 2011 19:24:07 +0000 (19:24 +0000)]
* 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.

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

12 years ago * expr.c (gfc_get_corank): Return 0 if input expression is not a
mikael [Fri, 7 Oct 2011 19:14:07 +0000 (19:14 +0000)]
* expr.c (gfc_get_corank): Return 0 if input expression is not a
coarray.

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

12 years ago * trans-array.c (gfc_conv_expr_descriptor): Simplify coarray
mikael [Fri, 7 Oct 2011 19:11:01 +0000 (19:11 +0000)]
* trans-array.c (gfc_conv_expr_descriptor): Simplify coarray
descriptor setup code.

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

12 years ago * resolve.c (compare_spec_to_ref): Move coarray ref initialization
mikael [Fri, 7 Oct 2011 19:07:04 +0000 (19:07 +0000)]
* resolve.c (compare_spec_to_ref): Move coarray ref initialization
code...
(resolve_array_ref): ... here.

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

12 years ago * check.c (is_coarray): Remove.
mikael [Fri, 7 Oct 2011 19:02:36 +0000 (19:02 +0000)]
* check.c (is_coarray): Remove.
(coarray_check): Use gfc_is_coarray.

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

12 years agoDelete incorrect representations of avx2 shifts.
rth [Fri, 7 Oct 2011 18:19:50 +0000 (18:19 +0000)]
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.

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

12 years agoFix VIS3 assembler check and conditionalize testsuite on VIS3 support.
davem [Fri, 7 Oct 2011 17:23:47 +0000 (17:23 +0000)]
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.

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

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

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

12 years ago2011-10-07 Jonathan Wakely <jwakely.gcc@gmail.com>
paolo [Fri, 7 Oct 2011 16:20:31 +0000 (16:20 +0000)]
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.

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

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

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

12 years agoPR 49752
rth [Fri, 7 Oct 2011 15:35:49 +0000 (15:35 +0000)]
PR 49752
        * fold-const.c (fold_checksum_tree): Remove out-of-date assert.

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

12 years ago2011-10-07 Andrew Stubbs <ams@codesourcery.com>
ams [Fri, 7 Oct 2011 15:00:06 +0000 (15:00 +0000)]
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.

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

12 years ago2011-10-07 Andrew Stubbs <ams@codesourcery.com>
ams [Fri, 7 Oct 2011 14:59:37 +0000 (14:59 +0000)]
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.

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

12 years ago2011-10-07 Janus Weil <janus@gcc.gnu.org>
janus [Fri, 7 Oct 2011 14:40:14 +0000 (14:40 +0000)]
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.

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

12 years ago * gcc.dg/pr47276.c (ASMNAME, ASMNAME2, STRING): Define.
amylaar [Fri, 7 Oct 2011 13:52:17 +0000 (13:52 +0000)]
    * 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.

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

12 years ago2011-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
krebbel [Fri, 7 Oct 2011 13:50:01 +0000 (13:50 +0000)]
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.

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

12 years ago2011-10-07 Tom de Vries <tom@codesourcery.com>
vries [Fri, 7 Oct 2011 12:49:56 +0000 (12:49 +0000)]
2011-10-07  Tom de Vries  <tom@codesourcery.com>

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

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

12 years ago2011-10-07 Tom de Vries <tom@codesourcery.com>
vries [Fri, 7 Oct 2011 12:49:49 +0000 (12:49 +0000)]
2011-10-07  Tom de Vries  <tom@codesourcery.com>

PR middle-end/50527
* tree.c (build_common_builtin_nodes): Add local_define_builtin for
* builtins.c (expand_builtin_alloca): Handle BUILT_IN_ALLOCA_WITH_ALIGN
* tree-ssa-ccp.c (evaluate_stmt): Set align for
* builtins.def (BUILT_IN_ALLOCA_WITH_ALIGN): Declare using
* ipa-pure-const.c (special_builtin_state): Handle
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1)
* function.c (gimplify_parameters): Lower vla to
* 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)
* varasm.c (incorporeal_function_p): Same.
* tree-object-size.c (alloc_object_size): Same.
* gimple.c (gimple_build_call_from_tree): Same.

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

12 years ago * function.c (frame_required_for_rtx): Remove function.
bernds [Fri, 7 Oct 2011 12:20:17 +0000 (12:20 +0000)]
* 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.

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

12 years ago PR tree-optimization/50650
jakub [Fri, 7 Oct 2011 11:48:03 +0000 (11:48 +0000)]
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.

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

12 years ago PR lto/50492
ebotcazou [Fri, 7 Oct 2011 11:43:03 +0000 (11:43 +0000)]
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.

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

12 years agoDisable ABI warnings for gcc.c-torture/execute/vector-compare-2.c (PR tree-optimizati...
ro [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.

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

12 years ago * gcc-interface/gigi.h (gnat_useless_type_conversion): Declare.
ebotcazou [Fri, 7 Oct 2011 11:17:55 +0000 (11:17 +0000)]
* 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.

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

12 years agoDon't XFAIL gcc.dg/uninit-B.c etc. (PR middle-end/50125)
ro [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.

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

12 years ago2011-10-07 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 7 Oct 2011 08:28:48 +0000 (08:28 +0000)]
2011-10-07  Richard Guenther  <rguenther@suse.de>

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

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

12 years ago2011-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
krebbel [Fri, 7 Oct 2011 06:51:26 +0000 (06:51 +0000)]
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.

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

12 years ago PR target/50603
uros [Fri, 7 Oct 2011 06:43:17 +0000 (06:43 +0000)]
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.

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

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

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

12 years agoPR 50632
rth [Thu, 6 Oct 2011 22:22:11 +0000 (22:22 +0000)]
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.

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

12 years ago PR c++/39164
jason [Thu, 6 Oct 2011 19:56:53 +0000 (19:56 +0000)]
PR c++/39164
* decl.c (grokfndecl): Diagnose redefinition of defaulted fn.

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

12 years ago2011-10-06 Thomas Quinot <quinot@adacore.com>
charlet [Thu, 6 Oct 2011 19:37:25 +0000 (19:37 +0000)]
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.

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

12 years ago * system.h (OUTPUT_ADDR_CONST_EXTRA): Poison.
aesok [Thu, 6 Oct 2011 19:25:53 +0000 (19:25 +0000)]
* 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.

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

12 years ago2011-10-06 Robert Dewar <dewar@adacore.com>
charlet [Thu, 6 Oct 2011 19:24:49 +0000 (19:24 +0000)]
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.

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

12 years agoCorrect errors in sparc SImode popcount/clz patterns when 64-bit.
davem [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.

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

12 years ago * function.c (thread_prologue_and_epilogue_insns): Emit split
bernds [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. Don't account for it in
prologue_clobbered.

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

12 years ago PR tree-optimization/50596
jakub [Thu, 6 Oct 2011 17:49:36 +0000 (17:49 +0000)]
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.

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

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

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

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

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

12 years agoRework vector shuffle tests.
rth [Thu, 6 Oct 2011 17:12:28 +0000 (17:12 +0000)]
Rework vector shuffle tests.

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

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

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

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

12 years ago * tree-vect-patterns.c (vect_pattern_recog_1): Use
jakub [Thu, 6 Oct 2011 16:50:23 +0000 (16:50 +0000)]
* 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.

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

12 years ago PR tree-optimization/49279
jakub [Thu, 6 Oct 2011 16:38:29 +0000 (16:38 +0000)]
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.

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

12 years ago * function.c (thread_prologue_and_epilogue_insns): Build a vector
bernds [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
recompute them later based on bb_flags bitmap tests.

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

12 years ago * tree-flow.h (get_var_ann): Don't declare.
matz [Thu, 6 Oct 2011 15:18:12 +0000 (15:18 +0000)]
* 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.

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

12 years ago2011-10-06 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 6 Oct 2011 14:43:26 +0000 (14:43 +0000)]
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.

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

12 years ago * tree-vect-patterns.c (vect_handle_widen_mult_by_const): For lhs
jakub [Thu, 6 Oct 2011 14:36:44 +0000 (14:36 +0000)]
* 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.

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

12 years ago * tree.h (avoid_folding_inline_builtin): New prototype.
jakub [Thu, 6 Oct 2011 14:34:48 +0000 (14:34 +0000)]
* 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.

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

12 years ago2011-10-06 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 6 Oct 2011 14:28:47 +0000 (14:28 +0000)]
2011-10-06  Richard Guenther  <rguenther@suse.de>

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

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

12 years ago PR target/39950
dje [Thu, 6 Oct 2011 14:05:54 +0000 (14:05 +0000)]
    PR target/39950
        * config/rs6000/aix.h (TARGET_OS_AIX_CPP_BUILTINS): Define
        __powerpc__, __PPC__, __unix__.

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

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

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

12 years ago * i386/i386.opt (recip_mask, recip_mask_explicit,
matz [Thu, 6 Oct 2011 13:27:47 +0000 (13:27 +0000)]
* 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.

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

12 years ago PR target/49049
bernds [Thu, 6 Oct 2011 13:12:50 +0000 (13:12 +0000)]
PR target/49049
* config/arm/arm.md (arm_subsi3_insn): Lose the last alternative.

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

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

12 years ago gcc/
uweigand [Thu, 6 Oct 2011 11:50:26 +0000 (11:50 +0000)]
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.

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

12 years ago2011-10-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
krebbel [Thu, 6 Oct 2011 11:44:51 +0000 (11:44 +0000)]
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.

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

12 years ago2011-10-06 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 6 Oct 2011 10:35:20 +0000 (10:35 +0000)]
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.

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

12 years ago2011-10-06 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 6 Oct 2011 10:34:18 +0000 (10:34 +0000)]
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.

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

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

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

12 years ago2011-10-06 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 6 Oct 2011 08:41:44 +0000 (08:41 +0000)]
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.

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

12 years ago * tree-vect-patterns.c (vect_pattern_recog_1): Add stmts_to_replace
jakub [Thu, 6 Oct 2011 06:58:21 +0000 (06:58 +0000)]
* 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.

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

12 years agoAdd support for lzd and popc instructions on sparc.
davem [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.

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

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

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

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

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

12 years ago2011-10-05 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 6 Oct 2011 01:41:49 +0000 (01:41 +0000)]
2011-10-05  Paolo Carlini  <paolo.carlini@oracle.com>

* include/ext/pod_char_traits.h: Avoid warnings in C++0x mode
when int_type is unsigned.

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

12 years agoDaily bump.
gccadmin [Thu, 6 Oct 2011 00:19:02 +0000 (00:19 +0000)]
Daily bump.

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

12 years ago * gcc.dg/strlenopt-21.c (dg-options): Remove -fdump-tree-optimized.
uros [Wed, 5 Oct 2011 21:02:59 +0000 (21:02 +0000)]
* gcc.dg/strlenopt-21.c (dg-options): Remove -fdump-tree-optimized.
* gcc.dg/ipa/inline-5.c: Cleanup inline ipa dump.
* g++.dg/other/final1.C: Cleanup original tree dump.

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

12 years ago * function.c (thread_prologue_and_epilogue_insns): Don't shrink-wrap
bernds [Wed, 5 Oct 2011 20:42:21 +0000 (20:42 +0000)]
* function.c (thread_prologue_and_epilogue_insns): Don't shrink-wrap
if profiling after the prologue.

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

12 years ago * ChangeLog: Update my previous entry.
uros [Wed, 5 Oct 2011 19:41:27 +0000 (19:41 +0000)]
* ChangeLog: Update my previous entry.

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

12 years ago * gcc.dg/vect/vect.exp (VEC_CFLAGS): Append "-fdump-tree-veclower2".
uros [Wed, 5 Oct 2011 19:40:14 +0000 (19:40 +0000)]
* gcc.dg/vect/vect.exp (VEC_CFLAGS): Append "-fdump-tree-veclower2".
* gcc.dg/vect/vec-scal-opt.c: Scan and cleanup veclower2 tree dump.
* gcc.dg/vect/vec-scal-opt1.c: Ditto.
* gcc.dg/vect/vec-scal-opt2.c: Ditto.

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

12 years ago PR tree-optimization/50613
jakub [Wed, 5 Oct 2011 18:09:56 +0000 (18:09 +0000)]
PR tree-optimization/50613
* tree-ssa-strlen.c (find_equal_ptrs): If CASE_CONVERT
operand is ADDR_EXPR, fallthru into ADDR_EXPR handling,
and if it is neither that not SSA_NAME, give up.

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

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

12 years agoFix vect-shuffle-* test cases.
rth [Wed, 5 Oct 2011 17:45:36 +0000 (17:45 +0000)]
Fix vect-shuffle-* test cases.

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

12 years ago * gcc.dg/vect/vect.exp (VEC_CFLAGS): Move initialization after
uros [Wed, 5 Oct 2011 17:41:01 +0000 (17:41 +0000)]
* gcc.dg/vect/vect.exp (VEC_CFLAGS): Move initialization after
DEFAULT_VECTFLAGS initialization.

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

12 years agoi386: Rewrite ix86_expand_vshuffle.
rth [Wed, 5 Oct 2011 17:40:58 +0000 (17:40 +0000)]
i386: Rewrite ix86_expand_vshuffle.

1: Handle TARGET_XOP.
2: Reduce code duplication.
3: Use ASHIFT instead of MULT for scaling.
4: Fix errors in building convert-to-v16qi indicies.
5: Handle v2di without sse4.1.

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

12 years agoFix lower_vec_shuffle.
rth [Wed, 5 Oct 2011 17:40:49 +0000 (17:40 +0000)]
Fix lower_vec_shuffle.

1: It can never fail.
2: It should mask the input indicies.

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

12 years ago * config/i386/i386.c (distance_non_agu_define): Simplify calculation
uros [Wed, 5 Oct 2011 17:24:01 +0000 (17:24 +0000)]
* config/i386/i386.c (distance_non_agu_define): Simplify calculation
of "found".  Simplify return value calculation.
(distance_agu_use): Ditto.

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

12 years ago PR bootstrap/50621
bernds [Wed, 5 Oct 2011 17:17:12 +0000 (17:17 +0000)]
PR bootstrap/50621
* config/i386/i386.c (ix86_add_cfa_restore_note): Omit notes only
if the function was not shrink-wrapped.
(ix86_expand_epilogue): Ensure queued cfa_adjust notes are attached
to an insn.
* function.c (thread_prologue_and_epilogue_insns): Make sure the
shrink_wrapped flag is set even if there is no dump file.

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

12 years ago * config/rx/rx.opt (mpid): Define.
nickc [Wed, 5 Oct 2011 15:07:21 +0000 (15:07 +0000)]
* config/rx/rx.opt (mpid): Define.
* config/rx/t-rx (MULTILIB_OPTIONS): Add -mpid
(MULTILIB_DIRNAMES): Add pid.
* config/rx/rx.c (rx_gp_base_regnum_val, rx_pid_base_regnum_val)
(rx_num_interrupt_regs): New variable.
(rx_gp_base_regnum): New function.  Returns the number of the
small data area register.
(rx_pid_base_regnum): New function.  Returns the number of the pid
base register.
(rx_decl_for_addr): New function.  Returns the symbolic part of a
MEM.
(rx_pid_data_operand): New function.  Returns whether an object is
in the position independent data area.
(rx_legitimize_address): New function.  Puts undecided PID
objects in the PID data area.
(rx_is_legitimate_address): Add support for PID operands.
(rx_print_operand_address): Likewise.
(rx_print_operand): Likewise.
(rx_maybe_pidify_operand): New function.  Determine if an operand
is suitable for PID addressing.
(rx_gen_move_template): Add PID support.
(rx_conditional_register_usage): Likewise.
(rx_option_override): Initialise rx_num_interrupt_regs.
(rx_is_legitimate_constant): Add support for PID constants.
(TARGET_LEGITIMIZE_ADDRESS): Define.
* config/rx/constraints.md (Rpid): Define.
(Rpda): Define.
* config/rx/rx.md (UNSPEC_PID_ADDR): Define.
(tablejump): Add PID support.
(mov<>): Likewise.
(mov<>_internal): Likewise.
(addsi3): Convert to an expander.  Add PID support.
(pid_addr): New pattern.
* config/rx/rx.h (CPP_SPEC): Define.
(ASM_SPEC): Pass -mpid and -mint-register on to assembler.
(CASE_VECTOR_PC_RELATIVE): Define.
(JUMP_TABLES_IN_TEXT_SECTION): Enable for PID mode.
* config/rx/rx-protos.h (rx_maybe_pidify_operand): Prototype.
* doc/invoke.texi (RX Options): Document -mpid command line
option.

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

12 years ago2011-10-05 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 5 Oct 2011 14:35:15 +0000 (14:35 +0000)]
2011-10-05  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/38885
* tree-ssa-sccvn.c (vn_reference_lookup_3): Handle partial reads
from constants.

* gcc.dg/tree-ssa/ssa-fre-33.c: New testcase.

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

12 years ago * doc/invoke.texi (-fshrink-wrap): Document.
bernds [Wed, 5 Oct 2011 12:59:23 +0000 (12:59 +0000)]
* doc/invoke.texi (-fshrink-wrap): Document.
* opts.c (default_options_table): Add it.
* common.opt (fshrink-wrap): Add.
* function.c (emit_return_into_block): Remove useless declaration.
(record_hard_reg_uses_1, record_hard_reg_uses, frame_required_for_rtx,
requires_stack_frame_p, gen_return_pattern): New static functions.
(emit_return_into_block): New arg simple_p.  All callers changed.
Use gen_return_pattern.
(thread_prologue_and_epilogue_insns): Implement shrink-wrapping.
* config/i386/i386.md (return): Expand into a simple_return.
(simple_return): New expander):
(simple_return_internal, simple_return_internal_long,
simple_return_pop_internal_long, simple_return_indirect_internal):
Renamed from return_internal, return_internal_long,
return_pop_internal_long and return_indirect_internal; changed to use
simple_return.
* config/i386/i386.c (ix86_expand_epilogue): Adjust to expand
simple returns.
(ix86_pad_returns): Likewise.
* function.h (struct rtl_data): Add member shrink_wrapped.
* cfgcleanup.c (outgoing_edges_match): If shrink-wrapped, edges that
are not jumps or sibcalls can't be compared.

* gcc.target/i386/sw-1.c: New test.

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

12 years ago2011-10-05 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 5 Oct 2011 12:25:35 +0000 (12:25 +0000)]
2011-10-05  Richard Guenther  <rguenther@suse.de>

* tree-ssa-sccvn.c (vn_get_expr_for): Handle CONSTRUCTOR of
vector type.
(simplify_unary_expression): Handle BIT_FIELD_REFs.
(try_to_simplify): Handle BIT_FIELD_REFs.

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

12 years ago * gcc.target/i386/avx256-unaligned-load-3.c (dg-options): Add
uros [Wed, 5 Oct 2011 12:21:30 +0000 (12:21 +0000)]
* gcc.target/i386/avx256-unaligned-load-3.c (dg-options): Add
-mtune=generic.
* gcc.target/i386/avx256-unaligned-store-3.c (dg-options): Ditto.

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

12 years ago * config/avr/avr-protos.h (avr_out_addto_sp): New prototype.
gjl [Wed, 5 Oct 2011 11:16:10 +0000 (11:16 +0000)]
* config/avr/avr-protos.h (avr_out_addto_sp): New prototype.
* config/avr/avr.c (avr_out_addto_sp): New function.
(adjust_insn_length): Handle ADJUST_LEN_ADDTO_SP.
* config/avr/avr.md (adjust_len): Add "addto_sp".
(*movhi_sp): Remove insn.
(*addhi3_sp_R_pc2, *addhi3_sp_R_pc3): Merge to *addhi3_sp_R.

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

12 years ago2011-10-05 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 5 Oct 2011 10:54:14 +0000 (10:54 +0000)]
2011-10-05  Richard Guenther  <rguenther@suse.de>

* gimple-fold.c (gimple_fold_stmt_to_constant_1): For
ternary ops with an embedded expression valueize and fold
that as well.
* tree-ssa-sccvn.c (try_to_simplify): Also allow SSA name
results from gimple_fold_stmt_to_constant_1.

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