gcc.git
13 years agoReplace sprintf with snprintf
Janne Blomqvist [Sat, 16 Apr 2011 17:43:03 +0000 (20:43 +0300)]
Replace sprintf with snprintf

From-SVN: r172590

13 years agopredicates.md: Reorganize and simplify predicates.
John David Anglin [Sat, 16 Apr 2011 15:43:31 +0000 (15:43 +0000)]
predicates.md: Reorganize and simplify predicates.

* config/pa/predicates.md: Reorganize and simplify predicates.
Eliminate duplicate code checks.
(arith_operand): Rename to arith14_operand
(reg_or_ior_operand): Rename to reg_or_cint_ior_operand.
* config/pa/pa.md: Use renamed operands.
* config/pa/pa-protos.h (symbolic_operand): Delete declaration.
(tls_symbolic_operand, function_label_operand, lhs_lshift_cint_operand,
arith11_operand, adddi3_operand, indexed_memory_operand,
symbolic_memory_operand, int11_operand, reg_or_cint_move_operand,
arith5_operand, uint5_operand, pic_label_operand, plus_xor_ior_operator,
borx_reg_operand, shadd_operand, arith_operand, read_only_operand,
move_dest_operand, move_src_operand, prefetch_cc_operand,
prefetch_nocc_operand, and_operand, ior_operand, arith32_operand,
uint32_operand, reg_before_reload_operand, reg_or_0_operand,
reg_or_0_or_nonsymb_mem_operand, pre_cint_operand, post_cint_operand,
div_operand, int5_operand, movb_comparison_operator,
ireg_or_int5_operand, call_operand_address, ior_operand, fp_reg_operand,
arith_double_operand, ireg_operand, lhs_lshift_operand,
pc_or_label_operand, non_hard_reg_operand, eq_neq_comparison_operator,
integer_store_memory_operand): Likewise.
* config/pa/pa.c (adddi3_operand): Move to predicates.md.
(integer_store_memory_operand, read_only_operand,
function_label_operand, borx_reg_operand,
non_hard_reg_operand): Likewise.
(eq_neq_comparison_operator): Delete unused operator.
(legitimize_pic_address): Use VOIDmode for mode argument in calls to
function_label_operand.
(emit_move_sequence): Likewise.

From-SVN: r172588

13 years agosse.md (sseunpackmode): New mode attribute.
Uros Bizjak [Sat, 16 Apr 2011 12:56:44 +0000 (14:56 +0200)]
sse.md (sseunpackmode): New mode attribute.

* config/i386/sse.md (sseunpackmode): New mode attribute.
(ssepackmode): Ditto.
(vec_pack_trunc_<mode>): Macroize expander from
vec_pack_trunc_{v8hi,v4si,v2di} using VI248_128 mode iterator.
(vec_unpacks_lo_<mode>): Macroize expander from
vec_unpacks_lo_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
(vec_unpacks_hi_<mode>): Macroize expander from
vec_unpacks_hi_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
(vec_unpacku_lo_<mode>): Macroize expander from
vec_unpacku_lo_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
(vec_unpacku_hi_<mode>): Macroize expander from
vec_unpacks_hi_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
* config/i386/i386.c (ix86_expand_sse_unpack): Merge with
ix86_expand_sse4_unpack.
* config/i386/i386-protos.h (ix86_expand_sse4_unpack): Remove.

From-SVN: r172585

13 years agolto.c (lto_balanced_map): Fix typos in head comment.
Eric Botcazou [Sat, 16 Apr 2011 10:43:04 +0000 (10:43 +0000)]
lto.c (lto_balanced_map): Fix typos in head comment.

* lto.c (lto_balanced_map): Fix typos in head comment.
(lto_promote_cross_file_statics): Fix long lines and remove redundant
test.

From-SVN: r172584

13 years agocgraphbuild.c: Include ipa-inline.h.
Jan Hubicka [Sat, 16 Apr 2011 09:13:08 +0000 (11:13 +0200)]
cgraphbuild.c: Include ipa-inline.h.

* cgraphbuild.c: Include ipa-inline.h.
(reset_inline_failed): Use initialize_inline_failed.
* cgraph.c: Include ipa-inline.h.
(cgraph_create_node_1): Do not initialize estimated_growth.
(initialize_inline_failed): More to ipa-inline-analysis.c
(dump_cgraph_node): Do not dump inline flags.
* cgraph.h (cgraph_local_info): Remove inlineable, versionable
and disregard_inline_limits flags.
(cgrpah_global_info): Remove estimated_stack_size, stack_frame_offset,
time, size, estimated_growth.
* ipa-cp.c (ipcp_versionable_function_p, ipcp_generate_summary): Update.
* cgraphunit.c (cgraph_decide_is_function_needed): Use
DECL_DISREGARD_INLINE_LIMITS.
(cgraph_analyze_function): Do not initialize
node->local.disregard_inline_limits.
* lto-cgraph.c (lto_output_node, input_overwrite_node): Do not stream
inlinable, versionable and disregard_inline_limits.
* ipa-inline.c (cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
cgraph_check_inline_limits, cgraph_default_inline_p, cgraph_edge_badness,
update_caller_keys, update_callee_keys, add_new_edges_to_heap): Update.
(cgraph_decide_inlining_of_small_function): Update; set CIF_FUNCTION_NOT_INLINABLE
for uninlinable functions.
(cgraph_decide_inlining, cgraph_edge_early_inlinable_p,
cgraph_decide_inlining_incrementally): Update.
* ipa-inline.h (inline_summary): Add inlinable, versionable, disregard_inline_limits,
estimated_stack_size, stack_frame_offset, time, size and estimated_growth
parameters.
(estimate_edge_growth): Update.
(initialize_inline_failed): Declare.
* ipa-split.c: Include ipa-inline.h
(execute_split_functions): Update.
* ipa.c (cgraph_postorder): Use DECL_DISREGARD_INLINE_LIMITS.
(cgraph_remove_unreachable_nodes): Do not clear inlinable flag.
(record_cdtor_fn): Use DECL_DISREGARD_INLINE_LIMITS.
* ipa-inline-analysis.c (inline_node_removal_hook): Update; set
estimated_growth to INT_MIN.
(inline_node_duplication_hook): Likewise.
(dump_inline_summary): Dump new fields.
(compute_inline_parameters): Update.
(estimate_edge_time, estimate_time_after_inlining,
estimate_size_after_inlining, estimate_growth, inline_read_summary,
inline_write_summary):
(initialize_inline_failed): Move here from cgraph.c.
* tree-sra.c: Include ipa-inline.h.
(ipa_sra_preliminary_function_checks): Update.
* lto/lto.c (lto_balanced_map): Update.
Update.
* Makefile.in: (cgraph.o, cgraphbuild.o): Add dependency on
ipa-inline.h

From-SVN: r172581

13 years agosse.md (V16): New mode iterator.
Uros Bizjak [Sat, 16 Apr 2011 08:34:30 +0000 (10:34 +0200)]
sse.md (V16): New mode iterator.

* config/i386/sse.md (V16): New mode iterator.
(VI1, VI8): Ditto.
(AVXMODEQI, AVXMODEDI): Remove.
(sse2, sse3): New mode attribute.
(mov<mode>): Use V16 mode iterator.
(*mov<mode>_internal): Merge with *avx_mov<mode>_internal.
(push<mode>1): Use V16 mode iterator.
(movmisalign<mode>): Ditto.
(<sse>_movu<ssemodesuffix><avxmodesuffix>): Merge from
<sse>_movu<ssemodesuffix> and avx_movu<ssemodesuffix><avxmodesuffix>.
(*<sse>_movu<ssemodesuffix><avxmodesuffix>): Merge from
*<sse>_movu<ssemodesuffix> and *avx_movu<ssemodesuffix><avxmodesuffix>.
(<sse2>_movdqu<avxmodesuffix>): Merge from sse2_movdqu and
avx_movdqu<avxmodesuffix>.
(*<sse2>_movdqu<avxmodesuffix>): Merge from *sse2_movdqu and
*avx_movdqu<avxmodesuffix>.
(<sse3>_lddqu<avxmodesuffix>) Merge from sse3_lddqu and
avx_lddqu<avxmodesuffix>.
(<sse>_movnt<mode>): Merge with avx_movnt<AVXMODEF2P:mode>.
(<sse2>_movnt<mode>): Merge from sse2_movntv2di and
avx_movnt<AVXMODEDI:mode>.
* config/i386/i386.c (ix86_expand_vector_move_misalign): Update for
renamed sse_movups, sse2_movupd and sse2_movdqu patterns.

testsuite/ChangeLog:

* gcc.target/i386/avx256-unaligned-load-1.c: Update scan patterns.
* gcc.target/i386/avx256-unaligned-load-2.c: Ditto.
* gcc.target/i386/avx256-unaligned-load-3.c: Ditto.
* gcc.target/i386/avx256-unaligned-store-1.c: Ditto.
* gcc.target/i386/avx256-unaligned-store-2.c: Ditto.
* gcc.target/i386/avx256-unaligned-store-3.c: Ditto.

From-SVN: r172580

13 years ago* MAINTAINERS (Write After Approval): Add myself.
Jim Meyering [Sat, 16 Apr 2011 07:26:36 +0000 (07:26 +0000)]
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r172536

13 years agore PR libstdc++/48631 ([C++0x] default_delete<T[]> accepts pointer conversions in...
Daniel Krugler [Sat, 16 Apr 2011 02:02:29 +0000 (02:02 +0000)]
re PR libstdc++/48631 ([C++0x] default_delete<T[]> accepts pointer conversions in function call operator)

2011-04-15  Daniel Krugler  <daniel.kruegler@googlemail.com>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/48631
* include/bits/unique_ptr.h (default_delete<_Tp[]>): Add deleted
function call operator.
* testsuite/20_util/default_delete/48631_neg.cc: New.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error
line numbers.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r172534

13 years agore PR libstdc++/48635 ([C++0x] unique_ptr<T, D&> moves the deleter instead of copying it)
Daniel Krugler [Sat, 16 Apr 2011 00:55:43 +0000 (00:55 +0000)]
re PR libstdc++/48635 ([C++0x] unique_ptr<T, D&> moves the deleter instead of copying it)

2011-04-15  Daniel Krugler  <daniel.kruegler@googlemail.com>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/48635
* include/bits/unique_ptr.h (unique_ptr<>::operator=(unique_ptr&&),
unique_ptr<>::operator=(unique_ptr<>&&),
unique_ptr<_Tp[],>::operator=(unique_ptr&&),
unique_ptr<_Tp[],>::operator=(unique_ptr<>&&)): Forward the deleter
instead of moving it.
* testsuite/20_util/unique_ptr/assign/48635.cc: New.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r172532

13 years agoImplement N3271
Jason Merrill [Sat, 16 Apr 2011 00:28:17 +0000 (20:28 -0400)]
Implement N3271

Implement N3271
* parser.c (cp_convert_range_for): Split into
cp_parser_perform_range_for_lookup.
(cp_parser_perform_range_for_lookup): New.
(cp_parser_range_for_member_function): New.
(cp_parser_for_init_statement): Correct error message.
* semantics.c (finish_call_expr): Accept COMPONENT_REF.

From-SVN: r172531

13 years agoDaily bump.
GCC Administrator [Sat, 16 Apr 2011 00:18:34 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r172530

13 years agore PR target/48629 (ICE on gcc.dg/pr42389.c on ia64-*-* with -fsched-pressure)
Bernd Schmidt [Fri, 15 Apr 2011 23:32:55 +0000 (23:32 +0000)]
re PR target/48629 (ICE on gcc.dg/pr42389.c on ia64-*-* with -fsched-pressure)

PR target/48629
* haifa-sched.c (prune_ready_list, schedule_block): Use
sched_pressure_p rather than flag_sched_pressure.

From-SVN: r172525

13 years agotrans-array.c (toplevel): Include gimple.h.
Michael Matz [Fri, 15 Apr 2011 21:48:19 +0000 (21:48 +0000)]
trans-array.c (toplevel): Include gimple.h.

* trans-array.c (toplevel): Include gimple.h.
(gfc_trans_allocate_array_storage): Check flag_stack_arrays,
properly expand variable length arrays.
(gfc_trans_auto_array_allocation): If flag_stack_arrays create
variable length decls and associate them with their scope.
* gfortran.h (gfc_option_t): Add flag_stack_arrays member.
* options.c (gfc_init_options): Handle -fstack_arrays option.
* lang.opt (fstack-arrays): Add option.
* invoke.texi (Code Gen Options): Document it.
* Make-lang.in (trans-array.o): Depend on GIMPLE_H.

From-SVN: r172524

13 years agoIn gcc/objc/: 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
Nicola Pero [Fri, 15 Apr 2011 21:46:00 +0000 (21:46 +0000)]
In gcc/objc/: 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>

In gcc/objc/:
2011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>

* objc-act.c (ivar_of_class): New.
(objc_is_public): Use ivar_of_class.

From-SVN: r172523

13 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Fri, 15 Apr 2011 21:41:25 +0000 (23:41 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

2011-04-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * trans-intrinsic.c (conv_intrinsic_cobound): Remove unused
        code which is also causing an ICE.

2011-04-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.dg/coarray_15.f90: Change to dg-do run.

From-SVN: r172522

13 years agoAdd compound_list to backend interface.
Ian Lance Taylor [Fri, 15 Apr 2011 21:18:58 +0000 (21:18 +0000)]
Add compound_list to backend interface.

* go-gcc.cc (Gcc_backend::compound_statement): New function.
(Gcc_backend::assignment_statement): Use error_statement.
(Gcc_backend::return_statement): Likewise.
(Gcc_backend::if_statement): Likewise.
(Gcc_backend::switch_statement): Likewise.
(Gcc_backend::statement_list): Likewise.

From-SVN: r172521

13 years agors6000.c (call_ABI_of_interest): Call cgraph_get_node instead of cgraph_get_create_node.
Pat Haugen [Fri, 15 Apr 2011 20:54:18 +0000 (20:54 +0000)]
rs6000.c (call_ABI_of_interest): Call cgraph_get_node instead of cgraph_get_create_node.

        * config/rs6000/rs6000.c (call_ABI_of_interest): Call
        cgraph_get_node instead of cgraph_get_create_node.

From-SVN: r172520

13 years agoUse backend interface for send statement.
Ian Lance Taylor [Fri, 15 Apr 2011 20:53:04 +0000 (20:53 +0000)]
Use backend interface for send statement.

From-SVN: r172519

13 years agocfgexpand.c (expand_debug_expr): Use simplify_gen_{unary,binary,ternary} instead...
Jakub Jelinek [Fri, 15 Apr 2011 20:30:28 +0000 (22:30 +0200)]
cfgexpand.c (expand_debug_expr): Use simplify_gen_{unary,binary,ternary} instead of gen_rtx_*.

* cfgexpand.c (expand_debug_expr): Use
simplify_gen_{unary,binary,ternary} instead of gen_rtx_*.

From-SVN: r172518

13 years agotree.h (ALLOCA_FOR_VAR_P): Rename to CALL_ALLOCA_FOR_VAR_P.
Michael Matz [Fri, 15 Apr 2011 19:48:25 +0000 (19:48 +0000)]
tree.h (ALLOCA_FOR_VAR_P): Rename to CALL_ALLOCA_FOR_VAR_P.

* tree.h (ALLOCA_FOR_VAR_P): Rename to CALL_ALLOCA_FOR_VAR_P.
* builtins.c (expand_builtin): Use CALL_ALLOCA_FOR_VAR_P.
* function.c (gimplify_parameters): Ditto.
* gimplify.c (gimplify_vla_decl): Ditto.

* gimple.h (enum gf_mask): Add GF_CALL_ALLOCA_FOR_VAR.
(gimple_call_set_alloca_for_var): New inline function.
(gimple_call_alloca_for_var_p): Ditto.
* gimple.c (gimple_build_call_from_tree): Remember CALL_ALLOCA_FOR_VAR_P
state.
* cfgexpand.c (expand_call_stmt): Restore CALL_ALLOCA_FOR_VAR_P state.

* tree-inline.c (inline_forbidden_p_stmt): Don't reject alloca
calls if they were for VLA objects.

From-SVN: r172516

13 years agoipa-prop.c (ipa_analyze_virtual_call_uses): Remove handling of ADR_EXPRs.
Martin Jambor [Fri, 15 Apr 2011 18:38:05 +0000 (20:38 +0200)]
ipa-prop.c (ipa_analyze_virtual_call_uses): Remove handling of ADR_EXPRs.

2011-04-15  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.c (ipa_analyze_virtual_call_uses): Remove handling
of ADR_EXPRs.

From-SVN: r172515

13 years agore PR middle-end/48601 (ICE in lower_emutls_function_body, at tree-emutls.c:623)
Martin Jambor [Fri, 15 Apr 2011 18:20:46 +0000 (20:20 +0200)]
re PR middle-end/48601 (ICE in lower_emutls_function_body, at tree-emutls.c:623)

2011-04-15  Martin Jambor  <mjambor@suse.cz>

PR middle-end/48601
* tree-emutls.c (lower_emutls_function_body): Call
cgraph_get_create_node instead of cgraph_get_node.  Do not assert the
result is non-NULL.

From-SVN: r172512

13 years agoIn gcc/c-family/: 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
Nicola Pero [Fri, 15 Apr 2011 18:15:35 +0000 (18:15 +0000)]
In gcc/c-family/: 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>

In gcc/c-family/:
2011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>

* c-objc.h (objc_get_interface_ivars): Removed.
(objc_detect_field_duplicates): New.
* stub-objc.c: Likewise.

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

* c-decl.c (detect_field_duplicates): Call
objc_detect_field_duplicates instead of objc_get_interface_ivars.

In gcc/objc/:
2011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>

* objc-act.c (objc_get_interface_ivars): Removed.
(objc_detect_field_duplicates): New.
(hash_instance_variable): New.
(eq_instance_variable): New.

In gcc/objcp/:
2011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>

* objcp-decl.c (objcp_finish_struct): Use
objc_detect_field_duplicates instead of having a local
implementation.

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

* objc.dg/naming-4.m: Updated.
* objc.dg/naming-5.m: Updated.
* objc.dg/naming-6.m: New.
* objc.dg/naming-7.m: New.
* obj-c++.dg/naming-1.mm: Updated.
* obj-c++.dg/naming-2.mm: Updated.
* obj-c++.dg/naming-3.mm: New.
* obj-c++.dg/naming-4.mm: New.

From-SVN: r172511

13 years agojni.exp (gcj_jni_get_cxxflags_invocation): Add $libiconv to cxxflags for alpha*-dec...
Rainer Orth [Fri, 15 Apr 2011 17:12:35 +0000 (17:12 +0000)]
jni.exp (gcj_jni_get_cxxflags_invocation): Add $libiconv to cxxflags for alpha*-dec-osf*.

* testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation):
Add $libiconv to cxxflags for alpha*-dec-osf*.

From-SVN: r172507

13 years ago* scripts/extract_symvers.pl: Handle NOTY.
Rainer Orth [Fri, 15 Apr 2011 17:03:49 +0000 (17:03 +0000)]
* scripts/extract_symvers.pl: Handle NOTY.

From-SVN: r172506

13 years agore PR libfortran/48589 (Invalid G0/G0.d editing for NaN/infinity)
Jerry DeLisle [Fri, 15 Apr 2011 16:33:07 +0000 (16:33 +0000)]
re PR libfortran/48589 (Invalid G0/G0.d editing for NaN/infinity)

2011-04-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/48589
* gfortran.dg/fmt_g0_5.f08: New test.

From-SVN: r172503

13 years agore PR libfortran/48589 (Invalid G0/G0.d editing for NaN/infinity)
Jerry DeLisle [Fri, 15 Apr 2011 16:29:44 +0000 (16:29 +0000)]
re PR libfortran/48589 (Invalid G0/G0.d editing for NaN/infinity)

2011-04-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/48589
* io/write_float.def (write_infnan): Set width properly for G0.

From-SVN: r172502

13 years agoistream: Fix comments in the light of DR60 + N3168.
Paolo Carlini [Fri, 15 Apr 2011 16:18:22 +0000 (16:18 +0000)]
istream: Fix comments in the light of DR60 + N3168.

2011-04-15  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/istream: Fix comments in the light of DR60 + N3168.

From-SVN: r172500

13 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Fri, 15 Apr 2011 16:13:28 +0000 (18:13 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

2011-04-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * Makefile.am: Build and install caf/single.c as
        libcaf_single.a.
        * Makefile.in: Regenerate.

From-SVN: r172499

13 years agogimple.h (gimple_asm_clobbers_memory_p): Declare.
Nathan Froyd [Fri, 15 Apr 2011 14:27:55 +0000 (14:27 +0000)]
gimple.h (gimple_asm_clobbers_memory_p): Declare.

* gimple.h (gimple_asm_clobbers_memory_p): Declare.
* gimple.c (gimple_asm_clobbers_memory_p): Define.
* ipa-pure-const.c (check_stmt): Call it.
* tree-ssa-operands.c (get_asm_expr_operands): Likewise.

From-SVN: r172496

13 years agore PR fortran/48286 (gfortran.dg/cray_pointers_8.f90 FAILs)
Richard Guenther [Fri, 15 Apr 2011 14:06:44 +0000 (14:06 +0000)]
re PR fortran/48286 (gfortran.dg/cray_pointers_8.f90 FAILs)

2011-04-15  Richard Guenther  <rguenther@suse.de>

PR testsuite/48286
* gfortran.dg/cray_pointers_8.f90: Use -ffloat-store.

From-SVN: r172495

13 years agore PR tree-optimization/48290 (FAIL: gcc.dg/vect/pr38529.c, ICE in vect_get_vec_def_f...
Richard Guenther [Fri, 15 Apr 2011 14:02:41 +0000 (14:02 +0000)]
re PR tree-optimization/48290 (FAIL: gcc.dg/vect/pr38529.c, ICE in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1072)

2011-04-15  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/48290
* tree-ssa-copy.c (copy_prop_visit_phi_node): Propagate constants.
Properly decide inhibiting propagation based on the valueized
operand.  Do loop-closed SSA form preserving here ...
(init_copy_prop): ... not here.

From-SVN: r172494

13 years agoSwitch SSE and AVX mnemonics.
H.J. Lu [Fri, 15 Apr 2011 12:48:36 +0000 (12:48 +0000)]
Switch SSE and AVX mnemonics.

2011-04-15  H.J. Lu  <hongjiu.lu@intel.com>

PR target/48612
* config/i386/sse.md (*ieee_smin<mode>3): Switch mnemonics.
(*ieee_smax<mode>3): Likewise.

From-SVN: r172492

13 years agos390.md (popcountdi2, [...]): Replace match_operand with match_dup for the third...
Andreas Krebbel [Fri, 15 Apr 2011 12:42:24 +0000 (12:42 +0000)]
s390.md (popcountdi2, [...]): Replace match_operand with match_dup for the third operand in these expanders.

2011-04-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/s390.md (popcountdi2, popcountsi2, popcounthi2):
Replace match_operand with match_dup for the third operand in
these expanders.

From-SVN: r172490

13 years agopr41885.c (dg-options): Change -finline-limit=0 to -fno-inline
Georg-Johann Lay [Fri, 15 Apr 2011 11:34:25 +0000 (11:34 +0000)]
pr41885.c (dg-options): Change -finline-limit=0 to -fno-inline

* gcc.target/avr/torture/pr41885.c (dg-options): Change
-finline-limit=0 to -fno-inline

From-SVN: r172487

13 years agocombine.c (subst, [...]): Add new argument, use it to track processing of conditionals.
Maxim Kuvyrkov [Fri, 15 Apr 2011 11:13:07 +0000 (11:13 +0000)]
combine.c (subst, [...]): Add new argument, use it to track processing of conditionals.

* combine.c (subst, combine_simlify_rtx): Add new argument, use it
to track processing of conditionals.  Update all callers.
(try_combine, simplify_if_then_else): Update.

From-SVN: r172486

13 years agore PR testsuite/48614 (gcc.target/i386/pr46084.c should require avx_runtime)
Jakub Jelinek [Fri, 15 Apr 2011 10:29:09 +0000 (12:29 +0200)]
re PR testsuite/48614 (gcc.target/i386/pr46084.c should require avx_runtime)

PR target/48614
* gcc.target/i386/pr46084.c: Require avx_runtime instead of
just avx.

From-SVN: r172484

13 years agoUpdate my email address
Dodji Seketeli [Fri, 15 Apr 2011 10:18:14 +0000 (10:18 +0000)]
Update my email address

* MAINTAINERS: Update my email address.

From-SVN: r172482

13 years agom68k.c (m68k_sched_variable_issue): Handle -fsched-pressure.
Maxim Kuvyrkov [Fri, 15 Apr 2011 10:03:46 +0000 (10:03 +0000)]
m68k.c (m68k_sched_variable_issue): Handle -fsched-pressure.

* config/m68k/m68k.c (m68k_sched_variable_issue): Handle
-fsched-pressure.

From-SVN: r172481

13 years agoavr.md ("rotl<mode>3",mode=HIDI): Use match_dup instead of match_operand for operand 3.
Georg-Johann Lay [Fri, 15 Apr 2011 09:44:00 +0000 (09:44 +0000)]
avr.md ("rotl<mode>3",mode=HIDI): Use match_dup instead of match_operand for operand 3.

* config/avr/avr.md ("rotl<mode>3",mode=HIDI): Use match_dup
instead of match_operand for operand 3.

From-SVN: r172480

13 years agorecog.h (insn_operand_data): Add an "allows_mem" field.
Richard Sandiford [Fri, 15 Apr 2011 09:35:03 +0000 (09:35 +0000)]
recog.h (insn_operand_data): Add an "allows_mem" field.

gcc/
* recog.h (insn_operand_data): Add an "allows_mem" field.
* genoutput.c (output_operand_data): Initialize it.
* optabs.c (maybe_legitimize_operand_same_code): New function.
(maybe_legitimize_operand): Use it when matching the original
op->value.

From-SVN: r172478

13 years agore PR libobjc/32037 (--enable-objc-gc on OS X won't build)
Rainer Orth [Fri, 15 Apr 2011 09:26:05 +0000 (09:26 +0000)]
re PR libobjc/32037 (--enable-objc-gc on OS X won't build)

PR libobjc/32037
* Makefile.in (OBJC_GCFLAGS): Move ...
* configure.ac (enable_objc_gc): ... here.
Add $(libsuffix) to OBJC_BOEHM_GC.
* configure: Regenerate.

From-SVN: r172477

13 years agogimplify.c: Fix issues in comments throughout.
Eric Botcazou [Fri, 15 Apr 2011 08:48:15 +0000 (08:48 +0000)]
gimplify.c: Fix issues in comments throughout.

* gimplify.c: Fix issues in comments throughout.
(voidify_wrapper_expr): Fix long line.
(build_stack_save_restore): Likewise.
(gimplify_loop_expr): Likewise.
(gimplify_compound_lval): Likewise.
(gimplify_init_ctor_eval): Likewise.
(gimplify_modify_expr_rhs): Likewise.
(omp_notice_threadprivate_variable): Likewise.

From-SVN: r172476

13 years agocfgexpand.c (expand_call_stmt): Convert the function type to the original one if...
Eric Botcazou [Fri, 15 Apr 2011 07:59:26 +0000 (07:59 +0000)]
cfgexpand.c (expand_call_stmt): Convert the function type to the original one if this is not a builtin function.

* cfgexpand.c (expand_call_stmt): Convert the function type to the
original one if this is not a builtin function.

From-SVN: r172471

13 years agoPR 47571 Fix bootstrap regression on alpha-dec-osf
Janne Blomqvist [Fri, 15 Apr 2011 04:21:19 +0000 (07:21 +0300)]
PR 47571 Fix bootstrap regression on alpha-dec-osf

From-SVN: r172469

13 years agoUse the backend interface for select statements.
Ian Lance Taylor [Fri, 15 Apr 2011 04:10:08 +0000 (04:10 +0000)]
Use the backend interface for select statements.

From-SVN: r172468

13 years agoDaily bump.
GCC Administrator [Fri, 15 Apr 2011 00:19:15 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r172466

13 years agocfgexpand.c (expand_call_stmt): Rematerialize the original function type if this...
Eric Botcazou [Thu, 14 Apr 2011 21:56:34 +0000 (21:56 +0000)]
cfgexpand.c (expand_call_stmt): Rematerialize the original function type if this is not a builtin function.

* cfgexpand.c (expand_call_stmt): Rematerialize the original function
type if this is not a builtin function.

From-SVN: r172459

13 years agore PR target/48605 (gcc.target/i386/sse4_1-insertps-2.c FAILs with -mtune=geode ...
Jakub Jelinek [Thu, 14 Apr 2011 21:30:37 +0000 (23:30 +0200)]
re PR target/48605 (gcc.target/i386/sse4_1-insertps-2.c FAILs with -mtune=geode - instruction insertps with memory operands behaves differently)

PR target/48605
* config/i386/sse.md (sse4_1_insertps): If operands[2] is a MEM,
offset it as needed based on top 2 bits in operands[3], change
MEM mode to SFmode and mask those 2 bits away from operands[3].

* gcc.target/i386/sse4_1-insertps-3.c: New test.
* gcc.target/i386/sse4_1-insertps-4.c: New test.
* gcc.target/i386/avx-insertps-3.c: New test.
* gcc.target/i386/avx-insertps-4.c: New test.

From-SVN: r172458

13 years agoIn gcc/c-family/: 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
Nicola Pero [Thu, 14 Apr 2011 19:34:06 +0000 (19:34 +0000)]
In gcc/c-family/: 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>

In gcc/c-family/:
2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>

* stub-objc.c (objc_declare_protocols): Renamed to
objc_declare_protocol.
* c-objc.h: Likewise.

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

* c-parser.c (c_parser_objc_protocol_definition): Updated for
change from objc_declare_protocols() to objc_declare_protocol().

In gcc/objc/:
2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>

* objc-act.c (objc_declare_protocols): Renamed to
objc_declare_protocol.  Changed first argument to be an identifier
instead of a tree chain of identifiers, so that callers don't have
to create a temporary tree chain.

In gcc/cp/:
2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>

* parser.c (cp_parser_objc_protocol_declaration): Updated for
change from objc_declare_protocols() to objc_declare_protocol().

From-SVN: r172444

13 years agopr41885.c (dg-options): Add -finline-limit=0
Georg-Johann Lay [Thu, 14 Apr 2011 18:52:16 +0000 (18:52 +0000)]
pr41885.c (dg-options): Add -finline-limit=0

* gcc.target/avr/torture/pr41885.c (dg-options): Add
-finline-limit=0

From-SVN: r172443

13 years agore PR target/46779 ([avr] wrong code generation for values held in R28/R29)
Georg-Johann Lay [Thu, 14 Apr 2011 18:50:02 +0000 (18:50 +0000)]
re PR target/46779 ([avr] wrong code generation for values held in R28/R29)

PR target/46779
PR target/45291
PR target/41894
* gcc.target/avr/pr46779-1.c: New test case
* gcc.target/avr/pr46779-2.c: New test case

From-SVN: r172442

13 years agore PR objc++/48479 (Many ICEs in the obj-c++.dg test suite on *-apple-darwin*)
Nathan Froyd [Thu, 14 Apr 2011 18:46:34 +0000 (18:46 +0000)]
re PR objc++/48479 (Many ICEs in the obj-c++.dg test suite on *-apple-darwin*)

PR objc++/48479
* typeck.c (cxx_mark_addressable) [CONST_DECL]: Mark addressable
and return immediately.

From-SVN: r172441

13 years agocp-tree.def (SWITCH_STMT): Add an extra operand.
Nathan Froyd [Thu, 14 Apr 2011 18:42:44 +0000 (18:42 +0000)]
cp-tree.def (SWITCH_STMT): Add an extra operand.

* cp-tree.def (SWITCH_STMT): Add an extra operand.
* cp-objcp-common.c (cp_common_init_ts): Mark it as TS_TYPED.
* cp-tree.h (SWITCH_STMT_SCOPE): Define.
* semantics.c (begin_switch__stmt): Pass scope to build_stmt.
(finish_switch_stmt): Use SWITCH_STMT_SCOPE instead of TREE_CHAIN.

From-SVN: r172440

13 years agosse.md (sse4_1): New mode attribute.
Uros Bizjak [Thu, 14 Apr 2011 17:55:30 +0000 (19:55 +0200)]
sse.md (sse4_1): New mode attribute.

* config/i386/sse.md (sse4_1): New mode attribute.
(<sse4_1>_blend<ssemodesuffix><avxmodesuffix>): Macroize from
avx_blend<ssemodesuffix><avxmodesuffix> and
sse4_1_blend<ssemodesuffix> using VF mode iterator.
(<sse4_1>_blendv<ssemodesuffix><avxmodesuffix>): Macroize from
avx_blendv<ssemodesuffix><avxmodesuffix> and
sse4_1_blendv<ssemodesuffix> using VF mode iterator.
(<sse4_1>_dp<ssemodesuffix><avxmodesuffix>): Macroize from
avx_dp<ssemodesuffix><avxmodesuffix> and
sse4_1_dp<ssemodesuffix> using VF mode iterator.
(sse4_1_mpsadbw): Merge with *avx_mpsadbw.
(sse4_1_packusdw): Merge with *avx_packusdw.
(sse4_1_pblendvb): Merge with *avx_pblendvb.
(sse4_1_pblendw): Merge with *avx_pblendw.
(avx_vtest<ssemodesuffix><avxmodesuffix>): Use VF mode iterator.
(<sse4_1>_round<ssemodesuffix><avxmodesuffix>): Macroize from
avx_round<ssemodesuffix>256 and sse4_1_round<ssemodesuffix> using
VF mode iterator.
(sse4_1_round<ssescalarmodesuffix>): Merge with
*avx_round<ssescalarmodesuffix>.
(aesenc): Merge with *avx_aesenc.
(aesenclast): Merge with *avx_aesenclast.
(aesdec): Merge with *avx_aesdec.
(aesdeclast): Merge with *avx_aesdeclast.
(pclmulqdq): Merge with *pclmulqdq.
* config/i386/predicates.md (reg_not_xmm0_operand_maybe_avx):
New predicate.
(nonimm_not_xmm0_operand_maybe_avx): Ditto.

From-SVN: r172439

13 years agoUpdate alignment on local variables.
H.J. Lu [Thu, 14 Apr 2011 17:10:24 +0000 (17:10 +0000)]
Update alignment on local variables.

2011-04-14  H.J. Lu  <hongjiu.lu@intel.com>

PR middle-end/48608
* cfgexpand.c (get_decl_align_unit): Renamed to ...
(align_local_variable): This.  Update DECL_ALIGN.
(add_stack_var): Updated.
(expand_one_stack_var): Likewise.

From-SVN: r172438

13 years agocp-tree.def (IF_STMT): Add an extra operand.
Nathan Froyd [Thu, 14 Apr 2011 17:05:58 +0000 (17:05 +0000)]
cp-tree.def (IF_STMT): Add an extra operand.

* cp-tree.def (IF_STMT): Add an extra operand.
* cp-objcp-common.c (cp_common_init_ts): Mark it as TS_TYPED.
* cp-tree.h (IF_SCOPE): Define.
* semantics.c (begin_if_stmt): Pass scope to build_stmt.
(finish_if_stmt): Use IF_SCOPE instead of TREE_CHAIN.

From-SVN: r172437

13 years agocp-tree.def (FOR_STMT, [...]): Add an extra operand.
Nathan Froyd [Thu, 14 Apr 2011 15:13:26 +0000 (15:13 +0000)]
cp-tree.def (FOR_STMT, [...]): Add an extra operand.

* cp-tree.def (FOR_STMT, RANGE_FOR_STMT): Add an extra operand.
* cp-objcp-common.c (cp_common_init_ts): Mark them as TS_TYPED.
* cp-tree.h (FOR_SCOPE, RANGE_FOR_SCOPE): Define.
* semantics.c (begin_for_stmt): Pass an extra arg to build_stmt.
Use FOR_SCOPE instead of TREE_CHAIN.
(begin_range_for_stmt): Likewise, with RANGE_FOR_SCOPE.
(finish_for_stmt): Likewise.

From-SVN: r172436

13 years agoparser.c (cp_parser_postfix_expression): Fix flags passed to build_new_method_call.
Jason Merrill [Thu, 14 Apr 2011 15:00:24 +0000 (11:00 -0400)]
parser.c (cp_parser_postfix_expression): Fix flags passed to build_new_method_call.

* parser.c (cp_parser_postfix_expression): Fix flags passed to
build_new_method_call.
* semantics.c (finish_call_expr): Likewise.

From-SVN: r172435

13 years agore PR c++/48531 ([C++0x][SFINAE] Hard errors with arrays of unknown bound)
Jason Merrill [Thu, 14 Apr 2011 15:00:15 +0000 (11:00 -0400)]
re PR c++/48531 ([C++0x][SFINAE] Hard errors with arrays of unknown bound)

PR c++/48531
* init.c (build_value_init_noctor): Check complain consistently.

From-SVN: r172434

13 years agore PR c++/48557 ([C++0x][SFINAE] Hard errors with void as operand of binary built...
Jason Merrill [Thu, 14 Apr 2011 15:00:07 +0000 (11:00 -0400)]
re PR c++/48557 ([C++0x][SFINAE] Hard errors with void as operand of binary built-in operators)

PR c++/48557
* typeck.c (cp_build_binary_op): Don't decay void operands.

From-SVN: r172433

13 years agore PR c++/48446 (internal compiler error: in gimplify_var_or_parm_decl, at gimplify...
Jason Merrill [Thu, 14 Apr 2011 14:59:58 +0000 (10:59 -0400)]
re PR c++/48446 (internal compiler error: in gimplify_var_or_parm_decl, at gimplify.c:1946)

PR c++/48446
* decl.c (compute_array_index_type): Use get_temp_regvar instead
of variable_size.
* init.c (get_temp_regvar): No longer static.
* cp-tree.h: Declare it.

From-SVN: r172432

13 years agotree-ssa-dse.c (struct dse_global_data, [...]): Remove.
Richard Guenther [Thu, 14 Apr 2011 13:38:33 +0000 (13:38 +0000)]
tree-ssa-dse.c (struct dse_global_data, [...]): Remove.

2011-04-14  Richard Guenther  <rguenther@suse.de>

* tree-ssa-dse.c (struct dse_global_data, struct dse_block_local_data):
Remove.
(dse_initialize_block_local_data, dse_leave_block,
record_voperand_set, get_stmt_uid): Likewise.
(dse_possible_dead_store_p): Allow any kind of killing stmt.
(dse_optimize_stmt): Remove voperand set handling code.
Simplify and improve to handle any kind of killing stmt.
(dse_record_phi): Remove.
(dse_enter_block): Simplify.
(tree_ssa_dse): Likewise.
* tree-ssa-alias.c (stmt_kills_ref_p_1): Handle some builtins.

* gcc.dg/tree-ssa/ssa-dse-14.c: New testcase.

From-SVN: r172431

13 years agocgraph.c (dump_cgraph_node): Do not dump inline summaries.
Jan Hubicka [Thu, 14 Apr 2011 13:26:44 +0000 (15:26 +0200)]
cgraph.c (dump_cgraph_node): Do not dump inline summaries.

* cgraph.c (dump_cgraph_node): Do not dump inline summaries.
* cgraph.h (struct inline_summary): Move to ipa-inline.h
(cgraph_local_info): Remove inline_summary.
* ipa-cp.c: Include ipa-inline.h.
(ipcp_cloning_candidate_p, ipcp_estimate_growth,
ipcp_estimate_cloning_cost, ipcp_insert_stage): Use inline_summary
accesor.
* lto-cgraph.c (lto_output_node): Do not stream inline summary.
(input_overwrite_node): Do not set inline summary.
(input_node): Do not stream inline summary.
* ipa-inline.c (cgraph_decide_inlining): Dump inline summaries.
(cgraph_decide_inlining_incrementally): Do not try to estimate overall
growth; we do not have inline parameters computed for that anyway.
(cgraph_early_inlining): After inlining compute call_stmt_sizes.
* ipa-inline.h (struct inline_summary): Move here from ipa-inline.h
(inline_summary_t): New type and VECtor.
(debug_inline_summary, dump_inline_summaries): Declare.
(inline_summary): Use VOCtor.
(estimate_edge_growth): Kill hack computing call stmt size directly.
* lto-section-in.c (lto_section_name): Add inline section.
* ipa-inline-analysis.c: Include lto-streamer.h
(node_removal_hook_holder, node_duplication_hook_holder): New holders
(inline_node_removal_hook, inline_node_duplication_hook): New functions.
(inline_summary_vec): Define.
(inline_summary_alloc, dump_inline_summary, debug_inline_summary,
dump_inline_summaries): New functions.
(estimate_function_body_sizes): Properly compute size/time of outgoing calls.
(compute_inline_parameters): Alloc inline_summary; do not compute size/time
of incomming calls.
(estimate_edge_time): Avoid missing time summary hack.
(inline_read_summary): Read inline summary info.
(inline_write_summary): Write inline summary info.
(inline_free_summary): Free all hooks and inline summary vector.
* lto-streamer.h: Add LTO_section_inline_summary section.
* Makefile.in (ipa-cp.o, ipa-inline-analysis.o): Update dependencies.
* ipa.c (cgraph_remove_unreachable_nodes): Fix dump file formating.

* lto.c: Include ipa-inline.h
(add_cgraph_node_to_partition, undo_partition): Use inline_summary accessor.
(ipa_node_duplication_hook): Fix declaration.
* Make-lang.in (lto.o): Update dependencies.

From-SVN: r172430

13 years agotree-vectorizer.h (vect_strided_store_supported): Add a HOST_WIDE_INT argument.
Richard Sandiford [Thu, 14 Apr 2011 12:47:16 +0000 (12:47 +0000)]
tree-vectorizer.h (vect_strided_store_supported): Add a HOST_WIDE_INT argument.

gcc/
* tree-vectorizer.h (vect_strided_store_supported): Add a
HOST_WIDE_INT argument.
(vect_strided_load_supported): Likewise.
(vect_permute_store_chain): Return void.
(vect_transform_strided_load): Likewise.
(vect_permute_load_chain): Delete.
* tree-vect-data-refs.c (vect_strided_store_supported): Take a
count argument.  Check that the count is a power of two.
(vect_strided_load_supported): Likewise.
(vect_permute_store_chain): Return void.  Update after above changes.
Assert that the access is supported.
(vect_permute_load_chain): Likewise.
(vect_transform_strided_load): Return void.
* tree-vect-stmts.c (vectorizable_store): Update calls after
above interface changes.
(vectorizable_load): Likewise.
(vect_analyze_stmt): Don't check for strided powers of two here.

From-SVN: r172428

13 years agore PR middle-end/48590 (Alias analysis confused by builtin-stack-save/restore)
Richard Guenther [Thu, 14 Apr 2011 12:19:28 +0000 (12:19 +0000)]
re PR middle-end/48590 (Alias analysis confused by builtin-stack-save/restore)

2011-04-14  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/48590
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.
(call_may_clobber_ref_p_1): Handle BUILT_IN_ALLOCA and
BUILT_IN_STACK_SAVE.
* tree-ssa-dce.c (propagate_necessity): Handle
BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.

From-SVN: r172427

13 years agoIn gcc/: 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
Nicola Pero [Thu, 14 Apr 2011 12:12:55 +0000 (12:12 +0000)]
In gcc/: 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>

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

* c-parser.c (c_parser_objc_class_declaration): Updated call to
objc_declare_class.

In gcc/c-family/:
2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>

* stub-objc.c (objc_declare_class): Updated argument name.

In gcc/cp/:
2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>

* parser.c (cp_parser_objc_class_declaration): Updated for change
in objc_declare_class().

In gcc/objc/:
2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>

* objc-act.c (objc_declare_class): Changed to take a single
identifier as argument instead of a tree list.  This means callers
don't have to build temporary tree lists to call this function.
(synth_module_prologue): Updated calls to objc_declare_class.

From-SVN: r172425

13 years agotree.h (get_object_alignment_1): Declare.
Richard Guenther [Thu, 14 Apr 2011 12:07:57 +0000 (12:07 +0000)]
tree.h (get_object_alignment_1): Declare.

2011-04-14  Richard Guenther  <rguenther@suse.de>

* tree.h (get_object_alignment_1): Declare.
* builtins.c (get_object_alignment_1): Split out worker from ...
(get_object_alignment): ... here.
* fold-const.c (get_pointer_modulus_and_residue): Use
get_object_alignment_1.

* gcc.dg/fold-bitand-4.c: Move ...
* c-c++-common/fold-bitand-4.c: ... here.  Adjust slightly.

From-SVN: r172424

13 years agotree-vectorizer.h (vect_create_data_ref_ptr): Add an extra type parameter.
Richard Sandiford [Thu, 14 Apr 2011 11:54:43 +0000 (11:54 +0000)]
tree-vectorizer.h (vect_create_data_ref_ptr): Add an extra type parameter.

gcc/
* tree-vectorizer.h (vect_create_data_ref_ptr): Add an extra
type parameter.
* tree-vect-data-refs.c (vect_create_data_ref_ptr): Add an aggr_type
parameter.  Generalise code to handle arrays as well as vectors.
(vect_setup_realignment): Update accordingly.
* tree-vect-stmts.c (vectorizable_store): Likewise.
(vectorizable_load): Likewise.

From-SVN: r172423

13 years agotree-vect-stmts.c (vectorizable_load): Allocate and free dr_chain within the per...
Richard Sandiford [Thu, 14 Apr 2011 11:54:30 +0000 (11:54 +0000)]
tree-vect-stmts.c (vectorizable_load): Allocate and free dr_chain within the per-copy loop.

gcc/
* tree-vect-stmts.c (vectorizable_load): Allocate and free dr_chain
within the per-copy loop.

From-SVN: r172422

13 years agoFix email attribution in last commits.
Richard Sandiford [Thu, 14 Apr 2011 11:54:11 +0000 (11:54 +0000)]
Fix email attribution in last commits.

From-SVN: r172421

13 years agotree-vect-stmts.c (vectorizable_load): Print the number of copies in the dump file.
Richard Sandiford [Thu, 14 Apr 2011 11:53:02 +0000 (11:53 +0000)]
tree-vect-stmts.c (vectorizable_load): Print the number of copies in the dump file.

gcc/
* tree-vect-stmts.c (vectorizable_load): Print the number of copies
in the dump file.

From-SVN: r172420

13 years agooptions.texi (Negative): Explicitly mention that the Negative chain must be circular.
Richard Sandiford [Thu, 14 Apr 2011 11:52:17 +0000 (11:52 +0000)]
options.texi (Negative): Explicitly mention that the Negative chain must be circular.

gcc/
* doc/options.texi (Negative): Explicitly mention that the
Negative chain must be circular.

From-SVN: r172419

13 years agoutils.c (gnat_poplevel): Use block_chainon.
Nathan Froyd [Thu, 14 Apr 2011 11:18:40 +0000 (11:18 +0000)]
utils.c (gnat_poplevel): Use block_chainon.

gcc/ada/
* gcc-interface/utils.c (gnat_poplevel): Use block_chainon.

gcc/
* function.h (block_chainon): Declare.
* function.c (block_chainon): Define.

gcc/cp/
* decl.c (poplevel): Use block_chainon.

gcc/fortran//
* f95-lang.c (poplevel): Use BLOCK_CHAIN and block_chainon.

gcc/java/
* decl.c (poplevel): Use BLOCK_CHAIN and block_chainon.

From-SVN: r172418

13 years agotrivial.c: Fix line endings.
Georg-Johann Lay [Thu, 14 Apr 2011 10:38:17 +0000 (10:38 +0000)]
trivial.c: Fix line endings.

* gcc.target/avr/trivial.c: Fix line endings. Make PROGMEM
variables const.
* gcc.target/avr/torture/trivial.c: Ditto.

From-SVN: r172417

13 years agoavr.c: ("insn-codes.h"...
Anatoly Sokolov [Thu, 14 Apr 2011 09:24:34 +0000 (13:24 +0400)]
avr.c: ("insn-codes.h"...

* config/avr/avr.c: ("insn-codes.h", "optabs.h", "langhooks.h"):
New Includes
(avr_init_builtins, avr_expand_builtin,
avr_expand_delay_cycles, avr_expand_unop_builtin,
avr_expand_binop_builtin ): New functions.
(avr_builtin_id): New enum
(struct avr_builtin_description): New struct
(bdesc_1arg, bdesc_2arg): New arrays describing some RTL builtins.
(TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.

* config/avr/avr.md (UNSPEC_FMUL, UNSPEC_FMULS, UNSPEC_FMULSU,
UNSPECV_ENABLE_IRQS, UNSPECV_NOP, UNSPECV_SLEEP, UNSPECV_WDR,
UNSPECV_DELAY_CYCLES): new enumeration values
(UNSPEC_SEI, UNSPEC_CLI): Remove enumeration values
("enable_interrupt"): Use UNSPECV_ENABLE_IRQS
("disable_interrupt"): Use UNSPECV_ENABLE_IRQS
("*rotlqi3_4"): rename insn to "rotlqi3_4"
("delay_cycles_1", "delay_cycles_2", "delay_cycles_3",
"delay_cycles_4", "nopv", "sleep", "wdr", "fmul", "fmuls",
"fmulsu"): New insns

* config/avr/avr-c.c: fix line endings
(avr_cpu_cpp_builtins): New builtin defines: __BUILTIN_AVR_NOP,
__BUILTIN_AVR_SEI, __BUILTIN_AVR_CLI, __BUILTIN_AVR_WDR,
__BUILTIN_AVR_SLEEP, __BUILTIN_AVR_SWAP,
__BUILTIN_AVR_DELAY_CYCLES, __BUILTIN_AVR_FMUL,
__BUILTIN_AVR_FMULS, __BUILTIN_AVR_FMULSU.

* doc/extend.texi (AVR Built-in Functions): New node
(Target Builtins): Add documentation of AVR
built-in functions.

Co-Authored-By: Eric Weddington <eric.weddington@atmel.com>
Co-Authored-By: Georg-Johann Lay <avr@gjlay.de>
From-SVN: r172416

13 years agore PR target/44643 ([avr] ICE in c-typeck.c)
Georg-Johann Lay [Thu, 14 Apr 2011 08:38:20 +0000 (08:38 +0000)]
re PR target/44643 ([avr] ICE in c-typeck.c)

PR target/44643
* config/avr/avr.c (avr_insert_attributes): Leave TREE_READONLY
alone. Error if non-const data has attribute progmem.

From-SVN: r172415

13 years agotree.h (struct tree_constructor): Include tree_typed instead of tree_common.
Nathan Froyd [Thu, 14 Apr 2011 01:38:07 +0000 (01:38 +0000)]
tree.h (struct tree_constructor): Include tree_typed instead of tree_common.

* tree.h (struct tree_constructor): Include tree_typed instead of
tree_common.
* tree.c (initialize_tree_contains_struct): Mark TS_CONSTRUCTOR as
TS_TYPED instead of TS_COMMON.

From-SVN: r172409

13 years agoDaily bump.
GCC Administrator [Thu, 14 Apr 2011 00:17:45 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r172408

13 years agosse.md (*sse2_uavgv16qi3): Merge with *avx_uavgv16qi3.
Uros Bizjak [Wed, 13 Apr 2011 23:43:52 +0000 (01:43 +0200)]
sse.md (*sse2_uavgv16qi3): Merge with *avx_uavgv16qi3.

* config/i386/sse.md (*sse2_uavgv16qi3): Merge with *avx_uavgv16qi3.
(*sse2_uavgv8hi3): Merge with *avx_uavgv8hi3.
(sse2_psadbw): Merge with *avx_psadbw.
(ssse3_phaddwv8hi3): Merge with *avx_phaddwv8hi3.
(ssse3_phadddv4si3): Merge with *avx_phadddv4si3.
(ssse3_phaddswv8hi3): Merge with *avx_phaddswv8hi3.
(ssse3_phsubwv8hi3): Merge with *avx_phsubwv8hi3.
(ssse3_phsubdv4si3): Merge with *avx_phsubdv4si3.
(ssse3_phsubswv8hi3): Merge with *avx_phsubswv8hi3.
(ssse3_pmaddubsw128): Merge with *avx_pmaddubsw128.
(*ssse3_pmulhrswv8hi3): Merge with *avx_pmulhrswv8hi3.
(ssse3_pshufbv16qi3): Merge with *avx_pshufbv16qi3.
(ssse3_psign<mode>3): Merge with *avx_psign<mode>3.
(ssse3_palignrti): Merge with *avx_palignrti.

From-SVN: r172403

13 years agoUse backend interface for go and defer statements.
Ian Lance Taylor [Wed, 13 Apr 2011 23:21:21 +0000 (23:21 +0000)]
Use backend interface for go and defer statements.

Change defer stack from tree to Expression.

From-SVN: r172402

13 years ago[multiple changes]
Paolo Carlini [Wed, 13 Apr 2011 22:52:45 +0000 (22:52 +0000)]
[multiple changes]

2011-04-13  Daniel Krugler  <daniel.kruegler@googlemail.com>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/48526
* include/std/type_traits (struct is_constructible): Re-implement,
according to n3290.
(struct is_default_constructible): Add.
(struct is_destructible): Likewise.
(struct __and_, __or_, __not_): Add and use throughout; reorder some
facilities, other minor tweaks.
* testsuite/util/testsuite_tr1.h: Add test types.
* testsuite/20_util/is_constructible/value-2.cc: New.
* testsuite/20_util/is_default_constructible/value.cc: Likewise.
* testsuite/20_util/is_default_constructible/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_default_constructible/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_destructible/value.cc: Likewise.
* testsuite/20_util/is_destructible/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_destructible/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
dg-error line numbers.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.

2011-04-13  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/20_util/is_function/value.cc: Add, adapted from the tr
testsuite.
* testsuite/20_util/is_function/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_function/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_function/24808.cc: Likewise.
* testsuite/20_util/is_function/35637.cc: Likewise.
* testsuite/20_util/is_object/value.cc: Likewise.
* testsuite/20_util/is_object/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_object/requirements/explicit_instantiation.cc:
: Likewise.
* testsuite/20_util/is_object/24808.cc: Likewise.
* testsuite/20_util/is_compound/value.cc: Likewise.
* testsuite/20_util/is_compound/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_compound/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_member_object_pointer/value.cc: Likewise.
* testsuite/20_util/is_member_object_pointer/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_member_object_pointer/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_fundamental/value.cc: Likewise.
* testsuite/20_util/is_fundamental/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_fundamental/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_member_pointer/value.cc: Likewise.
* testsuite/20_util/is_member_pointer/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_member_pointer/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_member_function_pointer/value.cc: Likewise.
* testsuite/20_util/is_member_function_pointer/
requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_member_function_pointer/requirements/
explicit_instantiation.cc: Likewise.

* testsuite/20_util/is_convertible/value.cc: Minor tweak, adjust
Copyright years.

From-SVN: r172401

13 years ago* sv.po: Update.
Joseph Myers [Wed, 13 Apr 2011 22:08:01 +0000 (23:08 +0100)]
* sv.po: Update.

From-SVN: r172398

13 years agoUnify handling of runtime support functions.
Ian Lance Taylor [Wed, 13 Apr 2011 21:00:59 +0000 (21:00 +0000)]
Unify handling of runtime support functions.

This introduces the new approach, and rewrites the lowering
code which uses runtime functions.  The code which calls
runtime functions at GENERIC conversion time is not yet
rewritten.

From-SVN: r172396

13 years agore PR c++/48594 (Rejects valid with pointer-to-member in template)
Jason Merrill [Wed, 13 Apr 2011 20:50:26 +0000 (16:50 -0400)]
re PR c++/48594 (Rejects valid with pointer-to-member in template)

PR c++/48594
* decl2.c (build_offset_ref_call_from_tree): Fix calling a functor
or pointer to (non-member) function.

From-SVN: r172394

13 years agotree-flow.h (struct gimple_df): Make free_ssanames a VEC.
Nathan Froyd [Wed, 13 Apr 2011 20:32:30 +0000 (20:32 +0000)]
tree-flow.h (struct gimple_df): Make free_ssanames a VEC.

* tree-flow.h (struct gimple_df): Make free_ssanames a VEC.
* tree-ssanames.c (fini_ssanames): VEC_free it.
(make_ssa_name_fn): Update for VECness of free_ssanames.
(release_ssa_name, release_dead_ssa_names): Likewise.
* tree.h (struct tree_ssa_name): Include tree_typed instead of
tree_common.
* tree.c (initialize_tree_contains_struct): Mark TS_SSA_NAME as
TS_TYPED instead of TS_COMMON.

From-SVN: r172393

13 years agopostreload-gcse.c (gcse_after_reload_main): Add calls to statistics_counter_event.
Nathan Froyd [Wed, 13 Apr 2011 19:39:02 +0000 (19:39 +0000)]
postreload-gcse.c (gcse_after_reload_main): Add calls to statistics_counter_event.

* postreload-gcse.c (gcse_after_reload_main): Add calls to
statistics_counter_event.
* tree-ssa-copyrename.c (stats): Define.
(rename_ssa_copies): Count coalesced SSA_NAMEs.  Add call to
statistics_counter_event.
* tree-ssa-math-opts.c (reciprocal_stats, sincos_stats): Define.
(bswap_stats, widen_mul_stats): Define.
(insert_reciprocals): Increment rdivs_inserted.
(execute_cse_reciprocals): Zeroize reciprocal_stats.  Increment
rfuncs_inserted.  Add calls to statistics_counter_event.
(execute_cse_sincos_1): Increment inserted.
(execute_cse_sincos): Zeroize sincos_stats.  Add call to
statistics_counter_event.
(execute_optimize_bswap): Zeroize bswap_stats.  Increment fields
of bswap_stats.  Add calls to statistics_counter_event.
(convert_mult_to_widen): Increment widen_mults_inserted.
(convert_plusminus_to_widen): Increment maccs_inserted.
(convert_mult_to_fma): Increment fmas_inserted.
(execute_optimize_widening_mul): Zeroize widen_mul_stats.  Add
calls to statistics_counter_event.

From-SVN: r172392

13 years agore PR rtl-optimization/48455 (Huge code size regression for all ARM configurations)
Vladimir Makarov [Wed, 13 Apr 2011 18:26:52 +0000 (18:26 +0000)]
re PR rtl-optimization/48455 (Huge code size regression for all ARM configurations)

2011-04-13  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/48455
* ira-costs.c (find_costs_and_classes): Use i_mem_cost instead of
`temp_costs->mem_cost'.

From-SVN: r172389

13 years agoipa-inline.h: New file.
Jan Hubicka [Wed, 13 Apr 2011 17:26:50 +0000 (19:26 +0200)]
ipa-inline.h: New file.

* ipa-inline.h: New file.
* ipa-inline-analysis.c: New file. Broken out of ...
* ipa-inline.c: ... this file; update toplevel comment;
include ipa-inline.h
(inline_summary): Move to ipa-inline.h
(cgraph_estimate_edge_time): Rename to estimate_edge_time; move to
ipa-inline-analysis.c.
(cgraph_estimate_time_after_inlining): Rename to estiamte_time_after_inlining;
move to ipa-inline-analysis.c
(cgraph_estimate_edge_growth): Move to ipa-inline-analysis.c; rename
to estimate_edge_growth.
(cgraph_estimate_size_after_inlining): Move to ipa-inline-analysis.c;
rename to estimate_size_after_inlining.
(cgraph_mark_inline_edge): Update for new naming convention.
(cgraph_check_inline_limits): Likewise.
(cgraph_edge_badness): Likewise.
(cgraph_decide_recursive_inlining): Likewise.
(cgraph_decide_inlining_of_small_functions): Likewise.
(cgraph_decide_inlining_incrementally): Likewise.
(cgraph_estimate_growth): Rename to estimate_growth; move to ipa-inline-analysis.c.
(eliminated_by_inlining_prob): Move to ipa-inline-analysis.c.
(estimate_function_body_sizes): Move to ipa-inline-analysis.c.
(compute_inline_parameters): Likewise.
(compute_inline_parameters_for_current): Likewise.
(pass_inline_parameters): Likewise.
(inline_indirect_intraprocedural_analysis): Likewise.
(analyze_function): Rename to inline_analyze_function; likewise.
(add_new_function): Move to ipa-inline-analysis.c.
(inline_generate_summary): Likewise.
(inline_read_summary): Likewise.
(inline_write_summary): Likewise.
* Makefile.in (ipa-inline-analysis.c): New file.

From-SVN: r172388

13 years agoconfigure.ac (gcc_cv_as_sparc_gotdata_op): Remove GNU ld check.
Rainer Orth [Wed, 13 Apr 2011 17:12:53 +0000 (17:12 +0000)]
configure.ac (gcc_cv_as_sparc_gotdata_op): Remove GNU ld check.

* configure.ac (gcc_cv_as_sparc_gotdata_op): Remove GNU ld check.
* configure: Regenerate.

From-SVN: r172387

13 years agotree.h (struct tree_int_cst, [...]): Include tree_typed instead of tree_common.
Nathan Froyd [Wed, 13 Apr 2011 17:04:36 +0000 (17:04 +0000)]
tree.h (struct tree_int_cst, [...]): Include tree_typed instead of tree_common.

* tree.h (struct tree_int_cst, struct real_value): Include tree_typed
instead of tree_common.
(struct tree_fixed_cst, struct tree_string, struct tree_complex):
Likewise.
* tree.c (initialize_tree_contains_struct): Mark such nodes as being
TS_TYPED rather than TS_COMMON.
* print-tree.c (print_node) [STRING_CST]: Don't print TREE_CHAIN.

From-SVN: r172386

13 years agoFix ChangeLog entry for PR target/45263
Georg-Johann Lay [Wed, 13 Apr 2011 16:46:29 +0000 (16:46 +0000)]
Fix ChangeLog entry for PR target/45263

From-SVN: r172385

13 years agore PR target/45263 (registers used in __do_global_ctors can get clobbered)
Georg-Johann Lay [Wed, 13 Apr 2011 16:36:50 +0000 (16:36 +0000)]
re PR target/45263 (registers used in __do_global_ctors can get clobbered)

PR target/45263
* config/avr/libgcc.S (__do_global_ctors, __do_global_dtors): Save
R20 around calls of __tablejump_elpm__

From-SVN: r172384

13 years agoMAINTAINERS (Write After Approval): Add myself.
Georg-Johann Lay [Wed, 13 Apr 2011 16:04:11 +0000 (16:04 +0000)]
MAINTAINERS (Write After Approval): Add myself.

2011-04-13  Georg-Johann Lay  <avr@gjlay.de>

* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r172382

13 years agore PR middle-end/48591 (OpenMP ICE with atomics on __float128 in 32-bit only i686...
Jakub Jelinek [Wed, 13 Apr 2011 15:50:02 +0000 (17:50 +0200)]
re PR middle-end/48591 (OpenMP ICE with atomics on __float128 in 32-bit only i686 cc1)

PR middle-end/48591
* omp-low.c (expand_omp_atomic_fetch_op): Return false if decl is
NULL.
(expand_omp_atomic_pipeline): Return false if cmpxchg is NULL.

* gcc.dg/gomp/pr48591.c: New test.

* testsuite/libgomp.c/pr48591.c: New test.

From-SVN: r172379

13 years agore PR regression/48570 (wrong subscription with -std=c++0x)
Jakub Jelinek [Wed, 13 Apr 2011 15:38:50 +0000 (17:38 +0200)]
re PR regression/48570 (wrong subscription with -std=c++0x)

PR c++/48570
* semantics.c (cxx_eval_array_reference): Handle reading from
wchar_t, char16_t and char32_t STRING_CST.

* g++.dg/cpp0x/constexpr-wstring1.C: New test.
* g++.dg/cpp0x/constexpr-wstring2.C: New test.

From-SVN: r172377

13 years agore PR c++/48574 (ICE)
Dodji Seketeli [Wed, 13 Apr 2011 15:09:26 +0000 (15:09 +0000)]
re PR c++/48574 (ICE)

Fix PR c++/48574

gcc/cp/

* class.c (fixed_type_or_null): We cannot determine the dynamic
type of a reference variable if its initializer is dependent.

gcc/testsuite/

* g++.dg/template/dependent-expr7.C: New test case.

From-SVN: r172375

13 years agopt.c (tsubst_copy_and_build): Don't complain about unqualified lookup failing if...
Jason Merrill [Wed, 13 Apr 2011 14:34:05 +0000 (10:34 -0400)]
pt.c (tsubst_copy_and_build): Don't complain about unqualified lookup failing if we're still in a template.

* pt.c (tsubst_copy_and_build) [CALL_EXPR]: Don't complain about
unqualified lookup failing if we're still in a template.

From-SVN: r172372

13 years agodwarf2out.c (struct dw_cfi_struct): Remove member dw_cfi_next.
Bernd Schmidt [Wed, 13 Apr 2011 11:42:08 +0000 (11:42 +0000)]
dwarf2out.c (struct dw_cfi_struct): Remove member dw_cfi_next.

* dwarf2out.c (struct dw_cfi_struct): Remove member dw_cfi_next.
(dw_cfi_ref): Add DEF_VEC_P and some DEF_VEC_ALLOC_Ps.
(cfi_vec): New typedef.
(struct dw_fde_struct): Make dw_fde_cfi a cfi_vec. Replace
dw_fde_switch_cfi with an integer dw_fde_switch_cfi_index.
(cie_cfi_vec): New static variable.
(cie_cfi_head): Delete.
(add_cfi): Accept a cfi_vec * as first argument. All callers and
declaration changed. Use vector rather than list operations.
(new_cfi): Don't initialize the dw_cfi_next field.
(add_fde_cfi): Allocate cie_cfi_vec if necessary. Use vector
rather than list operations.
(lookup_cfa): Use vector rather than list operations.
(output_cfis): New argument upto. Accept a cfi_vec rather than
a dw_cfi_ref list head as argument. All callers changed.
Iterate over the vector using upto as a maximum index.
(output_all_cfis): New static function.
(output_fde): Use vector rather than list operations. Use the
new upto argument for output_cfis rather than manipulating a
list.
(dwarf2out_begin_prologue): Change initializations to match
new struct members.
(dwarf2out_switch_text_section): Initialize dw_fde_switch_cfi_index
from the vector length rather than searching for the end of a list.
Use output_all_cfis.
(convert_cfa_to_fb_loc_list): Use vector rather than list operations.

From-SVN: r172369

13 years agorx.md (movmemsi): Do not use this pattern when volatile pointers are involved.
Nick Clifton [Wed, 13 Apr 2011 11:31:55 +0000 (11:31 +0000)]
rx.md (movmemsi): Do not use this pattern when volatile pointers are involved.

* config/rx/rx.md (movmemsi): Do not use this pattern when
volatile pointers are involved.

From-SVN: r172368