Richard Sandiford [Sun, 17 Apr 2011 17:29:52 +0000 (17:29 +0000)]
mips.c (mips_cfun_call_saved_reg_p): Handle global registers.
gcc/
* config/mips/mips.c (mips_cfun_call_saved_reg_p): Handle global
registers.
gcc/testsuite/
* gcc.target/mips/reg-var-1.c: New test.
From-SVN: r172616
Jan Hubicka [Sun, 17 Apr 2011 17:00:48 +0000 (19:00 +0200)]
cgrpah.h (struct cgraph_node): Remove finalized_by_frontend.
* cgrpah.h (struct cgraph_node): Remove finalized_by_frontend.
* cgrpahunit.c (cgraph_finalize_function): Do not set finalized_by_frontend.
* lto-cgraph.c (lto_output_node, input_overwrite_node): Do not stream
finalized_by_frontend.
From-SVN: r172614
Jan Hubicka [Sun, 17 Apr 2011 16:37:07 +0000 (18:37 +0200)]
re PR middle-end/20991 (ICE in cgraph_mark_reachable_node)
* cgraph.c (cgraph_clone_node): Do not handle vtable_method
* cgraph.h (struct cgraph_local_info): Drop vtable_method.
* cgraphunit.c (cgraph_copy_node_for_versioning): Drop vtable_method.
* lto-cgraph.c (lto_output_node, input_overwrite_node): Drop vtable method.
* gimple-fold.c (can_refer_decl_in_current_unit_p): Mention PR20991 in
gimple-fold.c
* varasm.c (mark_decl_referenced): Drop vtable_method handling code.
* cp/class.c (cp_fold_obj_type_ref): Drop vtable_method.
From-SVN: r172613
Eric Botcazou [Sun, 17 Apr 2011 14:57:14 +0000 (14:57 +0000)]
re PR lto/48538 (profiled LTO bootstrap failure with Ada)
PR lto/48538
* lto-cgraph.c (merge_profile_summaries): Check that lto_file_data
is non-null before accessing it.
(input_cgraph): Remove trailing spaces.
From-SVN: r172611
Revital Eres [Sun, 17 Apr 2011 14:32:24 +0000 (14:32 +0000)]
New flag to apply SMS when SC equals 1
From-SVN: r172610
Jan Hubicka [Sun, 17 Apr 2011 14:22:20 +0000 (16:22 +0200)]
lto-symtab.c (lto_cgraph_replace_node): When call statement is present, also set gimple_call_set_cannot_inline.
* lto-symtab.c (lto_cgraph_replace_node): When call statement is
present, also set gimple_call_set_cannot_inline.
* ipa-inline.c: Update toplevel comment.
(MAX_TIME): Remove.
(cgraph_clone_inlined_nodes): Fix linebreaks.
(cgraph_check_inline_limits): Restructure to ...
(caller_growth_limits): ... this one; be more tolerant
on growth in nested inline chains; add explanatory comment;
fix stack accounting thinko introduced by previous patch.
(cgraph_default_inline_p): Remove.
(report_inline_failed_reason): New function.
(can_inline_edge_p): New function.
(can_early_inline_edge_p): New function.
(leaf_node_p): Move upwards in file.
(want_early_inline_function_p): New function.
(want_inline_small_function_p): New function.
(want_inline_self_recursive_call_p): New function.
(cgraph_edge_badness): Rename to ...
(edge_badness) ... this one; fix linebreaks.
(update_edge_key): Update call of edge_baddness; add
detailed dump about queue updates.
(update_caller_keys): Use can_inline_edge_p and
want_inline_small_function_p.
(cgraph_decide_recursive_inlining): Rename to...
(recursive_inlining): Use can_inline_edge_p and
want_inline_self_recursive_call_p; simplify and
remove no longer valid FIXME.
(cgraph_set_inline_failed): Remove.
(add_new_edges_to_heap): Use can_inline_edge_p and
want_inline_small_function_p.
(cgraph_decide_inlining_of_small_functions): Rename to ...
(inline_small_functions): ... this one; cleanup; use
can/want predicates; cleanup debug ouput; work edges
till fibheap is exhausted and do not stop once unit
growth is reached; remove later loop processing remaining
edges.
(cgraph_flatten): Rename to ...
(flatten_function): ... this one; use can_inline_edge_p
and can_early_inline_edge_p predicates.
(cgraph_decide_inlining): Rename to ...
(ipa_inline): ... this one; remove unreachable nodes before
inlining functions called once; simplify the pass.
(cgraph_perform_always_inlining): Rename to ...
(inline_always_inline_functions): ... this one; use
DECL_DISREGARD_INLINE_LIMITS; use can_inline_edge_p
predicate
(cgraph_decide_inlining_incrementally): Rename to ...
(early_inline_small_functions): ... this one; simplify
using new predicates; cleanup; make dumps prettier.
(cgraph_early_inlining): Rename to ...
(early_inliner): newer inline regular functions into always-inlines;
fix updating of call stmt summaries.
(pass_early_inline): Update for new names.
(inline_transform): Fix formating.
(gate_cgraph_decide_inlining): Rename to ...
(pass_ipa_inline): ... this one.
* ipa-inline.h (inline_summary): Remove disregard_inline_limits.
* ipa-inline-analysis.c (dump_inline_summary): Update.
(compute_inline_parameters): Do not compute disregard_inline_limits;
look for mismatching arguments.
(estimate_growth): Fix handlig of non-trivial self recursion.
(inline_read_summary): Do not read info->disregard_inline_limits.
(inline_write_summary): Do not write info->disregard_inline_limits.
* tree-inline.c (inline_forbidden_into_p, tree_can_inline_p): Remove and
move all checks into can_inline_edge_p predicate; re-enable code comparing
optimization levels.
(expand_call_inline): Do not test inline_forbidden_into_p.
* Makefile.in (ipa-inline.o): Update arguments.
* gcc.dg/winline-5.c: Update testcase.
From-SVN: r172609
Eric Botcazou [Sun, 17 Apr 2011 10:22:40 +0000 (10:22 +0000)]
decl.c (gnat_to_gnu_entity): Declare the padded type built for the return type if it is unconstrained.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
padded type built for the return type if it is unconstrained.
From-SVN: r172608
Revital Eres [Sun, 17 Apr 2011 07:41:33 +0000 (07:41 +0000)]
Free sccs field
From-SVN: r172607
Revital Eres [Sun, 17 Apr 2011 07:36:55 +0000 (07:36 +0000)]
Avoid unfreed memory when SMS fails
From-SVN: r172606
Tobias Burnus [Sun, 17 Apr 2011 07:34:35 +0000 (09:34 +0200)]
re PR fortran/48624 (gfortran DECL issues in function declaration)
2011-05-17 Tobias Burnus <burnus@net-b.de>
PR fortran/48624
* trans-decl.c (gfc_get_extern_function_decl): Fix decl
for external procedures with proc arguments.
From-SVN: r172604
Michael Matz [Sun, 17 Apr 2011 01:18:51 +0000 (01:18 +0000)]
re PR tree-optimization/48622 (ICE: in estimate_size_after_inlining, at ipa-inline-analysis.c:425 with -flto -finline-small-functions -fno-early-inlining)
PR tree-optimization/48622
PR lto/48645
* ipa-inline-analysis.c (inline_read_summary): Read size/time
in same order as they're written.
testsuite/
* gcc.dg/lto/pr48622_0.c: New test.
From-SVN: r172603
GCC Administrator [Sun, 17 Apr 2011 00:18:14 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r172602
Janne Blomqvist [Sat, 16 Apr 2011 17:43:03 +0000 (20:43 +0300)]
Replace sprintf with snprintf
From-SVN: r172590
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
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
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
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
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
Jim Meyering [Sat, 16 Apr 2011 07:26:36 +0000 (07:26 +0000)]
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r172536
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
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
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
GCC Administrator [Sat, 16 Apr 2011 00:18:34 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r172530
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
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
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
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
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
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
Ian Lance Taylor [Fri, 15 Apr 2011 20:53:04 +0000 (20:53 +0000)]
Use backend interface for send statement.
From-SVN: r172519
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
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
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
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
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
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
Rainer Orth [Fri, 15 Apr 2011 17:03:49 +0000 (17:03 +0000)]
* scripts/extract_symvers.pl: Handle NOTY.
From-SVN: r172506
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Ian Lance Taylor [Fri, 15 Apr 2011 04:10:08 +0000 (04:10 +0000)]
Use the backend interface for select statements.
From-SVN: r172468
GCC Administrator [Fri, 15 Apr 2011 00:19:15 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r172466
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Richard Sandiford [Thu, 14 Apr 2011 11:54:11 +0000 (11:54 +0000)]
Fix email attribution in last commits.
From-SVN: r172421
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
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
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
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
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
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
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
GCC Administrator [Thu, 14 Apr 2011 00:17:45 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r172408
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
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
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
Joseph Myers [Wed, 13 Apr 2011 22:08:01 +0000 (23:08 +0100)]
* sv.po: Update.
From-SVN: r172398
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
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
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
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
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