gcc.git
13 years agogimple.h (gimple_call_addr_fndecl): New function.
Richard Guenther [Mon, 18 Apr 2011 11:59:34 +0000 (11:59 +0000)]
gimple.h (gimple_call_addr_fndecl): New function.

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

* gimple.h (gimple_call_addr_fndecl): New function.
(gimple_call_fndecl): Use it.
* gimple-fold.c (gimple_fold_call): Fold away OBJ_TYPE_REFs
for direct calls.
* tree-ssa-ccp.c (ccp_fold_stmt): Remove OBJ_TYPE_REF folding.
* tree-ssa-pre.c (eliminate): Also simplify indirect OBJ_TYPE_REFs.

From-SVN: r172644

13 years agopr48235.c: Add dg-require-effective-target freorder.
Alexander Monakov [Mon, 18 Apr 2011 11:33:52 +0000 (15:33 +0400)]
pr48235.c: Add dg-require-effective-target freorder.

* gcc.dg/pr48235.c: Add dg-require-effective-target freorder.

From-SVN: r172643

13 years agore PR c/48650 (valgrind: Invalid write of size 8 in build_string (tree.c:1524))
Richard Guenther [Mon, 18 Apr 2011 11:18:01 +0000 (11:18 +0000)]
re PR c/48650 (valgrind: Invalid write of size 8 in build_string (tree.c:1524))

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

PR middle-end/48650
* tree.c (build_string): STRING_CST is now derived from tree_typed.

From-SVN: r172642

13 years agore PR lto/48492 (LTO bootstrap failure in copy_constant)
Eric Botcazou [Mon, 18 Apr 2011 10:13:49 +0000 (10:13 +0000)]
re PR lto/48492 (LTO bootstrap failure in copy_constant)

PR lto/48492
* cfgexpand.c (expand_debug_expr) <VAR_DECL>: Return NULL for a
DECL_IN_CONSTANT_POOL without RTL.

From-SVN: r172641

13 years agore PR target/48252 (ARM neon: problem with consecutive vzip, vuzp and vtrn)
Ulrich Weigand [Mon, 18 Apr 2011 07:14:22 +0000 (07:14 +0000)]
re PR target/48252 (ARM neon: problem with consecutive vzip, vuzp and vtrn)

PR target/48252
* config/arm/arm.c (neon_emit_pair_result_insn): Swap arguments
to match neon_vzip/vuzp/vtrn_internal.
* config/arm/neon.md (neon_vtrn<mode>_internal): Make both
outputs explicitly dependent on both inputs.
(neon_vzip<mode>_internal, neon_vuzp<mode>_internal): Likewise.

Co-Authored-By: Ira Rosen <ira.rosen@linaro.org>
From-SVN: r172639

13 years agore PR tree-optimization/48616 (-ftree-vectorize -mxop miscompiles right shift)
Jakub Jelinek [Mon, 18 Apr 2011 06:55:13 +0000 (08:55 +0200)]
re PR tree-optimization/48616 (-ftree-vectorize -mxop miscompiles right shift)

PR tree-optimization/48616
* tree-vect-stmts.c (vectorizable_shift): If SLP, determine
whether the shift is by scalar or vector based on whether all SLP
scalar stmts have the same rhs.

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

From-SVN: r172638

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

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

        PR fortran/18918
        * iresolve.c (gfc_resolve_image_index): Set ts.type.
        * simplify.c (gfc_simplify_image_index): Don't abort if the
        * bounds
        are not known at compile time and handle -fcoarray=lib.
        * trans-intrinsics.c (gfc_conv_intrinsic_function): Handle
        IMAGE_INDEX.
        (conv_intrinsic_cobound): Fix comment typo.
        (trans_this_image): New function.
        * trans-array.c (gfc_unlikely): Move to trans.c.
        * trans.c (gfc_unlikely): Function moved from trans-array.c.
        (gfc_trans_runtime_check): Use it.
        * trans-io.c (gfc_trans_io_runtime_check): Ditto.
        * trans.h (gfc_unlikely): Add prototype.

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

        PR fortran/18918
        * gfortran.dg/coarray_16.f90: New.

From-SVN: r172637

13 years agore PR fortran/48462 (realloc on assignment: matmul Segmentation Fault with Allocatabl...
Paul Thomas [Mon, 18 Apr 2011 05:07:38 +0000 (05:07 +0000)]
re PR fortran/48462 (realloc on assignment: matmul Segmentation Fault with Allocatable Array)

2011-04-18  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/48462
* trans-expr.c (fcncall_realloc_result): Renamed version of
realloc_lhs_bounds_for_intrinsic_call that does not touch the
descriptor bounds anymore but makes a temporary descriptor to
hold the result.
(gfc_trans_arrayfunc_assign): Modify the reference to above
renamed function.

2011-04-18  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/48462
* gfortran.dg/realloc_on_assign_7.f03: New test.

From-SVN: r172636

13 years agore PR libfortran/48602 (Invalid F conversion of G descriptor for values close to...
Jerry DeLisle [Mon, 18 Apr 2011 03:52:59 +0000 (03:52 +0000)]
re PR libfortran/48602 (Invalid F conversion of G descriptor for values close to powers of 10)

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

PR libgfortran/48602
* gfortran.dg/fmt_g0_6.f08: New test.

From-SVN: r172635

13 years agore PR libfortran/48602 (Invalid F conversion of G descriptor for values close to...
Jerry DeLisle [Mon, 18 Apr 2011 03:48:25 +0000 (03:48 +0000)]
re PR libfortran/48602 (Invalid F conversion of G descriptor for values close to powers of 10)

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

PR libgfortran/48602
* io/write_float.def (output_float_FMT_G): Use current rounding mode
to set the rounding parameters. (output_float): Skip rounding
if value is zero.

From-SVN: r172634

13 years agore PR c++/48531 ([C++0x][SFINAE] Hard errors with arrays of unknown bound)
Jason Merrill [Mon, 18 Apr 2011 00:50:31 +0000 (20:50 -0400)]
re PR c++/48531 ([C++0x][SFINAE] Hard errors with arrays of unknown bound)

PR c++/48531
* typeck2.c (build_functional_cast): Disallow array type.

From-SVN: r172632

13 years ago* tree.c (get_target_expr): Handle VEC_INIT_EXPR.
Jason Merrill [Mon, 18 Apr 2011 00:50:21 +0000 (20:50 -0400)]
* tree.c (get_target_expr): Handle VEC_INIT_EXPR.

From-SVN: r172631

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

From-SVN: r172630

13 years agomoveable.cc: Actually run it in parallel-mode for check-parallel.
Paolo Carlini [Sun, 17 Apr 2011 23:15:28 +0000 (23:15 +0000)]
moveable.cc: Actually run it in parallel-mode for check-parallel.

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

* testsuite/25_algorithms/partition/moveable.cc: Actually run
it in parallel-mode for check-parallel.

From-SVN: r172625

13 years agoMake-lang.in (gnatbind): Replace $(ALL_CFLAGS) with $(CFLAGS) on the link line.
Eric Botcazou [Sun, 17 Apr 2011 22:28:52 +0000 (22:28 +0000)]
Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with $(CFLAGS) on the link line.

* gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
$(CFLAGS) on the link line.

From-SVN: r172622

13 years agoPR libstdc++/48635 (again)
Daniel Krugler [Sun, 17 Apr 2011 21:46:11 +0000 (21:46 +0000)]
PR libstdc++/48635 (again)

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

PR libstdc++/48635 (again)
* include/bits/unique_ptr.h (unique_ptr<>::unique_ptr(unique_ptr<>&&),
unique_ptr<_Tp[]>::unique_ptr(unique_ptr<>&&),
unique_ptr<>::operator=(unique_ptr<>&&),
unique_ptr<_Tp[]>::operator=(unique_ptr<>&&)): Use forward<_Ep>, not
forward<_Dp>, to forward the deleter.
* testsuite/20_util/unique_ptr/assign/48635_neg.cc: New.

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

13 years agoarm.c (neon_struct_mem_operand): Support POST_INC/PRE_DEC memory operands.
Chung-Lin Tang [Sun, 17 Apr 2011 18:17:15 +0000 (18:17 +0000)]
arm.c (neon_struct_mem_operand): Support POST_INC/PRE_DEC memory operands.

2011-04-17  Chung-Lin Tang  <cltang@codesourcery.com>

* config/arm/arm.c (neon_struct_mem_operand): Support POST_INC/PRE_DEC
memory operands.

From-SVN: r172617

13 years agomips.c (mips_cfun_call_saved_reg_p): Handle global registers.
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

13 years agocgrpah.h (struct cgraph_node): Remove finalized_by_frontend.
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

13 years agore PR middle-end/20991 (ICE in cgraph_mark_reachable_node)
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

13 years agore PR lto/48538 (profiled LTO bootstrap failure with Ada)
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

13 years agoNew flag to apply SMS when SC equals 1
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

13 years agolto-symtab.c (lto_cgraph_replace_node): When call statement is present, also set...
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

13 years agodecl.c (gnat_to_gnu_entity): Declare the padded type built for the return type if...
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

13 years agoFree sccs field
Revital Eres [Sun, 17 Apr 2011 07:41:33 +0000 (07:41 +0000)]
Free sccs field

From-SVN: r172607

13 years agoAvoid unfreed memory when SMS fails
Revital Eres [Sun, 17 Apr 2011 07:36:55 +0000 (07:36 +0000)]
Avoid unfreed memory when SMS fails

From-SVN: r172606

13 years agore PR fortran/48624 (gfortran DECL issues in function declaration)
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

13 years agore PR tree-optimization/48622 (ICE: in estimate_size_after_inlining, at ipa-inline...
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

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

From-SVN: r172602

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