1. 20 Apr, 2012 16 commits
    • lto-symtab.c (lto_cgraph_replace_node): Merge needed instead of force flags. · ead84f73
      	* lto-symtab.c (lto_cgraph_replace_node): Merge needed instead of force flags.
      	* cgraph.c (cgraph_add_thunk): Use mark_reachable_node.
      	(cgraph_remove_node): Update.
      	(cgraph_mark_needed_node): Remove.
      	(cgraph_mark_force_output_node): New.
      	(dump_cgraph_node): Do not dump needed flag.
      	(cgraph_node_cannot_be_local_p_1): Update.
      	(cgraph_can_remove_if_no_direct_calls_and_refs): Update.
      	* cgraph.h (symtab_node_base): Add force_output flag.
      	(cgraph_node): Remove needed flag.
      	(varpool_node): Remove force_output flag.
      	(cgraph_mark_needed_node): Remove.
      	(cgraph_mark_force_output_node): New.
      	(cgraph_only_called_directly_or_aliased_p,
      	varpool_can_remove_if_no_refs, varpool_all_refs_explicit_p): Update.
      	* ipa-cp.c (ipcp_generate_summary): Remove out of date assert.
      	* cgraphunit.c (cgraph_decide_is_function_needed): rewrite.
      	(cgraph_add_new_function); Update.
      	(cgraph_mark_if_needed); Update.
      	(verify_cgraph_node): Update.
      	(cgraph_analyze_function): Alias target is reachable.
      	(process_function_and_variable_attributes): Update: externally_visible
      	flag makes function reachable.
      	(cgraph_analyze_functions): Update dumping.
      	* lto-cgraph.c (lto_output_node, lto_output_varpool_node,
      	input_overwrite_node, input_varpool_node): Update streaming.
      	* lto-streamer-out.c (produce_symtab): Use force_output.
      	* ipa.c (process_references): Weakrefs must be processed.
      	(cgraph_remove_unreachable_nodes): Likewise; update for new
      	force_output flag.
      	(varpool_externally_visible_p); Weakrefs are externally visible
      	even if they are not.
      	(function_and_variable_visibility): Update; when processing alias
      	pair force the targets to be output.
      	(whole_program_function_and_variable_visility): Use mark_reachable_node.
      	* trans-mem.c (ipa_tm_mark_needed_node): Remove
      	(ipa_tm_mark_force_output_node): New function.
      	(ipa_tm_create_version_alias, ipa_tm_create_version): Update.
      	* gimple-fold.c (can_refer_decl_in_current_unit_p): Be lax about aliases.
      	* varasm.c (mark_decl_referenced): Update.
      	(find_decl_and_mark_needed): Remove.
      	(find_decl): New function.
      	(weak_finish, finish_aliases_1, assemble_alias): Update; do not mark
      	alias targets as needed.
      	(dump_tm_clone_pairs): Update.
      	* tree-inline.c (copy_bb): Update check.
      	* symtab.c (dump_symtab_base): Dump force_output.
      	* tree-ssa-structalias.c (ipa_pta_execute): Use force_output.
      	* passes.c (execute_todo): Fix dumping.
      	* varpool.c (decide_is_variable_needed, varpool_finalize_decl): Update.
      	(varpool_analyze_pending_decls): Alias target is reachable.
      	(varpool_create_variable_alias): Finalize weakrefs.
      
      	* class.c (make_local_function_alias): Do not mark symbol referenced.
      
      	* objc-acct.c (mark_referenced_methods); Use
      	cgraph_mark_force_output_node.
      
      	* gcc-interface/utils.c (gnat_write_global_declarations): Update for new
      	force_output placement.
      
      	* lto/lto-partition.c (partition_cgraph_node_p): Use force_output.
      
      From-SVN: r186624
      Jan Hubicka committed
    • re PR bootstrap/53021 (bootstrap failure on Linux/ia32) · 757e8ba2
      	PR bootstrap/53021
      	* alias.h (UNIQUE_BASE_VALUE_SP, UNIQUE_BASE_VALUE_ARGP,
      	UNIQUE_BASE_VALUE_FP, UNIQUE_BASE_VALUE_HFP): Define.
      	* alias.c (init_alias_targets): Use UNIQUE_BASE_VALUE_*
      	macros instead of constants.
      	* dse.c (record_store): Check for SP ADDRESS by comparing
      	XWINT to UNIQUE_BASE_VALUE_SP instead of expecting
      	XEXP to be stack_pointer_rtx.
      
      From-SVN: r186623
      Jakub Jelinek committed
    • tree-ssa-copy.c (propagate_tree_value_into_stmt): Use update_call_from_tree when… · faaf273b
      tree-ssa-copy.c (propagate_tree_value_into_stmt): Use update_call_from_tree when propagating into a call.
      
      2012-04-20  Richard Guenther  <rguenther@suse.de>
      
      	* tree-ssa-copy.c (propagate_tree_value_into_stmt): Use
      	update_call_from_tree when propagating into a call.
      
      	* g++.dg/torture/20120420-1.C: New testcase.
      
      From-SVN: r186622
      Richard Guenther committed
    • rs6000.c (rs6000_emit_savres_rtx): Formatting. · a51e5fa2
      	* config/rs6000/rs6000.c (rs6000_emit_savres_rtx): Formatting.
      	(rs6000_emit_prologue, rs6000_emit_epilogue): Likewise.  Rename
      	sp_offset to frame_off.  Move world save code earlier.
      
      From-SVN: r186621
      Alan Modra committed
    • re PR c++/53050 (ssa_forward_propagate_and_combine: segmentation fault) · 4cbc836e
      2012-04-20  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/53050
      	* tree-ssa-forwprop.c (ssa_forward_propagate_and_combine):
      	Do only one transform on COND_EXPRs at the same time.
      
      From-SVN: r186620
      Richard Guenther committed
    • * symtab.c (dump_symtab_base): Revert accidental checkin. · efb496b5
      From-SVN: r186619
      Jan Hubicka committed
    • re PR libstdc++/53052 ([C++11] is_explicitly_convertible still part of <type_traits> header) · aa5889c3
      2012-04-20  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR libstdc++/53052
      	* include/std/type_traits (is_explicitly_convertible): Remove.
      	* testsuite/20_util/is_explicitly_convertible: Likewise.
      	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
      	Adjust dg-error line numbers.
      	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
      	Likewise.
      	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
      
      From-SVN: r186618
      Paolo Carlini committed
    • re PR libstdc++/53052 ([C++11] is_explicitly_convertible still part of <type_traits> header) · b4989a1a
      2012-04-20  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR libstdc++/53052
      	* include/std/type_traits (is_explicitly_convertible): Remove.
      	* testsuite/20_util/is_explicitly_convertible: Likewise.
      	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
      	Adjust dg-error line numbers.
      	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
      	Likewise.
      	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
      
      From-SVN: r186617
      Paolo Carlini committed
    • re PR target/53040 (nested functions may trash floating point registers) · 7153fab9
      	PR target/53040
      	* config/rs6000/rs6000.c (rs6000_savres_strategy): When using
      	static chain, set REST_INLINE_FPRS too.
      
      From-SVN: r186616
      Alan Modra committed
    • tree-dump.c (dequeue_and_dump): Dump the three child nodes. · 4e0bd6d3
      gcc/
      	* tree-dump.c (dequeue_and_dump) <BIT_FIELD_REF>: Dump the three child
      	nodes.
      
      From-SVN: r186615
      Thomas Schwinge committed
    • tree-vect-loop.c (vect_analyze_loop_operations): Do not vectorize loops that can… · 552fd8e6
      tree-vect-loop.c (vect_analyze_loop_operations): Do not vectorize loops that can never run more often than the vectorization factor.
      
      2012-04-20  Richard Guenther  <rguenther@suse.de>
      
      	* tree-vect-loop.c (vect_analyze_loop_operations): Do not
      	vectorize loops that can never run more often than the
      	vectorization factor.
      
      From-SVN: r186614
      Richard Guenther committed
    • struct siginfo vs. siginfo_t · 1bde7dab
      libgcc/
      	* config/alpha/linux-unwind.h (alpha_fallback_frame_state): Use
      	siginfo_t instead of struct siginfo.
      	* config/bfin/linux-unwind.h (bfin_fallback_frame_state): Likewise.
      	* config/i386/linux-unwind.h (x86_fallback_frame_state): Likewise.
      	* config/ia64/linux-unwind.h (ia64_fallback_frame_state)
      	(ia64_handle_unwabi): Likewise.
      	* config/mips/linux-unwind.h (mips_fallback_frame_state): Likewise.
      	* config/pa/linux-unwind.h (pa32_fallback_frame_state): Likewise.
      	* config/sh/linux-unwind.h (shmedia_fallback_frame_state)
      	(sh_fallback_frame_state): Likewise.
      	* config/tilepro/linux-unwind.h (tile_fallback_frame_state): Likewise.
      	* config/xtensa/linux-unwind.h (xtensa_fallback_frame_state): Likewise.
      
      From-SVN: r186610
      Thomas Schwinge committed
    • * symtab.c (dump_symtab_base): Fix dumping of asm lists. · fe0bd630
      From-SVN: r186609
      Jan Hubicka committed
    • runtime: Ignore stack sizes when deciding when to GC. · 8a724175
      Also allocate heap bitmaps bit in page size units and clear
      context when putting G structures on free list.
      
      From-SVN: r186607
      Ian Lance Taylor committed
    • Daily bump. · f7613be5
      From-SVN: r186604
      GCC Administrator committed
  2. 19 Apr, 2012 14 commits
  3. 18 Apr, 2012 10 commits
    • fix accidentally checked-in assert. · 809e5f82
      From-SVN: r186580
      Steven Bosscher committed
    • targhooks.c (default_case_values_threshold): Fix code style nit. · 0cd2402d
      gcc/
      	* targhooks.c (default_case_values_threshold): Fix code style nit.
      
      	* stmt.c (add_case_node, expand_case): Move logic to remove/reduce
      	case range and type folding from here...
      	* gimplify.c (gimplify_switch_expr): ... to here.  Expect NULL_TREE
      	type, as documented in tree.def
      
      fortran/
      	* trans-decl.c (gfc_trans_entry_master_switch): Build SWITCH_EXPR
      	with NULL_TREE type instead of void_type_node.
      	* trans-io.c (io_result): Likewise.
      	* trans-stmt.c (gfc_trans_integer_select,
      	gfc_trans_character_select): Likewise.
      
      go/
      	* go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR
      	with NULL_TREE type instead of void_type_node.
      
      From-SVN: r186579
      Steven Bosscher committed
    • cgraph.h (verify_symtab, [...]): Declare. · 474ffc72
      	* cgraph.h (verify_symtab, verify_symtab_node, verify_symtab_base):
      	Declare.
      	* cgraphunit.c (verify_cgraph_node): Verify symtab base; do not verify 
      	cgraph hash and same comdat groups.
      	(cgraph_optimize); Verify symbol table.
      	* ipa.c (cgraph_remove_unreachable_nodes): Verify symbol table.
      	(dissolve_same_comdat_group_list): Work on symtab nodes.
      	(function_and_variable_visibility): Dissolve variable same comdat group
      	lists, too.
      	* symtab.c: Include timevar.h
      	(verify_symtab_base, verify_symtab_node, verify_symtab): New functions.
      
      From-SVN: r186578
      Jan Hubicka committed
    • tree-switch-conversion.c (info): Remove global pass info. · fade902a
      	* tree-switch-conversion.c (info): Remove global pass info.
      	(check_range, check_process_case, check_final_bb, create_temp_arrays,
      	free_temp_arrays, gather_default_values, build_constructors,
      	array_value_type, build_one_array, build_arrays, gen_def_assigns,
      	fix_phi_nodes, gen_inbound_check): Pass info around from ...
      	(process_switch): ... here.  Unify message format.  Return a const
      	char pointer to the failure reason message.
      	(do_switchconv): Unify message format.  Update process_switch usage.
      
      From-SVN: r186576
      Steven Bosscher committed
    • tree.def (CASE_LABEL_EXPR): Fix documentation, mention all operands. · 308e3ba6
      	* tree.def (CASE_LABEL_EXPR): Fix documentation, mention all operands.
      	* tree-cfg.c (edge_to_cases): Fix documentation.
      
      From-SVN: r186575
      Steven Bosscher committed
    • sync.md (fetchop_name): Change ior attribute to "or". · 27dd0a95
      	* config/alpha/sync.md (fetchop_name): Change ior attribute to "or".
      
      From-SVN: r186572
      Uros Bizjak committed
    • re PR tree-optimization/52976 (Revision 186384 breaks the polyhedron tests… · b59eee40
      re PR tree-optimization/52976 (Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math)
      
      gcc:
      
      2012-04-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR tree-optimization/52976
      	* tree-ssa-reassoc.c (add_to_ops_vec_max_rank): Delete.
      	(possibly_move_powi): New function.
      	(rewrite_expr_tree): Call possibly_move_powi.
      	(rewrite_expr_tree_parallel): Likewise.
      	(attempt_builtin_powi): Change call of add_to_ops_vec_max_rank to
      	call add_to_ops_vec instead.
      
      
      gcc/testsuite:
      
      2012-04-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR tree-optimization/52976
      	gfortran.dg/reassoc_11.f: New test.
      
      From-SVN: r186568
      Bill Schmidt committed
    • re PR tree-optimization/52976 (Revision 186384 breaks the polyhedron tests… · c2723bde
      re PR tree-optimization/52976 (Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math)
      
      gcc:
      
      2012-04-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR tree-optimization/52976
      	* tree-ssa-reassoc.c (stmt_is_power_of_op): New function.
      	(decrement_power): Likewise.
      	(propagate_op_to_single_use): Likewise.
      	(zero_one_operation): Handle __builtin_pow* calls in linearized
      	expression trees; factor logic into propagate_op_to_single_use.
      	(undistribute_ops_list): Allow operands with repeat counts > 1.
      
      
      gcc/testsuite:
      
      2012-04-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR tree-optimization/52976
      	gfortran.dg/reassoc_7.f: New test.
      	gfortran.dg/reassoc_8.f: Likewise.
      	gfortran.dg/reassoc_9.f: Likewise.
      	gfortran.dg/reassoc_10.f: Likewise.
      
      From-SVN: r186567
      Bill Schmidt committed
    • re PR tree-optimization/44688 (Excessive code-size growth at -O3) · 03fd03d5
      2012-04-18  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/44688
      	* cfgloop.h (record_niter_bound): Declare.
      	* tree-ssa-loop-niter.c (record_niter_bound): Export.
      	Update the estimation with the upper bound here...
      	(estimate_numbers_of_iterations_loop): ... instead of here.
      	Do not forcefully reset a recorded upper bound.
      	* tree-vect-loop-manip.c (vect_do_peeling_for_alignment):
      	Record the maximum number of loop iterations of the
      	prologue loop.
      
      From-SVN: r186566
      Richard Guenther committed
    • re PR c++/52422 ([C++11][SFINAE] Hard errors with void or arithmetic expressions) · 89fcabaf
      /cp
      2012-04-18  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/52422
      	* cp-tree.h (build_addr_func, decay_conversion,
      	get_member_function_from_ptrfunc,
      	build_m_component_ref, convert_member_func_to_ptr):
      	Add tsubst_flags_t parameter.
      	* typeck.c (cp_default_conversion): Add.
      	(decay_conversion, default_conversion,
      	get_member_function_from_ptrfunc, convert_member_func_to_ptr):
      	Add tsubst_flags_t parameter and use it throughout.
      	(cp_build_indirect_ref, cp_build_array_ref,
      	cp_build_function_call_vec, convert_arguments, build_x_binary_op,
      	cp_build_binary_op, cp_build_unary_op, build_reinterpret_cast_1,
      	build_const_cast_1, expand_ptrmemfunc_cst,
      	convert_for_initialization): Adjust.
      	* init.c (build_vec_init): Adjust.
      	* decl.c (grok_reference_init, get_atexit_node): Likewise.
      	* rtti.c (build_dynamic_cast_1, tinfo_base_init): Likewise.
      	* except.c (build_throw): Likewise.
      	* typeck2.c (build_x_arrow): Likewise.
      	(build_m_component_ref): Add tsubst_flags_t parameter and
      	use it throughout.
      	* pt.c (convert_nontype_argument): Adjust.
      	* semantics.c (finish_asm_stmt, maybe_add_lambda_conv_op): Likewise.
      	* decl2.c (build_offset_ref_call_from_tree): Likewise.
      	* call.c (build_addr_func): Add tsubst_flags_t parameter and
      	use it throughout.
      	(build_call_a, build_conditional_expr_1, build_new_op_1,
      	convert_like_real, convert_arg_to_ellipsis, build_over_call,
      	build_special_member_call): Adjust.
      	* cvt.c (cp_convert_to_pointer, force_rvalue,
      	build_expr_type_conversion): Likewise.
      
      /testsuite
      2012-04-18  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/52422
      	* g++.dg/cpp0x/sfinae33.C: New.
      	* g++.dg/cpp0x/sfinae34.C: Likewise.
      
      From-SVN: r186565
      Paolo Carlini committed