1. 30 Aug, 2008 6 commits
    • recog.c (split_insn): Consider attaching a REG_EQUAL note to the final insn of a split. · a2a92083
      gcc/
      	* recog.c (split_insn): Consider attaching a REG_EQUAL note to the
      	final insn of a split.
      
      From-SVN: r139802
      Richard Sandiford committed
    • parse.c (parse_interface): Silence uninitialized var warning. · 8bcf15f6
      
      	* parse.c (parse_interface): Silence uninitialized var warning.
      
      	* postreload-gcse.c (gate_handle_gcse2): Disable for functions
      	optimized for speed.
      	* final.c (compute_alignments): Use optimize_bb_for_size_p.
      	* tree-call-cdce.c (gate_call_cdce): Use optimize_function_for_speed_p.
      	* opts.c (flag_predictive_commoning_set, flag_unswitch_loops_set,
      	flag_gcse_after_reload_set): New static vars.
      	(common_handle_option): Enable those flags for profile-use.
      	(decode_options): Remove optimize_size flags that are handled
      	on higher granuality.
      	* tree-vectorizer.c (vectorize_loops): Use
      	optimize_loop_nest_for_speed_p.
      	* tree-ssa-pre.c (do_pre): Use optimize_function_for_speed_p.
      	* tree-predcom.c (tree_predictive_commoning): Use
      	optimize_loop_for_speed_p.
      	* varasm.c (assemble_start_function): Use optimize_function_for_speed_p.
      	* bb-reorder.c (rest_of_handle_reorder_blocks): Likewise.
      	* predict.c (optimize_loop_for_speed_p): Fix walk.
      
      From-SVN: r139801
      Jan Hubicka committed
    • ipa-inline.c (cgraph_estimate_growth): Discover self recursive functions. · 76718c16
      
      	* ipa-inline.c (cgraph_estimate_growth): Discover self recursive
      	functions.
      	(cgraph_decide_inlining_of_small_function): Use edge->count to detect
      	profile presence locally.
      
      From-SVN: r139800
      Jan Hubicka committed
    • Make-lang.in: Allow s-oscons.{o,ali} to be built even without a separate libada directory. · 21bacb7e
      2008-08-30  Thomas Quinot  <quinot@adacore.com>
      
          gcc/ada/
      	* gcc-interface/Make-lang.in: Allow s-oscons.{o,ali} to
      	be built even without a separate libada directory.
      
      From-SVN: r139799
      Thomas Quinot committed
    • Implement C++0x 'auto' semantics. · 86a09a9e
              * decl.c (start_decl_1): Don't complain about auto being incomplete.
              (cp_finish_decl): Deduce auto.
              * init.c (build_new): Handle 'new auto'.
              * typeck2.c (cxx_incomplete_type_diagnostic): Give a different
              message for auto than for normal template type parms.
              * pt.c (type_dependent_expression_p): Handle { }.
              (make_auto): New function.
              (listify_autos): New function.
              (do_auto_deduction): New function.
              (is_auto): New function.
              (type_uses_auto): New function.
              * cp-tree.h: Declare them.
              * parser.c (cp_parser_decl_specifier_seq): In C++0x mode, don't
              treat auto as a declspec.
              (cp_parser_simple_type_specifier): It's a type-specifier.
      
      From-SVN: r139798
      Jason Merrill committed
    • Daily bump. · b3914aa3
      From-SVN: r139795
      GCC Administrator committed
  2. 29 Aug, 2008 34 commits
    • re PR bootstrap/37086 (GCC 3.4 miscompiles trunk (for cross compiling)) · 109e637b
      	PR bootstrap/37086
      	* tree-vrp.c (find_switch_asserts): Make idx volatile for GCC
      	versions before 4.0.
      
      From-SVN: r139792
      Joseph Myers committed
    • mangle.c (write_type): Add target-specific manglings for non-fundamental types… · 3852d2be
      mangle.c (write_type): Add target-specific manglings for non-fundamental types to the substitution table.
      
      	* mangle.c (write_type): Add target-specific manglings for
      	non-fundamental types to the substitution table.
      
      	* g++.dg/abi/mangle-neon.C: Add substitution test.
      
      From-SVN: r139791
      Mark Mitchell committed
    • tree-inline.c (insert_init_stmt): Insert sequence even when not in SSA form. · e7119705
      
      	* tree-inline.c (insert_init_stmt): Insert sequence even when
      	not in SSA form.
      
      From-SVN: r139790
      Jan Hubicka committed
    • mn10300.c (mn10300_secondary_reload_class): We need secondary reloads for AM33-2… · 6528281d
      mn10300.c (mn10300_secondary_reload_class): We need secondary reloads for AM33-2 if IN is a pseudo with an equivalent...
      
      	* mn10300.c (mn10300_secondary_reload_class): We need secondary
      	reloads for AM33-2 if IN is a pseudo with an equivalent memory
      	location and class is an FP register.
      
      From-SVN: r139789
      Jeff Law committed
    • see.c (see_merge_one_def_extension): Silence used uninitialized warning. · 041f300d
      	* see.c (see_merge_one_def_extension): Silence used uninitialized warning.
      	* matrix-reorg.c (check_allocation_function): Likewise.
      	* config/i386/driver-i386.c (detect_caches_amd): Likewise.
      	
      	* parse.c (parse_interface): Likewise.
      
      From-SVN: r139788
      Jan Hubicka committed
    • re PR middle-end/37261 (Spurious (?) "integer overflow in expression" warnings) · bf09f0e0
      	PR c/37261
      	* fold-const.c (fold_binary): In (X | C1) & C2 canonicalization
      	compute new & and | in type rather than TREE_TYPE (arg0).
      
      	* gcc.dg/pr37261.c: New test.
      
      From-SVN: r139784
      Jakub Jelinek committed
    • dwarf2out.c (fortran_common): Update comment. · 98c0cbd3
      	* dwarf2out.c (fortran_common): Update comment.
      	(gen_variable_die): Swap com_die and var_die variables in Fortran
      	COMMON block handling code.
      
      From-SVN: r139783
      Jakub Jelinek committed
    • dwarf2out.c (descr_info_loc): Handle VAR_DECL. · de870512
      	* dwarf2out.c (descr_info_loc): Handle VAR_DECL.
      
      	* trans.h (struct lang_type): Add span.
      	(GFC_TYPE_ARRAY_SPAN): Define.
      	* trans-decl.c (gfc_get_symbol_decl): For subref array pointers,
      	copy TREE_STATIC from decl to span instead of setting it
      	unconditionally, set DECL_ARTIFICIAL, fix type of initializer
      	and set GFC_TYPE_ARRAY_SPAN on decl's type.
      	* trans-types.c (gfc_get_array_descr_info): If
      	GFC_TYPE_ARRAY_SPAN is non-NULL, use it as element size.
      
      From-SVN: r139782
      Jakub Jelinek committed
    • dwarf2out.c (gen_const_die): New function. · bd11e37d
      	* dwarf2out.c (gen_const_die): New function.
      	(size_of_die, value_format, output_die): Output larger
      	dw_val_class_vec using DW_FORM_block2 or DW_FORM_block4.
      	(native_encode_initializer): New function.
      	(tree_add_const_value_attribute): Call it.
      	(gen_decl_die, dwarf2out_decl): Handle CONST_DECLs if is_fortran ().
      
      	* trans-decl.c (check_constant_initializer,
      	gfc_emit_parameter_debug_info): New functions.
      	(gfc_generate_module_vars, gfc_generate_function_code): Emit
      	PARAMETERs and unreferenced variables with initializers into
      	debug info.
      
      From-SVN: r139781
      Jakub Jelinek committed
    • gfortran.h (gfc_use_list): Add where field. · 9268ba9a
      	* gfortran.h (gfc_use_list): Add where field.
      	* module.c (use_locus): New static variable.
      	(gfc_match_use): Set it.
      	(gfc_use_module): Copy it to gfc_use_list's where field.
      	* trans-decl.c (gfc_generate_module_vars): Call gfc_trans_use_stmts.
      	(gfc_trans_use_stmts): Set backend locus before calling the debug
      	hook.  Allow non-VAR_DECLs to be created even for non-external
      	module.  Don't emit anything so far for renames from different
      	modules.
      
      From-SVN: r139780
      Jakub Jelinek committed
    • dwarf2out.c (gen_formal_parameter_die, [...]): For DECL_BY_REFERENCE decls don't… · f51d8f1a
      dwarf2out.c (gen_formal_parameter_die, [...]): For DECL_BY_REFERENCE decls don't pass TREE_READONLY and TREE_THIS_VOLATILE to...
      
      	* dwarf2out.c (gen_formal_parameter_die, gen_variable_die): For
      	DECL_BY_REFERENCE decls don't pass TREE_READONLY and
      	TREE_THIS_VOLATILE to add_type_attribute.
      
      From-SVN: r139779
      Jakub Jelinek committed
    • dwarf2out.c (add_subscript_info): Stop on Fortran TYPE_STRING_FLAG types. · b6b904bd
      	* dwarf2out.c (add_subscript_info): Stop on Fortran TYPE_STRING_FLAG
      	types.
      	(gen_array_type_die): Emit DW_TAG_string_type for Fortran character
      	types.
      
      From-SVN: r139778
      Jakub Jelinek committed
    • re PR fortran/24790 (arguments are displayed as reference or pointer to normal type in GDB) · 714495cd
      	PR fortran/24790
      	* trans-decl.c (create_function_arglist): Set DECL_BY_REFERENCE on
      	PARM_DECLs with pointer or reference type.
      
      From-SVN: r139777
      Jakub Jelinek committed
    • dwarf2out.c (loc_by_reference): New function. · 2599ed92
      	* dwarf2out.c (loc_by_reference): New function.
      	(add_location_or_const_value_attribute): Use it.
      
      From-SVN: r139776
      Jakub Jelinek committed
    • re PR fortran/23057 (Fortran common blocks are not described with DW_TAG_common_block) · 04e74e02
      	PR fortran/23057
      	* dwarf2out.c (gen_variable_die): Represent Fortran COMMON vars
      	as DW_TAG_variable children of DW_TAG_common_block rather than
      	DW_TAG_member children.  Put DW_AT_external to individual
      	DW_TAG_variable DIEs, not to DW_TAG_common_block.
      
      	* gfortran.dg/debug/pr35154-dwarf2.f: Adjust for replacement
      	of DW_TAG_member with DW_TAG_variable.
      
      From-SVN: r139775
      Jakub Jelinek committed
    • trans-decl.c (gfc_build_qualified_array): Build non-flat array type for debug info purposes. · 25c29c56
      	* trans-decl.c (gfc_build_qualified_array): Build non-flat
      	array type for debug info purposes.
      
      	* dwarf2out.c (add_bound_info): If lookup_decl_die failed, try
      	loc_descriptor_from_tree_1.
      
      From-SVN: r139774
      Jakub Jelinek committed
    • re PR fortran/29635 (debug info of modules) · a64f5186
      	PR fortran/29635
      	PR fortran/23057
      	* debug.h (struct gcc_debug_hooks): Add NAME and CHILD
      	arguments to imported_module_or_decl.
      	(debug_nothing_tree_tree): Removed.
      	(debug_nothing_tree_tree_tree_bool): New prototype.
      	* debug.c (do_nothing_debug_hooks): Adjust.
      	(debug_nothing_tree_tree): Removed.
      	(debug_nothing_tree_tree_tree_bool): New function.
      	* dwarf2out.c (is_symbol_die): Handle DW_TAG_module.
      	(gen_variable_die): Put all common vars for the
      	same COMMON block under one DW_TAG_common_block.
      	(declare_in_namespace): Return new context_die, for Fortran
      	return the module DIE instead of adding extra declarations into
      	the namespace.
      	(gen_type_die_with_usage): Adjust declare_in_namespace caller.
      	(gen_namespace_die): If is_fortran (), generate DW_TAG_module
      	instead of DW_TAG_namespace.  If DECL_EXTERNAL is set, add
      	DW_AT_declaration.
      	(dwarf2out_global_decl): Don't skip Fortran global vars.
      	(gen_decl_die): Likewise.  Adjust declare_in_namespace callers.
      	(dwarf2out_imported_module_or_decl): Add NAME and CHILD arguments.
      	If NAME is non-NULL, add DW_AT_name.  If CHILD is non-NULL, put
      	DW_TAG_imported_declaration as child of previous
      	DW_TAG_imported_module.
      	* dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Adjust.
      	* sdbout.c (sdb_debug_hooks): Likewise.
      	* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
      
      	* name-lookup.c (do_using_directive, cp_emit_debug_info_for_using):
      	Adjust debug_hooks->imported_module_or_decl callers.
      
      	* f95-lang.c (gfc_init_ts): New function.
      	(LANG_HOOKS_INIT_TS): Define.
      	* gfortran.h (gfc_use_rename): New type, moved from module.c.
      	(gfc_get_use_rename): New macro, moved from module.c.
      	(gfc_use_list): New type.
      	(gfc_get_use_list): New macro.
      	(gfc_namespace): Add use_stmts field.
      	(gfc_free_use_stmts): New prototype.
      	* Make-lang.in (fortran/trans-decl.o): Depend on debug.h.
      	* module.c (gfc_use_rename, gfc_get_use_rename): Moved to
      	gfortran.h.
      	(gfc_use_module): Chain the USE statement info to
      	ns->use_stmts.
      	(gfc_free_use_stmts): New function.
      	* symbol.c (gfc_free_namespace): Call gfc_free_use_stmts.
      	* trans.h (struct module_htab_entry): New type.
      	(gfc_find_module, gfc_module_add_decl): New functions.
      	* trans.c (gfc_generate_module_code): Create NAMESPACE_DECL for
      	the module, adjust DECL_CONTEXTs of module procedures and
      	call gfc_module_add_decl for them.
      	* trans-common.c (build_common_decl): Set DECL_IGNORED_P
      	on the common variable.
      	(create_common): Set DECL_IGNORED_P for use associated vars.
      	* trans-decl.c: Include debug.h.
      	(gfc_get_symbol_decl): Set DECL_IGNORED_P on use_assoc vars from
      	modules.
      	(build_function_decl): Allow current_function_decl's context
      	to be a NAMESPACE_DECL.
      	(module_htab, cur_module): New variables.
      	(module_htab_do_hash, module_htab_eq, module_htab_decls_hash,
      	module_htab_decls_eq, gfc_find_module, gfc_module_add_decl): New
      	functions.
      	(gfc_create_module_variable): Adjust DECL_CONTEXTs of module
      	variables and types and call gfc_module_add_decl for them.
      	(gfc_generate_module_vars): Temporarily set cur_module.
      	(gfc_trans_use_stmts): New function.
      	(gfc_generate_function_code): Call it.
      	(gfc_generate_block_data): Set DECL_IGNORED_P on decl.
      	* trans-types.c (gfc_get_derived_type): Adjust DECL_CONTEXT
      	and TYPE_CONTEXT of module derived types.
      
      From-SVN: r139773
      Jakub Jelinek committed
    • cgraph.c (cgraph_remove_node): Do not remove nested nodes. · ca30a539
      
      	* cgraph.c (cgraph_remove_node): Do not remove nested nodes.
      
      	* cgraph.h (cgraph_maybe_hot_edge_p): Declare.
      	* ipa-cp.c (n_cloning_candidates): New static variable.
      	(ipcp_print_profile_data, ipcp_function_scale_print): Forward declare.
      	(ipcp_print_all_lattices): Improve debug output.
      	(ipcp_cloning_candidate_p): New function.
      	(ipcp_initialize_node_lattices): Use it.
      	(ipcp_init_stage): Do only analyzis here; prettier debug output.
      	(ipcp_propagate_stage): Prettier debug output.
      	(ipcp_iterate_stage): Initialize latices here; prettier debug output.
      	(ipcp_print_all_structures): Remove.
      	(ipcp_need_redirect_p): Test !n_cloning_candidates.
      	(ipcp_insert_stage): Prettier debug output; call
      	cgraph_remove_unreachable_nodes before propagating.
      	(pass_ipa_cp): Schedule function removal pass.
      	* ipa-inline.c (inline_indirect_intraprocedural_analysis): Better
      	debug output.
      	(cgraph_maybe_hot_edge_p): Move to ...
      	* predict.c (cgraph_maybe_hot_edge_p) ... here.
      	* opts.c (flag_ipa_cp_set, flag_ipa_cp_clone_set): New.
      	(common_handle_option): Set them; enable ipa-cp when profiling.
      	* ipa-prop.c (ipa_print_node_jump_functions): Prettier output.
      	(ipa_print_all_jump_functions): Likewise.
      	(ipa_print_all_tree_maps, ipa_print_node_param_flags): Remove.
      	(ipa_print_node_params, ipa_print_all_params): New.
      	* ipa-prop.h (ipa_print_all_tree_maps, ipa_print_node_param_flags,
      	ipa_print_all_param_flags): Remove.
      	(ipa_print_node_params, ipa_print_all_params): New.
      
      From-SVN: r139772
      Jan Hubicka committed
    • xtensa.c (xtensa_secondary_reload_class): Revert change from 2008-04-03. · a1f626ad
      	* config/xtensa/xtensa.c (xtensa_secondary_reload_class): Revert
      	change from 2008-04-03.
      	* config/xtensa/xtensa.h (IRA_COVER_CLASSES): Define.
      
      From-SVN: r139771
      Bob Wilson committed
    • re PR rtl-optimization/37251 (ICE with ira: delete_allocno_from_bucket) · d7f2c74e
      2008-08-29  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-opt/37251
      
      	* ira-color.c (push_allocnos_to_stack): Truncate
      	removed_splay_allocno_vec.
      
      From-SVN: r139770
      Vladimir Makarov committed
    • re PR middle-end/37243 (IRA causes wrong code generation) · 03dd10d8
      2008-08-29  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-opt/37243
      	* ira-color (ira_fast_allocation): Don't assign hard registers to
      	global allocnos.
      
      From-SVN: r139769
      Vladimir Makarov committed
    • re PR middle-end/37278 (Revision 139760 causes many failures) · c16eb95f
      
      	PR middle-end/37278
      	* predict.c (optimize_loop_nest_for_speed_p): Do not ICE
      	for cold internal loops.
      
      From-SVN: r139768
      Jan Hubicka committed
    • Makefile.in (FLAGS_TO_PASS): renamed to LIBADA_FLAGS_TO_PASS to avoid conflicts. · f62b28a9
      2008-08-29  Laurent Guerby  <laurent@guerby.net>
      	
      	* Makefile.in (FLAGS_TO_PASS): renamed to LIBADA_FLAGS_TO_PASS to
      	avoid conflicts. Factor more flags to pass.
      	(libsubdir): New variable.
      	(install-gnatlib): New target.
      
      From-SVN: r139767
      Laurent GUERBY committed
    • ipa-1.c: Fix template for better debug output. · b1d78dfc
      	* gcc.dg/ipa/ipa-1.c: Fix template for better debug output.
      	* gcc.dg/ipa/ipa-2.c: Fix template for better debug output.
      	* gcc.dg/ipa/ipa-3.c: Fix template for better debug output.
      	* gcc.dg/ipa/ipa-4.c: Fix template for better debug output.
      	* gcc.dg/ipa/ipa-5.c: Fix template for better debug output.
      	* gcc.dg/ipa/ipa-7.c: Fix template for better debug output.
      
      From-SVN: r139766
      Jan Hubicka committed
    • tree-ssa-structalias.c (create_variable_info_for): Do not create fields for heap… · 13c6bff4
      tree-ssa-structalias.c (create_variable_info_for): Do not create fields for heap vars or vars with a noalias state.
      
      2008-08-29  Richard Guenther  <rguenther@suse.de>
      
      	* tree-ssa-structalias.c (create_variable_info_for): Do not
      	create fields for heap vars or vars with a noalias state.
      	For NO_ALIAS_ANYTHING variables add a self-constraint, not one
      	from ESCAPED.
      
              * gfortran.fortran-torture/compile/20080806-1.f90: New testcase.
      
      From-SVN: r139765
      Richard Guenther committed
    • common.opt (ftree-store-ccp): Mark as preserved for backward compatibility. · dce2b2f6
      2008-08-29  Richard Guenther  <rguenther@suse.de>
      
      	* common.opt (ftree-store-ccp): Mark as preserved for
      	backward compatibility.
      	* doc/invoke.texi (-ftree-store-ccp): Remove documentation.
      	* tree-pass.h (pass_store_ccp): Remove.
      	* tree-ssa-propagate.h (struct prop_value_d): Remove mem_ref field.
      	(first_vdef): Remove declaration.
      	(get_value_loaded_by): Likewise.
      	* tree-ssa-ccp.c (do_store_ccp): Remove.
      	(get_default_value): Simplify as do_store_ccp is always false
      	now.  Do not initialize mem_ref.
      	(set_value_varying): Likewise.
      	(canonicalize_float_value): Likewise.
      	(set_lattice_value): Likewise.
      	(likely_value): Likewise.
      	(surely_varying_stmt_p): Likewise.
      	(ccp_initialize): Likewise.
      	(ccp_lattice_meet): Likewise.
      	(ccp_visit_phi_node): Likewise.
      	(ccp_fold): Likewise.
      	(evaluate_stmt): Likewise.
      	(visit_assignment): Likewise.
      	(ccp_visit_stmt): Likewise.
      	(execute_ssa_ccp): Fold into ...
      	(do_ssa_ccp): ... this.
      	(do_ssa_store_ccp): Remove.
      	(gate_store_ccp): Likewise.
      	(pass_store_ccp): Likewise.
      	* tree-ssa-copy.c (copy_prop_visit_phi_node): Do not
      	initialize mem_ref.
      	* tree-ssa-propagate.c (first_vdef): Remove.
      	(get_value_loaded_by): Likewise.
      	(replace_vuses_in): Likewise.
      	(substitute_and_fold): Do not call replace_vuses_in.
      	* opts.c (decode_options): Do not set flag_tree_store_ccp.
      
      From-SVN: r139764
      Richard Guenther committed
    • re PR middle-end/37236 (ICE: in mark_operand_necessary, at tree-ssa-dce.c:242) · 443aa7d5
      2008-08-29  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/37236
      	* tree-ssa-structalias.c (intra_create_variable_infos): Mark
      	PARAM_NOALIAS tags with is_heapvar.
      	* tree-ssa-operands.c (access_can_touch_variable): Offset
      	based tests do not apply for heapvars.  Fix offset test.
      
      	* gfortran.fortran-torture/compile/pr37236.f: New testcase.
      
      From-SVN: r139763
      Richard Guenther committed
    • invoke.texi (-fipa-cp): Enabled by default at -O2/-Os/-O3 · fcbe056b
      
      	* doc/invoke.texi (-fipa-cp): Enabled by default at -O2/-Os/-O3
      	(-fipa-cp-clone): Enabled by default at -O3.
      	* opts.c (decode_options): Enable ipa-cp at -O2, ipa-cp-clone at -O3;
      	make ipa-cp-clone to imply ipa-cp; disable cloning at -Os.
      
      From-SVN: r139762
      Jan Hubicka committed
    • tree.c (build_function_type_skip_args, [...]): New functions. · c6f7cfc1
      	* tree.c (build_function_type_skip_args, build_function_decl_skip_args):
      	New functions.
      	* tree.h (build_function_type_skip_args, build_function_decl_skip_args):
      	Declare.
      	* gimple.c (giple_copy_call_skip_args): New function.
      	(giple_copy_call_skip_args): Declare.
      
      	* cgraph.h (cgraph_function_versioning): Add skip_args arugmnet
      	* ipa-cp.c (ipcp_node_not_modifiable_p): Rename to ...
      	(ipcp_node_modifiable_p): ... this one; use tree_versionable_function_p.
      	(ipcp_create_replace_map): Improve debug output.
      	(ipcp_need_redirect_p): Return false when not clonning.
      	(ipcp_update_callgraph): Skip args.
      	(ipcp_insert_stage): UPdate call of !ipcp_node_modifiable_p;
      	skip args.
      	* cgraphunit.c (cgraph_function_versioning): Add skip_args argument.
      	(save_inline_function_body): Update call of tree_function_versioning.
      	* ipa-prop.c (ipa_edge_removal_hook): Do not ICE on unanalyzed nodes.
      	* tree-inline.c (copy_arguments_for_versioning): Add skip_args argument.
      	(tree_function_versioning): Likewise.
      	* tree-inline.h (tree_function_versioning): Update prototype.
      
      From-SVN: r139761
      Jan Hubicka committed
    • loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. · efd8f750
      
      
      	* loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p.
      	* tree-ssa-threadupdate.c (mark_threaded_blocks): Use optimize_function_for_size_p.
      	* tracer.c (ignore_bb_p): Use optimize_bb_for_size_p.
      	* postreload-gcse.c (eliminate_partially_redundant_load): Use optimize_bb_for_size_p.
      	* value-prof.c (gimple_divmod_fixed_value_transform,
      	gimple_mod_pow2_value_transform, gimple_mod_subtract_transform,
      	gimple_stringops_transform): Use optimize_bb_for_size_p.
      	* ipa-cp.c (ipcp_insert_stage): Use optimize_function_for_size_p.
      	* final.c (compute_alignments): Use optimize_function_for_size_p.
      	* builtins.c (fold_builtin_cabs): Use optimize_function_for_speed_p.
      	(fold_builtin_strcpy, fold_builtin_fputs): Use
      	optimize_function_for_size_p.
      	* fold-const.c (tree_swap_operands_p): Use optimize_function_for_size_p.
      	* recog.c (relax_delay_slots): Likewise.
      	* tree-ssa-math-opts.c (replace_reciprocal): Use optimize_bb_for_speed_p.
      	(execute_cse_reciprocals): Use optimize_bb_for_size_p.
      	* ipa-inline.c (cgraph_decide_recursive_inlining): Use
      	optimize_function_for_size_p.
      	(cgraph_decide_inlining_of_small_function): Use
      	optimize_function_for_size_p.
      	* global.c (find_reg): Use optimize_function_for_size_p.
      	* opts.c (decode_options): Do not clear flag_tree_ch, flag_inline_functions,
      	flag_unswitch_loops, flag_unroll_loops, flag_unroll_all_loops and
      	flag_prefetch_loop_arrays. Those can work it out from profile.
      	* tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Use
      	optimize_loop_for_speed_p.
      	* predict.c (optimize_bb_for_size_p, optimize_bb_for_speed_p): Constify
      	argument.
      	(optimize_loop_nest_for_size_p, optimize_loop_nest_for_speed_p): New.
      	* tree-parloops.c (parallelize_loops): Use optimize_loop_for_size_p.
      	* tree-eh.c (decide_copy_try_finally): Use optimize_function_for_size_p.
      	* local-alloc.c (block_alloc): Pass BB pointer.
      	(find_free_reg): Add BB pointer, use optimize_bb_for_size_p.
      	* gcse.c (gcse_main): Use optimize_function_for_size_p.
      	* loop-unroll.c (decide_unrolling_and_peeling): Use optimize_loop_for_size_p.
      	(decide_peel_completely): Likewise.
      	* tree-vect-analyze.c (vect_mark_for_runtime_alias_test): Use
      	optimize_loop_for_size_p.
      	(vect_enhance_data_refs_alignment): Likewise.
      	* tree-ssa-coalesce.c (coalesce_cost): Add optimize_for_size argument.
      	(coalesce_cost_bb, coalesce_cost_edge, create_outofssa_var_map): Update call.
      	* cfgcleanup.c (outgoing_edges_match): Use optimize_bb_for_speed_p.
      	(try_crossjump_bb): Use optimize_bb_for_size_p.
      	* tree-ssa-loop-prefetch.c (loop_prefetch_arrays): Use
      	optimize_loop_for_speed_p.
      	* bb-reorder.c (find_traces_1_round): Likewise.
      	(copy_bb): Use optimize_bb_for_speed_p.
      	(duplicate_computed_gotos): Likewise.
      	* basic-block.h (optimize_loop_nest_for_size_p,
      	optimize_loop_nest_for_speed_p): New.
      	* stmt.c (expand_case): Use optimize_insn_for_size_p.
      
      From-SVN: r139760
      Jan Hubicka committed
    • gcov.c (main): Call expandargv. · e3536b82
      2008-08-29  Tristan Gingold  <gingold@adacore.com>
      
      	* gcov.c (main): Call expandargv.
      
      From-SVN: r139759
      Tristan Gingold committed
    • MAINTAINERS (Write after Approval): Add myself. · f873f15f
      2008-08-29  Tristan Gingold  <gingold@adacore.com>
      
      	* MAINTAINERS (Write after Approval): Add myself.
      
      From-SVN: r139757
      Tristan Gingold committed
    • tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Check that loop is not cold. · cc870036
      
      	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Check that loop
      	is not cold.
      	* predict.c (optimize_bb_for_size_p, optimize_bb_for_speed_p):
      	Constify arguments.
      	(optimize_loop_for_size_p, optimize_loop_for_speed_p): New functions.
      	* basic-block.h (optimize_bb_for_size_p, optimize_bb_for_speed_p):
      	Constify.
      	(optimize_loop_for_size_p, optimize_loop_for_speed_p): Declare.
      
      From-SVN: r139756
      Jan Hubicka committed
    • cp-gimplify.c (cp_gimplify_expr): Add PRED_CONTINUE heuristic. · 7299cb99
      
      	* cp-gimplify.c (cp_gimplify_expr): Add PRED_CONTINUE heuristic.
      	* tree-pass.h (pass_strip_predict_hints): Declare.
      	* predict.c (strip_builtin_expect): Rename to ...
      	(strip_predict_hints): ... this one; strip also GIMPLE_PREDICT.
      	(tree_bb_level_predictions): Do not remove GIMPLE_PREDICT.
      	(tree_estimate_probability): Do not strip builtin_expect.
      	(pass_strip_predict_hints): New pass.
      	* tree-inline.c (expand_call_inline): When inlining cold function, predict
      	it as unlikely.
      	* passes.c (init_optimization_passes): Add pass_strip_predict_hints.
      
      From-SVN: r139755
      Jan Hubicka committed