gcc.git
12 years agopa.md: Use define_c_enum for "unspec" and "unspecv".
Steven Bosscher [Sun, 13 May 2012 19:57:37 +0000 (19:57 +0000)]
pa.md: Use define_c_enum for "unspec" and "unspecv".

* config/pa/pa.md: Use define_c_enum for "unspec" and "unspecv".

From-SVN: r187443

12 years agoi386.md (*pushtf): Enable for TARGET_SSE.
Uros Bizjak [Sun, 13 May 2012 18:01:41 +0000 (20:01 +0200)]
i386.md (*pushtf): Enable for TARGET_SSE.

* config/i386/i386.md (*pushtf): Enable for TARGET_SSE.
(pushtf splitter): Ditto.
(movtf): Ditto.
(*movtf_internal): Ditto. Use V4SFmode for !TARGET_SSE2.
(<code>tf2): Enable for TARGET_SSE.
(*absnegtf2_sse): Ditto.
(copysign<mode>3): Enable TFmode for TARGET_SSE.
(copysign<mode>3_const): Ditto.
(copysign<mode>3_var): Ditto.
* config/i386/sse.md (<code>tf3): Enable for TARGET_SSE.
(*andnottf3): Ditto.  Use V4SFmode for !TARGET_SSE2.
(*<code>tf3): Ditto.
* config/i386/i386.c (struct builtin_description bdesc_args)
<IX86_BUILTIN_FABSQ>: Enable for TARGET_SSE.
<IX86_BUILTIN_COPYSIGNQ>: Ditto.
(ix86_expand_builtin) <IX86_BUILTIN_FABSQ, IX86_BUILTIN_COPYSIGNQ>:
Emit a normal call if SSE isn't available.

From-SVN: r187442

12 years agoc.opt (Wclobbered,Wempty-body,Wignored-qualifiers, [...]): Use EnabledBy.
Manuel López-Ibáñez [Sun, 13 May 2012 17:38:41 +0000 (17:38 +0000)]
c.opt (Wclobbered,Wempty-body,Wignored-qualifiers, [...]): Use EnabledBy.

2012-05-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>

c-family/
* c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
Wmissing-field-initializers,Wmissing-parameter-type,
Wold-style-declaration,Woverride-init): Use EnabledBy.
* c-opts.c (c_common_post_options): Do not set here explicitly.
gcc/
* common.opt (Wtype-limits): Use EnabledBy.

From-SVN: r187441

12 years ago* config/i386/sse.md: The other part of my previous commit.
Uros Bizjak [Sun, 13 May 2012 17:17:30 +0000 (19:17 +0200)]
* config/i386/sse.md: The other part of my previous commit.

From-SVN: r187440

12 years agosse.md (<sse>_andnot<mode>3): Handle TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL.
Uros Bizjak [Sun, 13 May 2012 15:17:26 +0000 (17:17 +0200)]
sse.md (<sse>_andnot<mode>3): Handle TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL.

2012-05-13  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/sse.md (<sse>_andnot<mode>3): Handle
TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL.
(<code><mode>3): Ditto.
(*andnot<mode>3): Ditto.
(*andnottf3): Ditto.
(*<code><mode>3): Ditto.
(<code>tf3): Ditto.

From-SVN: r187438

12 years agooptc-gen.awk: Error instead of warning for conflicting help.
Manuel López-Ibáñez [Sun, 13 May 2012 11:10:49 +0000 (11:10 +0000)]
optc-gen.awk: Error instead of warning for conflicting help.

2012-05-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>

gcc/
* optc-gen.awk: Error instead of warning for conflicting help.
ada/
* gcc-interface/lang.opt (I): Comment out help text with no effect.
(nostdinc): Comment out help text with no effect.

From-SVN: r187437

12 years agore PR fortran/52158 (Regression on character function with gfortran 4.7)
Alessandro Fanfarillo [Sun, 13 May 2012 10:52:32 +0000 (04:52 -0600)]
re PR fortran/52158 (Regression on character function with gfortran 4.7)

2012-05-13  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/52158
        PR fortran/45170
        PR fortran/49430
        * resolve.c (resolve_fl_derived0): Deferred character length
        procedure components are supported.
        * trans-expr.c (gfc_conv_procedure_call): Handle TBP with
        deferred-length results.
        (gfc_string_to_single_character): Add a new check to prevent
        NULL read.
        (gfc_conv_procedure_call): Remove unuseful checks on
        symbol's attributes. Add new checks to prevent NULL read on
        string length.

2012-05-13  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>

        PR fortran/45170
        * gfortran.dg/deferred_type_param_3.f90: New.
        * gfortran.dg/deferred_type_proc_pointer_1.f90: New.
        * gfortran.dg/deferred_type_proc_pointer_2.f90: New.

Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r187436

12 years agore PR debug/53235 (20120504 broke -fdebug-types-section)
Jason Merrill [Sun, 13 May 2012 03:37:38 +0000 (23:37 -0400)]
re PR debug/53235 (20120504 broke -fdebug-types-section)

PR debug/53235
* dwarf2out.c (build_local_stub): Prefer DW_AT_signature for
comdat types.

From-SVN: r187435

12 years agoDaily bump.
GCC Administrator [Sun, 13 May 2012 00:18:32 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r187434

12 years agofunction.c (requires_stack_frame_p): If the function can throw non-call exceptions...
Eric Botcazou [Sat, 12 May 2012 21:35:37 +0000 (21:35 +0000)]
function.c (requires_stack_frame_p): If the function can throw non-call exceptions...

* function.c (requires_stack_frame_p): If the function can throw
non-call exceptions, return true if the insn can throw internally.

From-SVN: r187429

12 years ago* gcc-interface/Makefile.in (TOOLS_LIBS): Add ../../ggc-none.o.
Eric Botcazou [Sat, 12 May 2012 21:20:22 +0000 (21:20 +0000)]
* gcc-interface/Makefile.in (TOOLS_LIBS): Add ../../ggc-none.o.

From-SVN: r187428

12 years agore PR fortran/49110 (Deferred-length character result triggers (false positive) error...
Tobias Burnus [Sat, 12 May 2012 09:53:53 +0000 (11:53 +0200)]
re PR fortran/49110 (Deferred-length character result triggers (false positive) error for pure procedures)

2012-05-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/49110
        PR fortran/52843
        * resolve.c (resolve_fl_procedure): Don't regard
        character(len=:) as character(*) in the diagnostic.

2012-05-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/49110
        PR fortran/52843
        * gfortran.dg/deferred_type_param_5.f90: New.

From-SVN: r187427

12 years agogeneric.texi: Rename TYPE_PTRMEM_P to TYPE_PTRDATAMEM_P.
Paolo Carlini [Sat, 12 May 2012 09:09:25 +0000 (09:09 +0000)]
generic.texi: Rename TYPE_PTRMEM_P to TYPE_PTRDATAMEM_P.

2012-05-12  Paolo Carlini  <paolo.carlini@oracle.com>

* doc/generic.texi: Rename TYPE_PTRMEM_P to TYPE_PTRDATAMEM_P.

/cp
2012-05-12  Paolo Carlini  <paolo.carlini@oracle.com>

* cp-tree.h (TYPE_PTRMEM_P): Rename to TYPE_PTRDATAMEM_P.
(TYPE_PTR_TO_MEMBER_P): Rename to TYPE_PTRMEM_P.
(TYPE_PTR_OR_PTRMEM_P): Add.
* typeck.c (composite_pointer_type_r, composite_pointer_type,
common_pointer_type, cp_build_indirect_ref, cp_build_binary_op,
cp_truthvalue_conversion, convert_ptrmem, build_static_cast_1,
build_reinterpret_cast_1, build_const_cast_1, comp_ptr_ttypes_real,
casts_away_constness_r, casts_away_constness): Adjust.
* init.c (build_zero_init_1): Adjust.
* class.c (check_field_decls): Likewise.
* decl.c (check_default_argument): Likewise.
* rtti.c (target_incomplete_p): Likewise.
* tree.c (zero_init_p): Likewise.
* cxx-pretty-print.c (pp_cxx_ptr_operator,
pp_cxx_abstract_declarator): Likewise.
* typeck2.c (build_m_component_ref): Likewise.
* pt.c (convert_nontype_argument, invalid_nontype_parm_type_p,
dependent_type_p_r): Likewise.
* call.c (null_member_pointer_value_p, standard_conversion,
add_builtin_candidate, build_conditional_expr_1, compare_ics):
Likewise.
* cp-objcp-common.c (cp_var_mod_type_p): Likewise.
* cvt.c (cp_convert_to_pointer, ocp_convert,
perform_qualification_conversions): Likewise.
* mangle.c (write_type): Likewise.
* name-lookup.c (arg_assoc_type): Likewise.

From-SVN: r187426

12 years agogeneric.texi: Rename TYPE_PTRMEM_P to TYPE_PTRDATAMEM_P.
Paolo Carlini [Sat, 12 May 2012 09:08:47 +0000 (09:08 +0000)]
generic.texi: Rename TYPE_PTRMEM_P to TYPE_PTRDATAMEM_P.

2012-05-12  Paolo Carlini  <paolo.carlini@oracle.com>

* doc/generic.texi: Rename TYPE_PTRMEM_P to TYPE_PTRDATAMEM_P.

/cp
2012-05-12  Paolo Carlini  <paolo.carlini@oracle.com>

* cp-tree.h (TYPE_PTRMEM_P): Rename to TYPE_PTRDATAMEM_P.
(TYPE_PTR_TO_MEMBER_P): Rename to TYPE_PTRMEM_P.
(TYPE_PTR_OR_PTRMEM_P): Add.
* typeck.c (composite_pointer_type_r, composite_pointer_type,
common_pointer_type, cp_build_indirect_ref, cp_build_binary_op,
cp_truthvalue_conversion, convert_ptrmem, build_static_cast_1,
build_reinterpret_cast_1, build_const_cast_1, comp_ptr_ttypes_real,
casts_away_constness_r, casts_away_constness): Adjust.
* init.c (build_zero_init_1): Adjust.
* class.c (check_field_decls): Likewise.
* decl.c (check_default_argument): Likewise.
* rtti.c (target_incomplete_p): Likewise.
* tree.c (zero_init_p): Likewise.
* cxx-pretty-print.c (pp_cxx_ptr_operator,
pp_cxx_abstract_declarator): Likewise.
* typeck2.c (build_m_component_ref): Likewise.
* pt.c (convert_nontype_argument, invalid_nontype_parm_type_p,
dependent_type_p_r): Likewise.
* call.c (null_member_pointer_value_p, standard_conversion,
add_builtin_candidate, build_conditional_expr_1, compare_ics):
Likewise.
* cp-objcp-common.c (cp_var_mod_type_p): Likewise.
* cvt.c (cp_convert_to_pointer, ocp_convert,
perform_qualification_conversions): Likewise.
* mangle.c (write_type): Likewise.
* name-lookup.c (arg_assoc_type): Likewise.

From-SVN: r187425

12 years agoparser.c (struct cp_parser_expression_stack_entry): Add location_t field.
Paolo Carlini [Sat, 12 May 2012 08:41:29 +0000 (08:41 +0000)]
parser.c (struct cp_parser_expression_stack_entry): Add location_t field.

/cp
2012-05-12  Paolo Carlini  <paolo.carlini@oracle.com>

* parser.c (struct cp_parser_expression_stack_entry): Add location_t
field.
(cp_parser_binary_expression): Rework to always update at the same
time tree_type and loc.
* call.c (print_z_candidate): Add location_t parameter.
(print_z_candidates, convert_like_real, joust): Adjust.

/testsuite
2012-05-12  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/parse/error47.C: New.

From-SVN: r187424

12 years agoDaily bump.
GCC Administrator [Sat, 12 May 2012 00:18:32 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r187423

12 years agore PR libstdc++/53263 (priority_queue is very slow if -D_GLIBCXX_DEBUG is used)
François Dumont [Fri, 11 May 2012 19:21:31 +0000 (19:21 +0000)]
re PR libstdc++/53263 (priority_queue is very slow if -D_GLIBCXX_DEBUG is used)

2012-05-11  François Dumont  <fdumont@gcc.gnu.org>

PR libstdc++/53263
* include/debug/safe_iterator.h (__gnu_debug::__base): Move...
* include/debug/functions.h: ... Here. Add debug function
overloads to perform checks on normal iterators when possible.
* include/debug/macros.h (__glibcxx_check_heap)
(__glibcxx_check_heap_pred): Use __gnu_debug::__base on iterator range.

From-SVN: r187414

12 years agore PR libfortran/52537 (slow trim function)
Thomas Koenig [Fri, 11 May 2012 18:50:14 +0000 (18:50 +0000)]
re PR libfortran/52537 (slow trim function)

2012-05-11  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/52537
* gfortran.dg/string_compare_4.f90:  Change option
to -fdump-tree-original.  Add test case for kind=4.

From-SVN: r187413

12 years agoMerge upstream x32 support into boehm-gc
H.J. Lu [Fri, 11 May 2012 17:46:30 +0000 (17:46 +0000)]
Merge upstream x32 support into boehm-gc

Merge upstream changes
* include/private/gcconfig.h: (ALIGNMENT): Set to 4 for x32.
(CPP_WORDSZ): Set to 32 for x32.

From-SVN: r187412

12 years agoalpha.c (alpha_emit_conditional_branch): Handle ORDERED and UNORDERED conditions.
Uros Bizjak [Fri, 11 May 2012 15:11:11 +0000 (17:11 +0200)]
alpha.c (alpha_emit_conditional_branch): Handle ORDERED and UNORDERED conditions.

* config/alpha/alpha.c (alpha_emit_conditional_branch): Handle
ORDERED and UNORDERED conditions.

From-SVN: r187411

12 years agotree-flow.h (referenced_var_check_and_insert): Remove.
Richard Guenther [Fri, 11 May 2012 14:08:30 +0000 (14:08 +0000)]
tree-flow.h (referenced_var_check_and_insert): Remove.

2012-05-11  Richard Guenther  <rguenther@suse.de>

* tree-flow.h (referenced_var_check_and_insert): Remove.
(find_new_referenced_vars): Likewise.
* tree-dfa.c (referenced_var_check_and_insert): Make static.
(find_new_referenced_vars_1, find_new_referenced_vars): Remove.
* tree-inline.c (copy_bb): Use find_referenced_vars_in
instead of find_new_referenced_vars.
* gimple-fold.c (gimplify_and_update_call_from_tree): Likewise.

From-SVN: r187408

12 years agotree-pass.h (pass_rest_of_compilation, [...]): Remove.
Richard Guenther [Fri, 11 May 2012 14:07:38 +0000 (14:07 +0000)]
tree-pass.h (pass_rest_of_compilation, [...]): Remove.

2012-05-11  Richard Guenther  <rguenther@suse.de>

* tree-pass.h (pass_rest_of_compilation,
pass_all_optimizations, pass_postreload, pass_all_early_optimizations):
Remove.
* passes.c (pass_all_optimizations, pass_postreload,
pass_all_early_optimizations): Make static.
(pass_rest_of_compilation): Likewise.  Make it an RTL_PASS.
* tree-phinodes.c (init_phinodes, fini_phinodes): Remove.
* tree-ssa.c (init_tree_ssa): Do not call init_phinodes.
(delete_tree_ssa): Do not call fini_phinodes.
* tree-flow.h (init_phinodes, fini_phinodes): Remove.

From-SVN: r187407

12 years agore PR libfortran/52537 (slow trim function)
Thomas Koenig [Fri, 11 May 2012 13:56:06 +0000 (13:56 +0000)]
re PR libfortran/52537 (slow trim function)

2012-05-11  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/52537
* frontend-passes.c (optimize_op):  Change
old-style comparison operators to new-style, simplify
switch as a result.
(empty_string):  New function.
(get_len_trim_call):  New function.
(optimize_comparison):  If comparing to an empty string,
use comparison of len_trim to zero.
Use new-style comparison operators only.
(optimize_trim):  Use get_len_trim_call.

2012-05-11  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/52537
* gfortran.dg/string_compare_4.f90:  New test.

From-SVN: r187406

12 years agore PR c++/53209 (tree check ICE: expected tree_vec, have error_mark in comp_template_...
Alexandre Oliva [Fri, 11 May 2012 13:27:03 +0000 (13:27 +0000)]
re PR c++/53209 (tree check ICE: expected tree_vec, have error_mark in comp_template_args_with_info, at cp/pt.c:7038)

PR c++/53209
* pt.c (tsubst_decl): Bail out if argvec is error_mark_node.

From-SVN: r187404

12 years agore PR c/53063 (encode group options in the .opt files)
Manuel López-Ibáñez [Fri, 11 May 2012 12:23:50 +0000 (12:23 +0000)]
re PR c/53063 (encode group options in the .opt files)

2012-05-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR 53063
gcc/
* doc/options.texi (EnabledBy): Document
* opts.c: Include opts.h and options.h before tm.h.
(finish_options): Do not handle some sub-options here...
(common_handle_option): ... instead call common_handle_option_auto here.
* optc-gen.awk: Handle EnabledBy.
* opth-gen.awk: Declare common_handle_option_auto.
* common.opt (Wuninitialized): Use EnabledBy. Delete Init.
(Wmaybe-uninitialized): Likewise.
        (Wunused-but-set-variable): Likewise.
        (Wunused-function): Likewise.
        (Wunused-label): Likewise.
        (Wunused-value): Likewise.
        (Wunused-variable): Likewise.
        * opt-read.awk: Create opt_numbers array.
ada/
* gcc-interface/misc.c (gnat_parse_file): Move before ...
(gnat_handle_option): ... this. Use handle_generated_option.
c-family/
* c-opts.c (c_common_handle_option): Use handle_generated_option
to enable sub-options.
fortran/
* options.c: Include diagnostics.h instead of
diagnostics-core.h.
(set_Wall): Do not see warn_unused here.
(gfc_handle_option): Set it here using handle_generated_option.

From-SVN: r187403

12 years agore PR tree-optimization/53295 (Vectorizer support for non-constant strided loads...
Richard Guenther [Fri, 11 May 2012 12:03:10 +0000 (12:03 +0000)]
re PR tree-optimization/53295 (Vectorizer support for non-constant strided loads depends on gather support overwriting the data-ref with bogus data)

2012-05-11  Richard Guenther  <rguenther@suse.de>

        PR tree-optimization/53295
* tree-data-ref.h (stride_of_unit_type_p): Handle non-constant
strides.
* tree-data-ref.c (dr_analyze_innermost): Allow non-constant
strides when analyzing data-references in a loop context.
* tree-vect-data-refs.c (vect_mark_for_runtime_alias_test): Reject
non-constant strides for now.
(vect_enhance_data_refs_alignment): Ignore data references
that are strided loads.
(vect_analyze_data_ref_access): Handle non-constant strides.
(vect_check_strided_load): Verify the data-reference is a load.
(vect_analyze_data_refs): Restructure to make strided load
support not dependent on gather support.
* tree-vect-stmts.c (vectorizable_load): Avoid useless work
when doing strided or gather loads.
* tree-vect-loop-manip.c (vect_vfa_segment_size): Use
integer_zerop to compare stride with zero.

From-SVN: r187402

12 years agoAdd RTM support to -march=native
H.J. Lu [Fri, 11 May 2012 11:12:42 +0000 (11:12 +0000)]
Add RTM support to -march=native

* config/i386/driver-i386.c (host_detect_local_cpu): Support
RTM.

From-SVN: r187400

12 years agoAllow for ! comments in g++.dg/debug/dwarf2/nested-3.C
Rainer Orth [Fri, 11 May 2012 10:15:44 +0000 (10:15 +0000)]
Allow for ! comments in g++.dg/debug/dwarf2/nested-3.C

* g++.dg/debug/dwarf2/nested-3.C: Allow for ! comments.

From-SVN: r187399

12 years agore PR bootstrap/53300 (AIX bootstrap related to varpool patch)
Jan Hubicka [Fri, 11 May 2012 08:40:15 +0000 (10:40 +0200)]
re PR bootstrap/53300 (AIX bootstrap related to varpool patch)

PR bootstrap/53300
* varpool.c (varpool_assemble_decl): Also output constat pool entries
that output_constant_pool missed.

From-SVN: r187397

12 years agore PR c++/53305 (internal crash with variadic templates and decltype)
Paolo Carlini [Fri, 11 May 2012 08:22:16 +0000 (08:22 +0000)]
re PR c++/53305 (internal crash with variadic templates and decltype)

/cp
2012-05-11  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53305
* pt.c (tsubst_copy: case PARM_DECL): Return error_mark_node if
tsubst_decl returns NULL_TREE.
* cxx-pretty-print.c (pp_cxx_simple_type_specifier): Handle
BOUND_TEMPLATE_TEMPLATE_PARM.

/testsuite
2012-05-11  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53305
* g++.dg/cpp0x/variadic132.C: New.

From-SVN: r187396

12 years agore PR fortran/53310 (EOSHIFT leaks memory)
Tobias Burnus [Fri, 11 May 2012 08:14:56 +0000 (10:14 +0200)]
re PR fortran/53310 (EOSHIFT leaks memory)

2012-05-11  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53310
        * intrinsics/eoshift2.c (eoshift2): Do not leak
        memory by allocating it in the loop.

From-SVN: r187395

12 years agoRemove ChangeLog entry for change to gofrontend file.
Ian Lance Taylor [Fri, 11 May 2012 05:25:56 +0000 (05:25 +0000)]
Remove ChangeLog entry for change to gofrontend file.

Remove ChangeLog entry for change to gofrontend file.  Changes to
those files do not get ChangeLog entries.

From-SVN: r187394

12 years agoFix misspelled macro in t-vxworks.
Mingjie Xing [Fri, 11 May 2012 01:44:24 +0000 (01:44 +0000)]
Fix misspelled macro in t-vxworks.

From-SVN: r187393

12 years agoFix misspelled macro in t-vxworks.
Mingjie Xing [Fri, 11 May 2012 01:43:26 +0000 (01:43 +0000)]
Fix misspelled macro in t-vxworks.

From-SVN: r187392

12 years agoDaily bump.
GCC Administrator [Fri, 11 May 2012 00:18:26 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r187391

12 years agore PR target/53291 (Code generated for xtest is wrong)
Uros Bizjak [Thu, 10 May 2012 23:31:03 +0000 (01:31 +0200)]
re PR target/53291 (Code generated for xtest is wrong)

PR target/53291
* config/i386/i386.md (xtest): Use NE condition in ix86_expand_setcc.

From-SVN: r187387

12 years agoi386.md (*movti_internal_rex64): Avoid MOVAPS size optimization for TARGET_AVX.
Uros Bizjak [Thu, 10 May 2012 23:27:55 +0000 (01:27 +0200)]
i386.md (*movti_internal_rex64): Avoid MOVAPS size optimization for TARGET_AVX.

* config/i386/i386.md (*movti_internal_rex64): Avoid MOVAPS size
optimization for TARGET_AVX.
(*movti_internal_sse): Ditto.
(*movdi_internal_rex64): Handle TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL.
(*movdi_internal): Ditto.
(*movsi_internal): Ditto.
(*movtf_internal): Avoid MOVAPS size optimization for TARGET_AVX.
(*movdf_internal_rex64): Ditto.
(*movfd_internal): Ditto.
(*movsf_internal): Ditto.
* config/i386/sse.md (mov<mode>): Handle TARGET_SSE_LOAD0_BY_PXOR.

From-SVN: r187386

12 years agodwarf2out.c (add_byte_size_attribute): Handle variable reference as size attribute.
Eric Botcazou [Thu, 10 May 2012 22:17:37 +0000 (22:17 +0000)]
dwarf2out.c (add_byte_size_attribute): Handle variable reference as size attribute.

* dwarf2out.c (add_byte_size_attribute) <RECORD_TYPE>: Handle variable
reference as size attribute.

From-SVN: r187384

12 years agomd.texi (Standard Names): Document probe_stack_address.
Eric Botcazou [Thu, 10 May 2012 22:15:07 +0000 (22:15 +0000)]
md.texi (Standard Names): Document probe_stack_address.

* doc/md.texi (Standard Names): Document probe_stack_address.
* explow.c (emit_stack_probe): Handle probe_stack_address.
* config/ia64/ia64.md (UNSPECV_PROBE_STACK_ADDRESS): New constant.
(UNSPECV_PROBE_STACK_RANGE): Likewise.
(probe_stack_address): New insn.
(probe_stack_range): Likewise.
* config/ia64/ia64.c: Include common/common-target.h.
(ia64_compute_frame_size): Mark r2 and r3 as used if static stack
checking is enabled.
(ia64_emit_probe_stack_range): New function.
(output_probe_stack_range): Likewise.
(ia64_expand_prologue): Invoke ia64_emit_probe_stack_range if static
builtin stack checking is enabled.
(rtx_needs_barrier) <UNSPEC_VOLATILE>: Handle UNSPECV_PROBE_STACK_RANGE
and UNSPECV_PROBE_STACK_ADDRESS.
(unknown_for_bundling_p): New predicate.
(group_barrier_needed): Use important_for_bundling_p.
(ia64_dfa_new_cycle): Use unknown_for_bundling_p.
(issue_nops_and_insn): Likewise.
(bundling): Likewise.
(final_emit_insn_group_barriers): Likewise.
* config/ia64/ia64-protos.h (output_probe_stack_range): Declare.
* config/ia64/hpux.h (STACK_CHECK_STATIC_BUILTIN): Define.
(STACK_CHECK_PROTECT): Likewise.
* config/ia64/linux.h (STACK_CHECK_STATIC_BUILTIN): Likewise.

Co-Authored-By: Tristan Gingold <gingold@adacore.com>
From-SVN: r187383

12 years agoipa-inline.c (update_all_callee_keys): Remove.
Jan Hubicka [Thu, 10 May 2012 21:50:22 +0000 (23:50 +0200)]
ipa-inline.c (update_all_callee_keys): Remove.

* ipa-inline.c (update_all_callee_keys): Remove.
(inline_small_functions): Simplify priority updating.

From-SVN: r187382

12 years ago* ipa.c (symtab_remove_unreachable_nodes): Fix marking of clones.
Jan Hubicka [Thu, 10 May 2012 21:41:38 +0000 (23:41 +0200)]
* ipa.c (symtab_remove_unreachable_nodes): Fix marking of clones.

From-SVN: r187381

12 years agore PR c++/53158 ([C++11] Bogus error in loop condition)
Paolo Carlini [Thu, 10 May 2012 21:14:09 +0000 (21:14 +0000)]
re PR c++/53158 ([C++11] Bogus error in loop condition)

/cp
2012-05-10  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53158
* cvt.c (ocp_convert): Error out early for void -> bool conversions.
* typeck.c (decay_conversion): Use error_at.
* call.c (build_integral_nontype_arg_conv, convert_like_real,
convert_arg_to_ellipsis, perform_implicit_conversion_flags,
initialize_reference): Likewise.
* cvt.c (warn_ref_binding): Add location_t parameter.
(cp_convert_to_pointer, convert_to_reference, ocp_convert,
convert_to_void, ): Use error_at and warning_at.

/c-family
2012-05-10  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53158
* c-common.c (warnings_for_convert_and_check): Use warning_at.

/testsuite
2012-05-10  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53158
* g++.dg/cpp0x/lambda/lambda-err2.C: New.
* g++.dg/parse/error26.C: Tweak dg-error column number.

From-SVN: r187380

12 years agore PR c++/53301 (Spurious -Wzero-as-null-pointer-constant with reference arguments)
Paolo Carlini [Thu, 10 May 2012 21:06:05 +0000 (21:06 +0000)]
re PR c++/53301 (Spurious -Wzero-as-null-pointer-constant with reference arguments)

/cp
2012-05-10  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53301
* decl.c (check_default_argument): Fix typo (POINTER_TYPE_P
instead of TYPE_PTR_P) in zero-as-null-pointer-constant warning.

/testsuite
2012-05-10  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53301
* g++.dg/warn/Wzero-as-null-pointer-constant-6.C: New.

From-SVN: r187377

12 years agorandom.tcc (seed_seq::generate): Cast max() operands to size_t to ensure a template...
DJ Delorie [Thu, 10 May 2012 20:32:47 +0000 (16:32 -0400)]
random.tcc (seed_seq::generate): Cast max() operands to size_t to ensure a template match.

* include/bits/random.tcc (seed_seq::generate): Cast max()
operands to size_t to ensure a template match.
* include/std/bitset (_M_copy_from_ptr): Cast min() operands to
size_t to ensure a template match.

From-SVN: r187376

12 years agocgraph.h (cgraph_remove_unreachable_nodes): Rename to ...
Jan Hubicka [Thu, 10 May 2012 20:17:36 +0000 (22:17 +0200)]
cgraph.h (cgraph_remove_unreachable_nodes): Rename to ...

* cgraph.h (cgraph_remove_unreachable_nodes): Rename to ...
(symtab_remove_unreachable_nodes): ... this one.
* ipa-cp.c (ipcp_driver): Do not remove unreachable nodes.
* cgraphunit.c (ipa_passes): Update.
* cgraphclones.c (cgraph_materialize_all_clones): Update.
* cgraph.c (cgraph_release_function_body): Only turn initial
into error mark when initial was previously set.
* ipa-inline.c (ipa_inline): Update.
* ipa.c: Include ipa-inline.h
(enqueue_cgraph_node, enqueue_varpool_node): Remove.
(enqueue_node): New function.
(process_references): Update.
(symtab_remove_unreachable_nodes): Cleanup.
* passes.c (execute_todo, execute_one_pass): Update.

From-SVN: r187375

12 years agoFix typo in last Changelog entry.
Vladimir Makarov [Thu, 10 May 2012 19:59:29 +0000 (19:59 +0000)]
Fix typo in last Changelog entry.

From-SVN: r187374

12 years agore PR rtl-optimization/53125 (Very slow compilation on SPARC)
Vladimir Makarov [Thu, 10 May 2012 19:58:01 +0000 (19:58 +0000)]
re PR rtl-optimization/53125 (Very slow compilation on SPARC)

2012-05-10  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/53125
* ira.c (ira): Call find_moveable_pseudos or
move_unallocated_pseudos if only ira_conflicts_p is true.

From-SVN: r187373

12 years agoi386.md (*movoi_internal_avx): Handle TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL and TARGE...
Uros Bizjak [Thu, 10 May 2012 19:34:19 +0000 (21:34 +0200)]
i386.md (*movoi_internal_avx): Handle TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL and TARGET_SSE_TYPELESS_STORES.

* config/i386/i386.md (*movoi_internal_avx): Handle
TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL and TARGET_SSE_TYPELESS_STORES.
(*movti_internal_rex64): Handle TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL.
(*movti_internal_sse): Ditto.
(*movtf_internal): Ditto.
* config/i386/sse.md (ssePSmode): New mode attribute.
(*move<mode>_internal): Use ssePSmode.
(*<sse>_movu<ssemodesuffix><avxsizesuffix>): Ditto.
(*<sse2>_movdqu<avxsizesuffix>): Ditto.
* config/i386/i386.c (standard_sse_constant_opcode): Do not handle
TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL here.

From-SVN: r187372

12 years agoFix copyright date
Eric Botcazou [Thu, 10 May 2012 15:05:39 +0000 (15:05 +0000)]
Fix copyright date

From-SVN: r187371

12 years agogimplify.c (gimplify_decl_expr): For a TYPE_DECL, also gimplify the DECL_ORIGINAL_TYP...
Eric Botcazou [Thu, 10 May 2012 14:57:48 +0000 (14:57 +0000)]
gimplify.c (gimplify_decl_expr): For a TYPE_DECL, also gimplify the DECL_ORIGINAL_TYPE if it is present.

* gimplify.c (gimplify_decl_expr): For a TYPE_DECL, also gimplify the
DECL_ORIGINAL_TYPE if it is present.

From-SVN: r187369

12 years agore PR target/53120 (ICE exposing strict_low_part / in/out operand thinko -fno-tree...
Nick Clifton [Thu, 10 May 2012 13:40:20 +0000 (13:40 +0000)]
re PR target/53120 (ICE exposing strict_low_part / in/out operand thinko -fno-tree-sra)

PR target/53120
* config/m32c/bitops.md (bset_qi): Change operand 2 from having
a "0" constraint to being a (match_dup 0).

From-SVN: r187368

12 years agostor-layout.c (byte_from_pos): Amend comment.
Richard Guenther [Thu, 10 May 2012 10:28:31 +0000 (10:28 +0000)]
stor-layout.c (byte_from_pos): Amend comment.

2012-05-10  Richard Guenther  <rguenther@suse.de>

* stor-layout.c (byte_from_pos): Amend comment.

From-SVN: r187367

12 years agoAlways compile atomic builtin tests with $XCFLAGS
Rainer Orth [Thu, 10 May 2012 09:11:05 +0000 (09:11 +0000)]
Always compile atomic builtin tests with $XCFLAGS

PR other/53284
* acinclude.m4 (LIBAT_TEST_ATOMIC_BUILTIN): Add -O0 -S to CFLAGS
instead of overriding.
* configure: Regenerate.

From-SVN: r187366

12 years agoUse i386-cpuinfo.c on all i386 targets
Rainer Orth [Thu, 10 May 2012 08:51:39 +0000 (08:51 +0000)]
Use i386-cpuinfo.c on all i386 targets

libgcc:
* config.host (i[34567]86-*-linux*, x86_64-*-linux*)
(i[34567]86-*-kfreebsd*-gnu, x86_64-*-kfreebsd*-gnu)
(i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*): Move
i386/t-cpuinfo ...
(i[34567]86-*-*, x86_64-*-*): ... here.

* config/i386/libgcc-bsd.ver (GCC_4.8.0): New version.
* config/i386/libgcc-sol2.ver (GCC_4.8.0): New version.

* config/i386/i386-cpuinfo.c: Rename to ...
* config/i386/cpuinfo.c: ... this.
* config/i386/t-cpuinfo (LIB2ADD): Reflect this.

* configure.ac (AC_CONFIG_HEADER): Call for auto-target.h.
(libgcc_cv_init_priority): New test.
* configure: Regenerate.
* config.in: New file.
* Makefile.in (clean): Rename config.h to auto-target.h.
(config.h): Likewise.
(stamp-h): Likewise.

* config/i386/cpuinfo.c (auto-target.h): Include.
(CONSTRUCTOR_PRIORITY): Define.
(__cpu_indicator_init): Use it.

gcc
* doc/extend.texi (X86 Built-in Functions, __builtin_cpu_init):
Document requirement to call in constructors.

* config/i386/i386.c: Update comments for i386-cpuinfo.c name
change.

From-SVN: r187365

12 years agoexpr.c (interpret_float_suffix): Add a guard.
Tristan Gingold [Thu, 10 May 2012 08:04:18 +0000 (08:04 +0000)]
expr.c (interpret_float_suffix): Add a guard.

2012-05-10  Tristan Gingold  <gingold@adacore.com>

* expr.c (interpret_float_suffix): Add a guard.

From-SVN: r187364

12 years agocuintp.c (UI_From_gnu): Remove TYPE_IS_SIZETYPE use.
Richard Guenther [Thu, 10 May 2012 07:58:27 +0000 (07:58 +0000)]
cuintp.c (UI_From_gnu): Remove TYPE_IS_SIZETYPE use.

2012-05-10  Richard Guenther  <rguenther@suse.de>

ada/
* gcc-interface/cuintp.c (UI_From_gnu): Remove TYPE_IS_SIZETYPE use.

c-family/
* c-common.c (c_sizeof_or_alignof_type): Remove assert and
adjust commentary about TYPE_IS_SIZETYPE types.

* tree.h (TYPE_IS_SIZETYPE): Remove.
* fold-const.c (int_const_binop_1): Remove TYPE_IS_SIZETYPE use.
(extract_muldiv_1): Likewise.
* gimple.c (gtc_visit): Likewise.
(gimple_types_compatible_p): Likewise.
(iterative_hash_canonical_type): Likewise.
(gimple_canonical_types_compatible_p): Likewise.
* gimplify.c (gimplify_one_sizepos): Likewise.
* print-tree.c (print_node): Likewise.
* stor-layout.c (initialize_sizetypes): Do not set TYPE_IS_SIZETYPE.

From-SVN: r187363

12 years agoDaily bump.
GCC Administrator [Thu, 10 May 2012 00:18:52 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r187362

12 years agocompiler: Add -fgo-pkgpath option.
Ian Lance Taylor [Wed, 9 May 2012 21:17:23 +0000 (21:17 +0000)]
compiler: Add -fgo-pkgpath option.

* lang.opt: Add -fgo-pkgpath.
* go-lang.c (go_pkgpath): New static variable.
(go_prefix): New static variable.
(go_langhook_init): Pass go_pkgpath and go_prefix to
go_create_gogo.
(go_langhook_handle_option): Handle -fgo-pkgpath.  Change
-fgo-prefix handling to just set go_prefix.
* go-c.h (go_set_prefix): Don't declare.
(go_create_gogo): Add pkgpath and prefix to declaration.
* go-gcc.cc (Gcc_backend::global_variable): Change unique_prefix
to pkgpath.  Don't include the package name in the asm name.
* gccgo.texi (Invoking gccgo): Document -fgo-pkgpath.  Update the
docs for -fgo-prefix.

From-SVN: r187356

12 years agore PR c++/53289 (unnecessary repetition of caret diagnostics)
Manuel López-Ibáñez [Wed, 9 May 2012 21:14:15 +0000 (21:14 +0000)]
re PR c++/53289 (unnecessary repetition of caret diagnostics)

2012-05-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c++/53289
gcc/
* diagnostic.h (diagnostic_context): Add last_location.
* diagnostic.c (diagnostic_initialize): Initialize it.
(diagnostic_show_locus): Use it.

From-SVN: r187355

12 years agore PR target/52908 (xop-mul-1:f9 miscompiled on bulldozer (-mxop))
Uros Bizjak [Wed, 9 May 2012 20:41:08 +0000 (22:41 +0200)]
re PR target/52908 (xop-mul-1:f9 miscompiled on bulldozer (-mxop))

PR target/52908
* config/i386/sse.md (vec_widen_smult_hi_v4si): Expand using
xop_pmacsdqh insn pattern instead of xop_mulv2div2di3_high.
(vec_widen_smult_lo_v4si): Expand using xop_pmacsdql insn pattern
instead of xop_mulv2div2di3_low.
(xop_p<macs>dql): Fix vec_select selector.
(xop_p<macs>dqh): Ditto.
(xop_mulv2div2di3_low): Remove insn_and_split pattern.
(xop_mulv2div2di3_high): Ditto.

testsuite/ChangeLog:

PR target/52908
* gcc.target/i386/xop-imul32widen-vector.c: Update scan-assembler
directive to Scan for vpmuldq, not vpmacsdql.

From-SVN: r187354

12 years agoextend.texi (Function Attributes): Point xref to section about Pragmas.
Manuel López-Ibáñez [Wed, 9 May 2012 19:51:17 +0000 (19:51 +0000)]
extend.texi (Function Attributes): Point xref to section about Pragmas.

2012-05-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>

       * doc/extend.texi (Function Attributes): Point xref to section
about Pragmas.

From-SVN: r187353

12 years agoi386.c (*movdf_internal_rex64): Remove TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL handling...
Uros Bizjak [Wed, 9 May 2012 18:48:31 +0000 (20:48 +0200)]
i386.c (*movdf_internal_rex64): Remove TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL handling from asm output code.

* config/i386/i386.c (*movdf_internal_rex64): Remove
TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL handling from asm output code.
Calculate "mode" attribute according to
TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL flag.
(*movdf_internal): Ditto.

From-SVN: r187348

12 years agore PR target/44141 (Redundant loads and stores generated for AMD bdver1 target)
Uros Bizjak [Wed, 9 May 2012 18:06:47 +0000 (20:06 +0200)]
re PR target/44141 (Redundant loads and stores generated for AMD bdver1 target)

PR target/44141
* config/i386/i386.c (ix86_expand_vector_move_misalign): Do not handle
128 bit vectors specially for TARGET_AVX.  Emit sse2_movupd and
sse_movupd RTXes for TARGET_AVX, TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
or when optimizing for size.
* config/i386/sse.md (*mov<mode>_internal): Remove
TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL handling from asm output code.
Calculate "mode" attribute according to optimize_function_for_size_p
and TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL flag.
(*<sse>_movu<ssemodesuffix><avxsizesuffix>): Choose asm template
depending on the mode of the instruction.  Calculate "mode" attribute
according to optimize_function_for_size_p, TARGET_SSE_TYPELESS_STORES
and TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL flags.
(*<sse2>_movdqu<avxsizesuffix>): Ditto.

From-SVN: r187347

12 years agore PR target/53256 ([avr] Attribute 'interrupt' shall override attribute 'signal')
Georg-Johann Lay [Wed, 9 May 2012 16:28:53 +0000 (16:28 +0000)]
re PR target/53256 ([avr] Attribute 'interrupt' shall override attribute 'signal')

PR target/53256
* config/avr/elf.h (ASM_DECLARE_FUNCTION_NAME): Remove.
* config/avr/avr-protos.h (avr_asm_declare_function_name): Remove.
* config/avr/avr.h (struct machine_function): Add attributes_checked_p.
* config/avr/avr.c (avr_asm_declare_function_name): Remove.
(expand_prologue): Move initialization of cfun->machine->is_naked,
is_interrupt, is_signal, is_OS_task, is_OS_main from here to...
(avr_set_current_function): ...this new static function.
(TARGET_SET_CURRENT_FUNCTION): New define.
(avr_function_ok_for_sibcall): Use cfun->machine->is_* instead of
checking attributes of current_function_decl.
(avr_regs_to_save): Ditto.
(signal_function_p): Rename to avr_signal_function_p.
(interrupt_function_p): Rename to avr_interrupt_function_p.
* doc/extend.texi (Function Attributes): Better explanation of
'interrupt' and 'signal' for AVR. Move 'ifunc' down to establish
alphabetical order.

From-SVN: r187342

12 years agore PR bootstrap/50461 (mpfr.h found in mpfr-3.1.0/src instead of mpfr-3.0.1/. as...
Nick Clifton [Wed, 9 May 2012 16:20:17 +0000 (16:20 +0000)]
re PR bootstrap/50461 (mpfr.h found in mpfr-3.1.0/src instead of mpfr-3.0.1/. as previously)

PR bootstrap/50461
* configure.ac (mpfr-dir): When using in-tree MPFR sources
allow for the fact that from release v3.1.0 of MPFR the source
files were moved into a src sub-directory.
* configure: Regenerate.

Co-Authored-By: Paul Smith <psmith@gnu.org>
From-SVN: r187341

12 years agore PR tree-optimization/53185 (segmentation fault in vectorizable_load)
Michael Matz [Wed, 9 May 2012 16:08:26 +0000 (16:08 +0000)]
re PR tree-optimization/53185 (segmentation fault in vectorizable_load)

PR tree-optimization/53185
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Disable
peeling when we see strided loads.

testsuite/
* gcc.dg/vect/pr53185.c: New test.

From-SVN: r187340

12 years agogcc-ar.c (main): Don't check for execute bits for the plugin.
Matthias Klose [Wed, 9 May 2012 16:00:58 +0000 (16:00 +0000)]
gcc-ar.c (main): Don't check for execute bits for the plugin.

2012-05-09  Matthias Klose  <doko@ubuntu.com>

        * gcc-ar.c (main): Don't check for execute bits for the plugin.

From-SVN: r187338

12 years ago* gcc_update: Use $GCC_SVN to retrieve branch and revision.
David Edelsohn [Wed, 9 May 2012 15:35:00 +0000 (15:35 +0000)]
* gcc_update: Use $GCC_SVN to retrieve branch and revision.

From-SVN: r187337

12 years agoUse a URL for FSF address and replace spaces with tab
H.J. Lu [Wed, 9 May 2012 13:36:19 +0000 (13:36 +0000)]
Use a URL for FSF address and replace spaces with tab

* longlong.h: Use a URL instead of an FSF postal address.
Replace spaces with tab.

From-SVN: r187333

12 years agoAdd a test for PR middle-end/53249
H.J. Lu [Wed, 9 May 2012 13:32:13 +0000 (13:32 +0000)]
Add a test for PR middle-end/53249

PR middle-end/53249
* gcc.target/i386/pr53249.c: New.

From-SVN: r187331

12 years agore PR tree-optimization/18437 (vectorizer failed for matrix multiplication)
Richard Guenther [Wed, 9 May 2012 12:59:46 +0000 (12:59 +0000)]
re PR tree-optimization/18437 (vectorizer failed for matrix multiplication)

2012-05-09  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/18437
* gfortran.dg/vect/rnflow-trs2a2.f90: Move ...
* gfortran.dg/vect/fast-math-rnflow-trs2a2.f90: ... here.

From-SVN: r187330

12 years agotree-ssa-loop-ivopts.c (add_autoinc_candidates, [...]): Replace use of HAVE_{POST...
Ramana Radhakrishnan [Wed, 9 May 2012 12:51:36 +0000 (12:51 +0000)]
tree-ssa-loop-ivopts.c (add_autoinc_candidates, [...]): Replace use of HAVE_{POST/PRE}_{INCREMENT/DECREMENT} with...

2012-05-09  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

* tree-ssa-loop-ivopts.c (add_autoinc_candidates, get_address_cost):
Replace use of HAVE_{POST/PRE}_{INCREMENT/DECREMENT} with
USE_{LOAD/STORE}_{PRE/POST}_{INCREMENT/DECREMENT} appropriately.
* config/arm/arm.h (ARM_AUTOINC_VALID_FOR_MODE_P): New.
(USE_LOAD_POST_INCREMENT): Define.
(USE_LOAD_PRE_INCREMENT): Define.
(USE_LOAD_POST_DECREMENT): Define.
(USE_LOAD_PRE_DECREMENT): Define.
(USE_STORE_PRE_DECREMENT): Define.
(USE_STORE_PRE_INCREMENT): Define.
(USE_STORE_POST_DECREMENT): Define.
(USE_STORE_POST_INCREMENT): Define.
(arm_auto_incmodes): Add enumeration.
* config/arm/arm-protos.h (arm_autoinc_modes_ok_p): Declare.
* config/arm/arm.c (arm_autoinc_modes_ok_p): Define.

From-SVN: r187329

12 years agore PR tree-optimization/53226 (Endless loop in forwprop)
Jakub Jelinek [Wed, 9 May 2012 12:19:34 +0000 (14:19 +0200)]
re PR tree-optimization/53226 (Endless loop in forwprop)

PR tree-optimization/53226
* tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Remove
prev and prev_initialized vars, gimple_set_plf (stmt, GF_PLF_1, false)
before processing it and gimple_set_plf (stmt, GF_PLF_1, true) if it
doesn't need to be revisited, look for earliest stmt with
!gimple_plf (stmt, GF_PLF_1) if something changed.

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

From-SVN: r187328

12 years agogenmultilib: Update copyright dates.
Terry Guo [Wed, 9 May 2012 11:52:11 +0000 (11:52 +0000)]
genmultilib: Update copyright dates.

        * genmultilib: Update copyright dates.
        * doc/fragments.texi: Ditto.

From-SVN: r187327

12 years agoMakefile.in (s-mlib): Add new argument MULTILIB_REQUIRED.
Terry Guo [Wed, 9 May 2012 11:38:47 +0000 (11:38 +0000)]
Makefile.in (s-mlib): Add new argument MULTILIB_REQUIRED.

        * Makefile.in (s-mlib): Add new argument MULTILIB_REQUIRED.
        * genmultilib (MULTILIB_REQUIRED): New.
        * doc/fragments.texi: Document the MULTILIB_REQUIRED.

From-SVN: r187325

12 years agotree-vectorizer.h (vect_loop_versioning): Adjust prototype.
Richard Guenther [Wed, 9 May 2012 11:01:16 +0000 (11:01 +0000)]
tree-vectorizer.h (vect_loop_versioning): Adjust prototype.

2012-05-09  Richard Guenther  <rguenther@suse.de>

* tree-vectorizer.h (vect_loop_versioning): Adjust prototype.
(vect_do_peeling_for_loop_bound): Likewise.
(vect_do_peeling_for_alignment): Likewise.
* tree-vect-loop-manip.c (conservative_cost_threshold): Remove.
(vect_do_peeling_for_loop_bound): Get check_profitability and
threshold as parameters.
(vect_do_peeling_for_alignment): Likewise.
(vect_loop_versioning): Likewise.
* tree-vect-loop.c (vect_transform_loop): Compute check_profitability
and threshold here.  Control where to put the check here.

From-SVN: r187323

12 years agoFix gcc.target/i386/hle-* testcases with Sun as
Rainer Orth [Wed, 9 May 2012 10:49:17 +0000 (10:49 +0000)]
Fix gcc.target/i386/hle-* testcases with Sun as

* gcc.target/i386/hle-add-acq-1.c: Allow for ; after lock.
* gcc.target/i386/hle-add-rel-1.c: Likewise.
* gcc.target/i386/hle-and-acq-1.c: Likewise.
* gcc.target/i386/hle-and-rel-1.c: Likewise.
* gcc.target/i386/hle-cmpxchg-acq-1.c: Likewise.
* gcc.target/i386/hle-cmpxchg-rel-1.c: Likewise.
* gcc.target/i386/hle-or-acq-1.c: Likewise.
* gcc.target/i386/hle-or-rel-1.c: Likewise.
* gcc.target/i386/hle-sub-acq-1.c: Likewise.
* gcc.target/i386/hle-sub-rel-1.c: Likewise.
* gcc.target/i386/hle-xadd-acq-1.c: Likewise.
* gcc.target/i386/hle-xadd-rel-1.c: Likewise.
* gcc.target/i386/hle-xor-acq-1.c: Likewise.
* gcc.target/i386/hle-xor-rel-1.c: Likewise.

From-SVN: r187321

12 years agore PR bootstrap/53249 (Bootstrap failure)
Richard Sandiford [Wed, 9 May 2012 09:22:57 +0000 (09:22 +0000)]
re PR bootstrap/53249 (Bootstrap failure)

gcc/
PR middle-end/53249
* dwarf2out.h (get_address_mode): Move declaration to...
* rtl.h: ...here.
* dwarf2out.c (get_address_mode): Move definition to...
* rtlanal.c: ...here.
* var-tracking.c (get_address_mode): Delete.
* combine.c (find_split_point): Use get_address_mode instead of
targetm.addr_space.address_mode.
* cselib.c (cselib_record_sets): Likewise.
* dse.c (canon_address, record_store): Likewise.
* emit-rtl.c (adjust_address_1, offset_address): Likewise.
* expr.c (move_by_pieces, emit_block_move_via_loop, store_by_pieces)
(store_by_pieces_1, expand_assignment, store_expr, store_constructor)
(expand_expr_real_1): Likewise.
* ifcvt.c (noce_try_cmove_arith): Likewise.
* optabs.c (maybe_legitimize_operand_same_code): Likewise.
* reload.c (find_reloads): Likewise.
* sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise.
* sel-sched-dump.c (debug_mem_addr_value): Likewise.

From-SVN: r187320

12 years agomips.c (mips16_gp_pseudo_reg): Remove line information from the instruction produced.
Maciej W. Rozycki [Wed, 9 May 2012 09:19:44 +0000 (09:19 +0000)]
mips.c (mips16_gp_pseudo_reg): Remove line information from the instruction produced.

* config/mips/mips.c (mips16_gp_pseudo_reg): Remove line
information from the instruction produced.

From-SVN: r187319

12 years agostor-layout.c (bit_from_pos): Document.
Richard Guenther [Wed, 9 May 2012 08:56:25 +0000 (08:56 +0000)]
stor-layout.c (bit_from_pos): Document.

2012-05-09  Richard Guenther  <rguenther@suse.de>

* stor-layout.c (bit_from_pos): Document.
(byte_from_pos): Likewise.  Optimize.
(pos_from_bit): Likewise.
(normalize_offset): Use pos_from_bit instead of replicating it.

From-SVN: r187317

12 years agore PR target/53271 (powerpc-eabispe build fails with ice on unwind-dw2.c)
Alan Modra [Wed, 9 May 2012 08:17:09 +0000 (17:47 +0930)]
re PR target/53271 (powerpc-eabispe build fails with ice on unwind-dw2.c)

PR target/53271
* config/rs6000/rs6000.c (gen_frame_set): New function.
(gen_frame_load, gen_frame_store): New functions.
(rs6000_savres_rtx): Use the above.
(rs6000_emit_epilogue, rs6000_emit_prologue): Here too.
Correct mode used for CR2 in save/restore_world patterns.
Don't emit instructions for eh_return frame unwind reg info.

From-SVN: r187316

12 years agopredict-1.c: Remove the replicated text in this test.
Dehao Chen [Wed, 9 May 2012 07:10:45 +0000 (07:10 +0000)]
predict-1.c: Remove the replicated text in this test.

gcc/testsuite

* gcc.dg/predict-1.c: Remove the replicated text in this test.
* gcc.dg/predict-2.c: Likewise.
* gcc.dg/predict-3.c: Likewise.
* gcc.dg/predict-4.c: Likewise.
* gcc.dg/predict-5.c: Likewise.
* gcc.dg/predict-6.c: Likewise.

From-SVN: r187315

12 years agocgraphbuild.c (build_cgraph_edges): Do not finalize vars with VALUE_EXPR.
Jan Hubicka [Wed, 9 May 2012 07:01:39 +0000 (09:01 +0200)]
cgraphbuild.c (build_cgraph_edges): Do not finalize vars with VALUE_EXPR.

* cgraphbuild.c (build_cgraph_edges): Do not finalize vars
with VALUE_EXPR.
* cgraph.h (varpool_can_remove_if_no_refs): Vars with VALUE_EXPR
are removable.
* toplev.c (wrapup_global_declaration_2): Vars with VALUE_EXPR
need to wrapup.
(compile_file): Do not output variables.
* cgraphbuild.c (varpool_finalize_decl): When var is finalized late,
output it.
* langhooks.c: Include timevar.h
(write_global_declarations): Finalize compilation unit after wrapup;
set timevars correctly.
* passes.c (rest_of_decl_compilation): Decls with VALUE_EXPR needs
not to be added to varpool.
* varpool.c (varpool_assemble_decl): Sanity check that we are called
only on cases where it makes sense; skip constant pool and value expr
vars.

* lto.c (do_whole_program_analysis): Set timevars correctly.
(lto_main): Likewise.

* trans-common.c (create_common): Do not fake TREE_ASM_WRITTEN.
* trans-decl.c (gfc_finish_cray_pointee): Likewise.

From-SVN: r187314

12 years agoRemove -Y option from linker command line on Linux/Sparc.
David S. Miller [Wed, 9 May 2012 04:57:49 +0000 (04:57 +0000)]
Remove -Y option from linker command line on Linux/Sparc.

gcc/

* config/sparc/linux.h (LINK_SPEC): Don't pass "-Y" option.
* config/sparc/linux64.h (LINK_ARCH32_SPEC): Likewise.
* config/sparc/linux64.h (LINK_ARCH64_SPEC): Likewise.

From-SVN: r187309

12 years agoDaily bump.
GCC Administrator [Wed, 9 May 2012 00:18:43 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r187307

12 years agore PR c++/53261 (ICE in tree_strip_nop_conversions)
Manuel López-Ibáñez [Tue, 8 May 2012 22:14:34 +0000 (22:14 +0000)]
re PR c++/53261 (ICE in tree_strip_nop_conversions)

2012-05-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c++/53261
c-family/
* c-common.c (warn_logical_operator): Check that argument of
integer_zerop is not NULL.

From-SVN: r187300

12 years agore PR rtl-optimization/53278 (internal compiler error: in df_uses_record, at df-scan...
Richard Sandiford [Tue, 8 May 2012 21:42:03 +0000 (21:42 +0000)]
re PR rtl-optimization/53278 (internal compiler error: in df_uses_record, at df-scan.c:3179 when compiling libgcc2.c __mulvdi3 on armv5tel-linux)

gcc/
PR rtl-optimization/53278
* lower-subreg.c (decompose_multiword_subregs): Remove left-over
speed_p code from earlier patch.

From-SVN: r187299

12 years agore PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
Oleg Endo [Tue, 8 May 2012 21:36:30 +0000 (21:36 +0000)]
re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)

PR target/51244
* config/sh/sh.md (*branch_true, *branch_false): New insns.

From-SVN: r187298

12 years agoThis patch adds functionality to libgcov to enable user applications to collect...
Teresa Johnson [Tue, 8 May 2012 21:22:28 +0000 (21:22 +0000)]
This patch adds functionality to libgcov to enable user applications to collect...

This patch adds functionality to libgcov to enable user applications to
collect profile data only in regions of interest. This is useful, for
example, to collect profile data from a long-running server only
during the time when it is serving requests.

Specifically, the new routines __gcov_reset will clear all profile counters
to zero and __gcov_dump will write out the profile information collected so
far. A global variable is used to prevent writing out the profile a
second time during exit.

2012-05-08   Teresa Johnson  <tejohnson@google.com>

* libgcc/libgcov.c (gcov_clear, __gcov_reset): New functions.
(__gcov_dump): Ditto.
(gcov_dump_complete): New global variable.
(gcov_exit): Export hidden to enable use in L_gcov_dump.
(__gcov_flush): Outline functionality now in gcov_clear.
* libgcc/Makefile.in (L_gcov_reset, L_gcov_dump): Define.
* gcc/gcov-io.h (__gcov_reset, __gcov_dump): Declare.
* gcc/doc/gcov.texi: Add note on using __gcov_reset and __gcov_dump.

From-SVN: r187297

12 years agocgraph.c (cgraph_call_edge_duplication_hooks): Export.
Jan Hubicka [Tue, 8 May 2012 21:05:38 +0000 (21:05 +0000)]
cgraph.c (cgraph_call_edge_duplication_hooks): Export.

* cgraph.c (cgraph_call_edge_duplication_hooks): Export.
(cgraph_create_node_1): Rename to ...
(cgraph_create_empty_node): ... this one; export.
(cgraph_create_node): Update.
(cgraph_set_call_stmt_including_clones): Move to cgraphclones.c
(cgraph_create_edge_including_clones): Likewise.
(cgraph_find_replacement_node): Likewise.
(cgraph_clone_edge): Likewise.
(cgraph_clone_node): Likewise.
(clone_function_name): Likewise.
(cgraph_create_virtual_clone): Likewise.
(cgraph_remove_node_and_inline_clones): Likewise.
(cgraph_redirect_edge_call_stmt_to_callee): Move here from
cgraphunit.c
* cgraph.h: Reorder declarations so they match file of origin.
(cgraph_create_empty_node): Declare.
* cgraphunit.c (update_call_expr): Move to cgraphclones.c
(cgraph_copy_node_for_versioning): Likewise.
(cgraph_function_versioning): Likewise.
(cgraph_materialize_clone): Likewise.
(cgraph_redirect_edge_call_stmt_to_callee): Likewise.
(cgraph_materialize_all_clones): Likewise.
* cgraphclones.c: New file.
* Makefile.in: Update for cgraphclones.

From-SVN: r187296

12 years agocgraph.c (cgraph_call_edge_duplication_hooks): Export.
Jan Hubicka [Tue, 8 May 2012 21:03:18 +0000 (23:03 +0200)]
cgraph.c (cgraph_call_edge_duplication_hooks): Export.

* cgraph.c (cgraph_call_edge_duplication_hooks): Export.
(cgraph_create_node_1): Rename to ...
(cgraph_create_empty_node): ... this one; export.
(cgraph_create_node): Update.
(cgraph_set_call_stmt_including_clones): Move to cgraphclones.c
(cgraph_create_edge_including_clones): Likewise.
(cgraph_find_replacement_node): Likewise.
(cgraph_clone_edge): Likewise.
(cgraph_clone_node): Likewise.
(clone_function_name): Likewise.
(cgraph_create_virtual_clone): Likewise.
(cgraph_remove_node_and_inline_clones): Likewise.
(cgraph_redirect_edge_call_stmt_to_callee): Move here from
cgraphunit.c
* cgraph.h: Reorder declarations so they match file of origin.
(cgraph_create_empty_node): Declare.
* cgraphunit.c (update_call_expr): Move to cgraphclones.c
(cgraph_copy_node_for_versioning): Likewise.
(cgraph_function_versioning): Likewise.
(cgraph_materialize_clone): Likewise.
(cgraph_redirect_edge_call_stmt_to_callee): Likewise.
(cgraph_materialize_all_clones): Likewise.
* cgraphclones.c: New file.
* Makefile.in: Update for cgraphclones.

From-SVN: r187295

12 years ago* ChangeLog: Fix PR number of my last commit.
Uros Bizjak [Tue, 8 May 2012 16:09:30 +0000 (18:09 +0200)]
* ChangeLog: Fix PR number of my last commit.

From-SVN: r187290

12 years agore PR target/53250 ([SH] ICE: in change_address_1, at emit-rtl.c:2018)
Uros Bizjak [Tue, 8 May 2012 16:01:54 +0000 (18:01 +0200)]
re PR target/53250 ([SH] ICE: in change_address_1, at emit-rtl.c:2018)

PR target/53250
* config/i386/i386.c (ix86_set_reg_reg_cost): New function.
(ix86_rtx_costs): Handle SET.

From-SVN: r187289

12 years agobasic-block.h (struct rtl_bb_info): Remove visited member and move head_ member to ...
Michael Matz [Tue, 8 May 2012 15:54:13 +0000 (15:54 +0000)]
basic-block.h (struct rtl_bb_info): Remove visited member and move head_ member to ...

* basic-block.h (struct rtl_bb_info): Remove visited member and
move head_ member to ...
(struct basic_block_def.basic_block_il_dependent): ... the new
member x, replacing but containing old member rtl.
(enum bb_flags): New BB_VISITED flag.
(BB_HEADER, BB_FOOTER): New macros.

* jump.c (mark_all_labels): Adjust.
* cfgcleanup.c (try_optimize_cfg): Adjust.
* cfglayout.c (record_effective_endpoints): Adjust.
(relink_block_chain): Ditto (and don't fiddle with visited).
(fixup_reorder_chain): Adjust.
(fixup_fallthru_exit_predecessor): Ditto.
(cfg_layout_duplicate_bb): Ditto.
* combine.c (update_cfg_for_uncondjump): Adjust.
* bb-reorder.c (struct bbro_basic_block_data_def): Add visited
member.
(bb_visited_trace): New accessor.
(mark_bb_visited): Move in front.
(rotate_loop): Use bb_visited_trace.
(find_traces_1_round): Ditto.
(emit_barrier_after): Ditto.
(copy_bb): Ditto, and initialize visited on resize.
(reorder_basic_blocks): Initize visited member.
(duplicate_computed_gotos): Clear bb flags at start, use
BB_VISITED flags.

* cfgrtl.c (try_redirect_by_replacing_jump): Adjust.
(rtl_verify_flow_info_1): Ditto.
(cfg_layout_split_block): Ditto.
(cfg_layout_delete_block): Ditto.
(cfg_layout_merge_blocks): Ditto.
(init_rtl_bb_info): Adjust and initialize il.x.head_ member.

From-SVN: r187288

12 years agore PR target/53272 (wrong condition-codes for strict-low-part destination and small...
Hans-Peter Nilsson [Tue, 8 May 2012 15:21:50 +0000 (15:21 +0000)]
re PR target/53272 (wrong condition-codes for strict-low-part destination and small-integer source)

PR target/53272
* gcc.dg/torture/pr53272-1.c, gcc.dg/torture/pr53272-2.c: New test.

From-SVN: r187284

12 years agore PR target/53272 (wrong condition-codes for strict-low-part destination and small...
Hans-Peter Nilsson [Tue, 8 May 2012 15:20:52 +0000 (15:20 +0000)]
re PR target/53272 (wrong condition-codes for strict-low-part destination and small-integer source)

PR target/53272
* config/cris/cris.c (cris_normal_notice_update_cc): For TARGET_V32,
when a constant source operand matches an "I" constraint, the "no
CC0 change" applies to a register-destination only, not a
strict_low_part-destination.

From-SVN: r187283

12 years agofold-const.c (fold_binary_loc): Fold (X * CST1) & CST2 to zero or to (X * CST1) ...
Richard Guenther [Tue, 8 May 2012 12:50:18 +0000 (12:50 +0000)]
fold-const.c (fold_binary_loc): Fold (X * CST1) & CST2 to zero or to (X * CST1) & CST2' when...

2012-05-08  Richard Guenther  <rguenther@suse.de>

* fold-const.c (fold_binary_loc): Fold (X * CST1) & CST2
to zero or to (X * CST1) & CST2' when CST1 has trailing zeros.

* gcc.dg/fold-bitand-4.c: New testcase.

From-SVN: r187280

12 years agoMakefile.in (TEXI_GCC_FILES): Add avr-mmcu.texi.
Georg-Johann Lay [Tue, 8 May 2012 12:28:29 +0000 (12:28 +0000)]
Makefile.in (TEXI_GCC_FILES): Add avr-mmcu.texi.

* Makefile.in (TEXI_GCC_FILES): Add avr-mmcu.texi.
* doc/avr-mmcu.texi: New auto-generated file.
* doc/invoke.texi (AVR Options): Include avr-mmcu.texi in order
to document all valid -mmcu= arguments.
* config/avr/avr.h (arch_info_s): New struct definition.
* config/avr/avr-devices.c (avr_texinfo): New variable.
* config/avr/gen-avr-mmcu-texi.c: New file.
* config/avr/t-avr: New rules and dependencies to build avr-mmcu.texi.

From-SVN: r187279

12 years agopredict.c (find_qualified_ssa_name): New
Dehao Chen [Tue, 8 May 2012 10:01:44 +0000 (10:01 +0000)]
predict.c (find_qualified_ssa_name): New

2012-05-08  Dehao Chen  <dehao@google.com>
gcc/
* predict.c (find_qualified_ssa_name): New
(find_ssa_name_in_expr): New
(find_ssa_name_in_assign_stmt): New
(is_comparison_with_loop_invariant_p): New
(is_bound_expr_similar): New
(predict_iv_comparison): New
(predict_loops): Add heuristic for loop-nested branches that compare an
induction variable to a loop bound variable.
* predict.def (PRED_LOOP_IV_COMPARE): New macro
testsuite/
* gcc.dg/predict-1.c: Check if LOOP_IV_COMPARE static predict
heuristic is working properly.
* gcc.dg/predict-2.c: Likewise.
* gcc/dg/predict-3.c: Likewise.
* gcc/dg/predict-4.c: Likewise.
* gcc/dg/predict-5.c: Likewise.
* gcc/dg/predict-6.c: Likewise.

From-SVN: r187277

12 years agoi386.c (has_dispatch): Use TARGET_BDVER1 and TARGET_BDVER2 defines where appropriate.
Uros Bizjak [Tue, 8 May 2012 06:56:11 +0000 (08:56 +0200)]
i386.c (has_dispatch): Use TARGET_BDVER1 and TARGET_BDVER2 defines where appropriate.

* config/i386/i386.c (has_dispatch): Use TARGET_BDVER1 and
TARGET_BDVER2 defines where appropriate.

From-SVN: r187276