Rainer Orth [Mon, 18 Apr 2011 15:39:20 +0000 (15:39 +0000)]
* gcc.dg/vect/pr48377.c: Remove dg-do run.
From-SVN: r172654
Rainer Orth [Mon, 18 Apr 2011 14:28:50 +0000 (14:28 +0000)]
* gcc.dg/ipa/pr48195.c: Add dg-require-effective-target lto.
From-SVN: r172651
Richard Guenther [Mon, 18 Apr 2011 14:22:35 +0000 (14:22 +0000)]
re PR c++/46364 (basic_string.h:541:32: internal compiler error: Segmentation fault)
2011-04-18 Richard Guenther <rguenther@suse.de>
PR middle-end/46364
* g++.dg/torture/pr46364.C: New testcase.
From-SVN: r172649
Rainer Orth [Mon, 18 Apr 2011 14:18:44 +0000 (14:18 +0000)]
* obj-c++.dg/dwarf-2.mm: Skip on alpha*-dec-osf*.
From-SVN: r172648
Jie Zhang [Mon, 18 Apr 2011 14:01:13 +0000 (14:01 +0000)]
Jie Zhang <jie@codesourcery.com>
Richard Earnshaw <rearnsha@arm.com>
* arm.c (neon_builtin_type_bits): Remove.
(typedef enum neon_builtin_mode): New.
(T_MAX): Don't define.
(typedef enum neon_builtin_datum): Remove bits, codes[],
num_vars and base_fcode. Add mode, code and fcode.
(VAR1, VAR2, VAR3, VAR4, VAR5, VAR6, VAR7, VAR8, VAR9
VAR10): Change accordingly.
(neon_builtin_data[]): Change accordingly
(arm_init_neon_builtins): Change accordingly.
(neon_builtin_compare): Remove.
(locate_neon_builtin_icode): Remove.
(arm_expand_neon_builtin): Change accordingly.
* arm.h (enum arm_builtins): Move to ...
* arm.c (enum arm_builtins): ... here; and rearrange builtin code.
* arm.c (arm_builtin_decl): Declare.
(TARGET_BUILTIN_DECL): Define.
(enum arm_builtins): Correct ARM_BUILTIN_MAX.
(arm_builtin_decls[]): New.
(arm_init_neon_builtins): Store builtin declarations in
arm_builtin_decls[].
(arm_init_tls_builtins): Likewise.
(arm_init_iwmmxt_builtins): Likewise. Refactor initialization code.
(arm_builtin_decl): New.
Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
From-SVN: r172646
Richard Guenther [Mon, 18 Apr 2011 13:58:47 +0000 (13:58 +0000)]
tree.c (upper_bound_in_type): Build properly canonicalized INTEGER_CSTs.
2011-04-18 Richard Guenther <rguenther@suse.de>
* tree.c (upper_bound_in_type): Build properly canonicalized
INTEGER_CSTs.
(lower_bound_in_type): Likewise.
From-SVN: r172645
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Mon, 18 Apr 2011 00:17:45 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r172630
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
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
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
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
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