1. 31 Aug, 2008 20 commits
    • configure.ac (RPATH_ENVVAR): Use PATH on Windows. · d89f0ad6
      2008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
      
      	<toplevel>
      	* configure.ac (RPATH_ENVVAR): Use PATH on Windows.
      	(GCC_SHLIB_SUBDIR): New.
      	* Makefile.tpl (HOST_LIB_PATH_gcc): Use GCC_SHLIB_SUBDIR.
      	* configure: Regenerate.
      	* Makefile.in: Regenerate.
      
      	<gcc>
      	* mkmap-flat.awk: Add option pe_dll.
      	* config/i386/t-cygming (SHLIB_LINK): Support building libgcc_s.
      	* gcc/config/i386/t-cygwin (SHLIB_LC): Add.
      	* gcc/config/i386/t-mingw32 (SHLIB_LC): Add.
      	* config/i386/mingw32.h (SHARED_LIBGCC_UNDEFS_SPEC): New.
      	(SUBTARGET_EXTRA_SPECS): Use SHARED_LIBGCC_UNDEFS_SPEC.
      	(LINK_SPEC): Support libgcc_s.
      	(LIBGCC_SPEC): Support libgcc_s.
      	(LIBGCC_SONAME): New.
      
      	<libstdc++-v3>
      	* acinclude.m4 <enable_symvers>: Don't use symvers on Windows.
      	* configure: Regenerated.
      	* Makefile.in: Regenerated.
      	* src/Makefile.in: Regenerated.
      	* doc/makefile.in: Regenerated.
      	* po/Makefile.in: Regenerated.
      	* libmath/Makefile.in: Regenerated.
      	* include/Makefile.in: Regenerated.
      	* libsupc++/Makefile.in: Regenerated.
      	* testsuite/makefile.in: Regenerated.
      
      From-SVN: r139837
      Aaron W. LaFramboise committed
    • predict.c (maybe_hot_bb_p, [...]): Previous commit mistakely had old version of patch. · 3e196fa9
      	* predict.c (maybe_hot_bb_p, maybe_hot_edge_p): Previous commit
      	mistakely had old version of patch.
      
      From-SVN: r139836
      Jan Hubicka committed
    • ipa-cp.c (ipcp_need_original_clone_p): Remove. · a065d52e
      	* ipa-cp.c (ipcp_need_original_clone_p): Remove.
      	(ipcp_estimate_growth): New.
      	(ipcp_insert_stage): Use ipcp_estimate_growth.
      	* profile.c (branch_prob): When reading failed, do not consider
      	profile as read.
      
      From-SVN: r139835
      Jan Hubicka committed
    • tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Check that loop is optimized for speed. · 079990a2
      
      	* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Check that
      	loop is optimized for speed.
      
      From-SVN: r139834
      Jan Hubicka committed
    • re PR c/37271 (gcc.dg/pr37186.c doesn't work) · f885a45b
      2008-08-31  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c/37271
      	* gcc.dg/pr37186.c: Add dg-message command for line 5.
      
      From-SVN: r139833
      Paolo Carlini committed
    • trans-expr.c (gfc_trans_string_copy): Use the correct types to compute slen and dlen. · eb829078
      2008-08-31  Richard Guenther  <rguenther@suse.de>
      
      	* trans-expr.c (gfc_trans_string_copy): Use the correct types
      	to compute slen and dlen.
      
      From-SVN: r139832
      Richard Guenther committed
    • re PR middle-end/37289 (ICE after non-trivial conversion at assignment) · 2b2587f5
      2008-08-31  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/37289
      	* fold-const.c (fold_binary): Retain conversions in folding
      	~A + 1 to -A.
      
      	* gcc.dg/pr37289.c: New testcase.
      
      From-SVN: r139831
      Richard Guenther committed
    • postreload-gcse.c (eliminate_partially_redundant_loads): Use optimize_bb_for_size_p. · fb2fed03
      	* postreload-gcse.c (eliminate_partially_redundant_loads): Use optimize_bb_for_size_p.
      	* predict.c (maybe_hot_frequency_p): Make inline.
      	(maybe_hot_count_p): Break out from ...
      	(maybe_hot_bb_p): ... this one.
      	(maybe_hot_edge_p): Simplify.
      	* basic-block.h (probably_cold_bb_p): Remove.
      
      From-SVN: r139830
      Jan Hubicka committed
    • re PR target/37168 (ICE: in final_scan_insn, at final.c:2615 (altivec)) · 847535b6
      	PR target/37168
      	* config/rs6000/rs6000-protos.h (const_vector_elt_as_int): Add
      	prototype.
      	* config/rs6000/rs6000.c (const_vector_elt_as_int): No longer static.
      	* config/rs6000/altivec.md (easy_vector_constant_add_self splitter):
      	Also split V4SFmode.
      	* config/rs6000/predicates.md (easy_vector_constant_add_self): Handle
      	vector float modes.
      
      	* gcc.target/powerpc/pr37168.c: New test.
      
      From-SVN: r139828
      Jakub Jelinek committed
    • cold-attribute-1.c: New testcase. · 277b4867
      
      	* gcc.target/i386/cold-attribute-1.c: New testcase.
      	* gcc.target/i386/cold-attribute-2.c: New testcase.
      	* gcc.target/i386/cold-attribute-3.c: New testcase.
      	* gcc.target/i386/cold-attribute-4.c: New testcase.
      	* predict.c (PROB_VERY_LIKELY): Make small enough so things
      	become cold.
      	* predict.def (PRED_NORETURN_CALL, PRED_COLD_CALL): Use it.
      
      From-SVN: r139827
      Jan Hubicka committed
    • re PR debug/37287 (ICE (segfault) with new debugging patch) · 8518c095
      	PR debug/37287
      	* dwarf2out.c (gen_namespace_die): For DECL_EXTERNAL modules don't
      	add source coords.
      
      	* gfortran.dg/pr37287-1.f90: New test.
      	* gfortran.dg/pr37287-2.F90: New test.
      
      From-SVN: r139826
      Jakub Jelinek committed
    • dwarf2out.c (native_encode_initializer): Subtract min_index for non-range array index. · 08ab58b3
      	* dwarf2out.c (native_encode_initializer): Subtract min_index for
      	non-range array index.  Handle VIEW_CONVERT_EXPR and NON_LVALUE_EXPR.
      
      From-SVN: r139825
      Jakub Jelinek committed
    • sparc.h (BRANCH_COST): Fix macro definition. · 1f494b6d
      
      	* sparc.h (BRANCH_COST): Fix macro definition.
      	* avr.c (avr_operand_rtx_cost): Add speed argument.
      	(avr_rtx_costs): Update calls of avr_operand_rtx_cost.
      
      From-SVN: r139824
      Jan Hubicka committed
    • tree-cfg.c (verify_types_in_gimple_assign): Dump mismatched types instead of operands. · f5e85907
      2008-08-31  Richard Guenther  <rguenther@suse.de>
      
      	* tree-cfg.c (verify_types_in_gimple_assign): Dump mismatched
      	types instead of operands.  Re-instantiate verifying of
      	binary expression operands.
      
      From-SVN: r139823
      Richard Guenther committed
    • gfortran.h (enum gfc_statement): New entry `ST_GENERIC'. · e157f736
      2008-08-31  Daniel Kraft  <d@domob.eu>
      
      	* gfortran.h (enum gfc_statement): New entry `ST_GENERIC'.
      	(struct gfc_tbp_generic): New type.
      	(struct gfc_typebound_proc): Removed `target' and added union with
      	`specific' and `generic' members; new members `overridden',
      	`subroutine', `function' and `is_generic'.
      	(struct gfc_expr): New members `derived' and `name' in compcall union
      	member and changed type of `tbp' to gfc_typebound_proc.
      	(gfc_compare_interfaces), (gfc_compare_actual_formal): Made public.
      	* match.h (gfc_typebound_default_access): New global.
      	(gfc_match_generic): New method.
      	* decl.c (gfc_match_generic): New method.
      	(match_binding_attributes): New argument `generic' and handle it.
      	(match_procedure_in_type): Mark matched binding as non-generic.
      	* interface.c (gfc_compare_interfaces): Made public.
      	(gfc_compare_actual_formal): Ditto.
      	(check_interface_1), (compare_parameter): Use new public names.
      	(gfc_procedure_use), (gfc_search_interface): Ditto.
      	* match.c (match_typebound_call): Set base-symbol referenced.
      	* module.c (binding_generic): New global array.
      	(current_f2k_derived): New global.
      	(mio_typebound_proc): Handle IO of GENERIC bindings.
      	(mio_f2k_derived): Record current f2k-namespace in current_f2k_derived.
      	* parse.c (decode_statement): Handle GENERIC statement.
      	(gfc_ascii_statement): Ditto.
      	(typebound_default_access), (set_typebound_default_access): Removed.
      	(gfc_typebound_default_access): New global.
      	(parse_derived_contains): New default-access implementation and handle
      	GENERIC statements encountered.
      	* primary.c (gfc_match_varspec): Adapted to new gfc_typebound_proc
      	structure and removed check for SUBROUTINE/FUNCTION from here.
      	* resolve.c (extract_compcall_passed_object): New method.
      	(update_compcall_arglist): Use it.
      	(resolve_typebound_static): Adapted to new gfc_typebound_proc structure.
      	(resolve_typebound_generic_call): New method.
      	(resolve_typebound_call): Check target is a SUBROUTINE and handle calls
      	to GENERIC bindings.
      	(resolve_compcall): Ditto (check for target being FUNCTION).
      	(check_typebound_override): Handle GENERIC bindings.
      	(check_generic_tbp_ambiguity), (resolve_typebound_generic): New methods.
      	(resolve_typebound_procedure): Handle GENERIC bindings and set new
      	attributes subroutine, function and overridden in gfc_typebound_proc.
      	(resolve_fl_derived): Ensure extended type is resolved before the
      	extending one is.
      	* st.c (gfc_free_statement): Fix bug with free'ing EXEC_COMPCALL's.
      	* symbol.c (gfc_find_typebound_proc): Adapt for GENERIC changes.
      
      2008-08-31  Daniel Kraft  <d@domob.eu>
      
      	* gfortran.dg/typebound_generic_1.f03: New test.
      	* gfortran.dg/typebound_generic_2.f03: New test.
      	* gfortran.dg/typebound_generic_3.f03: New test.
      
      From-SVN: r139822
      Daniel Kraft committed
    • fwprop.c (should_replace_address): Add speed attribute. · f40751dd
      
      	* fwprop.c (should_replace_address): Add speed attribute.
      	(PR_OPTIMIZE_FOR_SPEED): New flag.
      	(propagate_rtx_1): Use it.
      	(propagate_rtx): Set it.
      	(try_fwprop_subst): Update call of rtx_costs.
      	(forward_propagate_and_simplify): LIkewise.
      	* hooks.c (hook_int_rtx_bool_0): New
      	(hook_bool_rtx_int_int_intp_false): Replace by ...
      	(hook_bool_rtx_int_int_intp_bool_false): .. thisone.
      	* hooks.h (hook_int_rtx_bool_0): New
      	(hook_bool_rtx_int_int_intp_false): Replace by ...
      	(hook_bool_rtx_int_int_intp_bool_false): .. thisone.
      	* optabs.c (avoid_expensive_constant): UPdate call of rtx_cost.
      	(prepare_cmp_insn): UPdate call of rtx_cost.
      	* postreload.c (reload_cse_simplify_set): Update call of rtx_cost.
      	(reload_cse_simplify_operands): Update call of rtx_cost.
      	(reload_cse_move2add): call of rtx_cost.
      	* target.h (struct gcc_target): Update rtx_costs and address_costs.
      	* rtlanal.c (rtx_cost): Add speed argument.
      	(address_cost): Add speed argument
      	(default_address_cost): Likewise.
      	(insn_rtx_cost): Likewise.
      	* cfgloopanal.c (seq_cost): Add speed argument.
      	(target_reg_cost, target_spill_cost): Turn to array.
      	(init_set_costs): Update for speed.
      	(estimate_reg_pressure_cost): Add speed argument.
      	* auto-inc-dec.c (attempt_change): Update call of rtx_cost.
      	* dojump.c (prefer_and_bit_test): UPdate call of rtx_cost.
      	* tree-ssa-loop-ivopts.c (struct ivopts_data): New field speed.
      	(seq_cost): Add speed argument.
      	(computation_cost): Add speed arugment.
      	(add_cost, multiply_by_const, get_address_cost): add speed argument.
      	(force_expr_to_var_cost): Update for profile info.
      	(force_var_cost): Likewise.
      	(split_address_cost): Likewise.
      	(ptr_difference_cost): Likewise.
      	(difference_cost): Likewise.
      	(get_computation_cost_at): Likewise.
      	(determine_iv_cost): Likewise.
      	(ivopts_global_cost_for_size): Likewise.
      	(rewrite_use_address): Likewise.
      	(tree_ssa_iv_optimize_loop): Initialize speed field.
      	* cse.c (optimize_this_for_speed_p): New static var.
      	(notreg_cost): Update call of rtx_cost.
      	(cse_extended_basic_block): set optimize_this_for_speed_p.
      	* ifcvt.c (cheap_bb_rtx_cost_p): Update call of rtx_cost.
      	(noce_try_cmove_arith): Likewise.
      	(noce_try_sign_mask): LIkewise.
      	* expr.c (compress_float_constant): Update rtx_cost calls.
      	* tree-ssa-address.c (most_expensive_mult_to_index): Add speed argument.
      	(addr_to_parts): Likewise.
      	(create_mem_ref): Likewise.
      	* dse.c (find_shift_sequence): Add speed argument.
      	(replace_read): Update call.
      	* calls.c (precompute_register_parameters): Update call of rtx_cost.
      	* expmed.c (sdiv_pow2_cheap, smod_pow2_cheap, zero_cost, add_cost,
      	* neg_cost, shift_cost, shiftadd_cost,
      	shiftsub_cost, mul_cost, sdiv_cost, udiv_cost ,mul_widen_cost,
      	mul_highpart_cost): Increase dimension.
      	(init_expmed): Initialize for both size and speed.
      	(expand_shift): Use profile.
      	(synth_mult): Use profile.
      	(choose_mult_variant): Use profile.
      	(expand_mult): Use profile.
      	(expand_mult_highpart_optab): Use profile.
      	(expand_mult_highpart): Use profile.
      	(expand_smod_pow2): Use profile.
      	(expand_divmod): Use profile.
      	* simplify-rtx.c (simplify_binary_operation_1): Update call of rtx_cost.
      	* loop-invariant.c (create_new_invariant): Use profile.
      	(gain_for_invariant): Add speed parameter.
      	(best_gain_for_invariant): Likewise.
      	(find_invariants_to_move): Likewise.
      	(move_single_loop_invariants): Set it.
      	* target-def.h (TARGET_RTX_COSTS): Use hook.
      	* rtl.h (rtx_cost, address_cost, insn_rtx_cost): Update prototpe.
      	(optimize_insn_for_size_p, optimize_insn_for_speed_p): Declare.
      	* output.h (default_address_cost): Update prototype.
      	* combine.c (optimize_this_for_speed_p): New static var.
      	(combine_validate_cost): Update call of rtx_cost.
      	(combine_instructions): Set optimize_this_for_speed_p.
      	(expand_compound_operation): Update call of rtx_cost.
      	(make_extraction):Update call of rtx_cost.
      	(force_to_mode):Update call of rtx_cost.
      	(distribute_and_simplify_rtx):Update call of rtx_cost.
      	* cfgloop.h (target_reg_cost, target_spill_cost): Turn to array.
      	(estimate_reg_pressure_cost): Update prototype.
      	* tree-flow.h (multiply_by_cost, create_mem_ref): Update prototype.
      	* basic-block.h (optimize_insn_for_size_p, optimize_insn_for_speed_p):
      	Remove.
      	* config/alpha/alpha.c (alpha_rtx_costs): Update.
      	(alpha_rtx_costs): Update.
      	* config/frv/frv.c (frv_rtx_costs): Update.
      	* config/s390/s390.c (s390_rtx_costs): Update.
      	* config/m32c/m32c.c (m32c_memory_move_cost): Update.
      	(m32c_rtx_costs): Update.
      	* config/spu/spu.c (TARGET_ADDRESS_COST): Upate.
      	(spu_rtx_costs): Update.
      	* config/sparc/sparc.c (sparc_rtx_costs): Update.
      	* config/m32r/m32r.c (m32r_rtx_costs): Update.
      	* config/i386/i386.c (:ix86_address_cost): Update.
      	(ix86_rtx_costs): Update.
      	* config/sh/sh.c (sh_rtx_costs, sh_address_cost): Update.
      	* config/pdp11/pdp11.c (pdp11_rtx_costs): Update.
      	* config/avr/avr.c (avr_rtx_costs, avr_address_cost): Update.
      	* config/crx/crx.c (crx_address_cost): Update.
      	* config/xtensa/xtensa.c (xtensa_rtx_costs): Update.
      	* config/stormy16/stormy16.c
      	(xstormy16_address_cost, xstormy16_rtx_costs): Update.
      	* config/m68hc11/m68hc11.c
      	(m68hc11_address_cost, m68hc11_rtx_costs): Update.
      	* config/cris/cris.c (cris_rtx_costs, cris_address_cost): Update.
      	* config/iq2000/iq2000.c (iq2000_rtx_costs, iq2000_address_cost): Update.
      	* config/mn10300/mn10300.c (mn10300_address_cost, mn10300_rtx_costs): Update
      	* config/ia64/ia64.c (ia64_rtx_costs): Update.
      	* config/m68k/m68k.c (m68k_rtx_costs): Update.
      	* config/rs6000/rs6000.c (rs6000_rtx_costs): Update.
      	* config/arc/arc.c (arc_rtx_costs, arc_address_cost): Update.
      	* config/mcore/mcore.c (TARGET_ADDRESS_COST): Update.
      	(mcore_rtx_costs): update.
      	* config/score/score3.c (score3_rtx_costs): Update.
      	* config/score/score7.c (score7_rtx_costs): Update.
      	* config/score/score3.h (score3_rtx_costs):Update.
      	* config/score/score7.h (score7_rtx_costs): Update.
      	* config/score/score.c (score_rtx_costs): Update.
      	* config/arm/arm.c (arm_address_cost): Update.
      	(arm_rtx_costs_1): Update.
      	(arm_rtx_costs_1): Update.
      	(arm_size_rtx_costs): Update.
      	(arm_size_rtx_costs): Update.
      	(arm_size_rtx_costs): Update.
      	(arm_xscale_rtx_costs): Update.
      	(arm_thumb_address_cost): Update.
      	* config/pa/pa.c (hppa_address_cost): Update.
      	* config/mips/mips.c (mips_rtx_costs): Update.
      	* config/vax/vax.c (vax_address_cost): Update.
      	* config/h8300/h8300.c (h8300_shift_costs): Update.
      	(h8300_rtx_costs): Update.
      	* config/v850/v850.c (TARGET_ADDRESS_COST): Update.
      	(v850_rtx_costs): Update.
      	* config/mmix/mmix.c (mmix_rtx_costs, mmix_rtx_costs): Update.
      	* config/bfin/bfin.c
      	(bfin_address_cost): Update.
      	(bfin_rtx_costs): Update.
      	* stmt.c (lshift_cheap_p): Update.
      
      From-SVN: r139821
      Jan Hubicka committed
    • #define vector __attribute__((vector_size(16) )) struct struct1 { union { float a[3]... · 6aebac53
      #define vector __attribute__((vector_size(16) ))
      struct struct1  {
        union { float a[3]; }    vmx;
        struct struct2   {
          struct2(const struct2& r) {}
        } w;
      } __attribute__((aligned(16)));
      struct struct3  {
        vector float vmx;
        operator const struct1& () const{
          return *reinterpret_cast<const struct1*>(this);
        }
      };
      struct3 func3( struct3 V1);
      struct3 func2( void );
      void func1( )  {
        struct1 vVec = func2() ;
        func3 ( (struct3&)vVec );
      }
      
      From-SVN: r139820
      Andrew Pinski committed
    • Daily bump. · 617c394a
      From-SVN: r139817
      GCC Administrator committed
    • re PR fortran/36895 (Namelist writting to internal files: Control characters wrong?) · 0006def8
      2008-08-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libfortran/36895
      	* gfortran.dg/namelist_53.f90: New test.
      
      From-SVN: r139814
      Jerry DeLisle committed
    • re PR fortran/36895 (Namelist writting to internal files: Control characters wrong?) · 8c8627c4
      2008-08-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libfortran/36895
      	* io/write.c (namelist_write_newline): New function to correctly mark
      	next records in both external and internal units.
      	(nml_write_obj): Use new function.
      	(namelist_write: Use new function.
      
      From-SVN: r139813
      Jerry DeLisle committed
  2. 30 Aug, 2008 15 commits
    • Change attribute((option(...))) to attribute((target(...))); Do not allocate… · 5779e713
      Change attribute((option(...))) to attribute((target(...))); Do not allocate tree nodes on x86 for builtins until we generate code for the ISA; Delete hot/cold functions changing optimization; Make C++ support target specific functions; Add #pragma GCC {push_options,pop_options,reset_options} instead of #pragma GCC {target,optimize} {push,reset,pop}
      
      From-SVN: r139812
      Michael Meissner committed
    • re PR c++/37288 (ICE using auto as function return type or parameter) · 0257eee5
              PR c++/37288
              * pt.c (dependent_type_p): Don't abort on auto outside of a template.
      
      From-SVN: r139811
      Jason Merrill committed
    • re PR target/37270 (SH: spill failure for R0_REGS) · 06b322fa
      	PR target/37270
      	* config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Generate
      	the reload address with the index register for SFmode
      	access with a displacement.
      
      From-SVN: r139809
      Kaz Kojima committed
    • * fi.po: New. · 588a58df
      From-SVN: r139807
      Joseph Myers committed
    • * MAINTAINERS: Consistently use tabs to separate columns. · 88a25817
      From-SVN: r139806
      Gerald Pfeifer committed
    • 2.cc: Constrain iterations when testing on a simultor. · 62ec9ed6
      	* testsuite/25_algorithms/nth_element/2.cc: Constrain iterations
      	when testing on a simultor.
      
      From-SVN: r139805
      Mark Mitchell committed
    • optabs.c (expand_abs_nojump): Update BRANCH_COST call. · 3a4fd356
      	* optabs.c (expand_abs_nojump): Update BRANCH_COST call.
      	* fold-cost.c (LOGICAL_OP_NON_SHORT_CIRCUIT, fold_truthop): Likewise.
      	* dojump.c (do_jump): Likewise.
      	* ifcvt.c (MAX_CONDITIONAL_EXECUTE): Likewise.
      	(note-if_info): Add BRANCH_COST.
      	(noce_try_store_flag_constants, noce_try_addcc, noce_try_store_flag_mask,
      	noce_try_cmove_arith, noce_try_cmove_arith, noce_try_cmove_arith,
      	noce_find_if_block, find_if_case_1, find_if_case_2): Use compuated
      	branch cost.
      	* expr.h (BRANCH_COST): Update default.
      	* predict.c (predictable_edge_p): New function.
      	* expmed.c (expand_smod_pow2, expand_sdiv_pow2, emit_store_flag):
      	Update BRANCH_COST call.
      	* basic-block.h (predictable_edge_p): Declare.
      	* config/alpha/alpha.h (BRANCH_COST): Update.
      	* config/frv/frv.h (BRANCH_COST): Update.
      	* config/s390/s390.h (BRANCH_COST): Update.
      	* config/spu/spu.h (BRANCH_COST): Update.
      	* config/sparc/sparc.h (BRANCH_COST): Update.
      	* config/m32r/m32r.h (BRANCH_COST): Update.
      	* config/i386/i386.h (BRANCH_COST): Update.
      	* config/i386/i386.c (ix86_expand_int_movcc): Update use of BRANCH_COST.
      	* config/sh/sh.h (BRANCH_COST): Update.
      	* config/pdp11/pdp11.h (BRANCH_COST): Update.
      	* config/avr/avr.h (BRANCH_COST): Update.
      	* config/crx/crx.h (BRANCH_COST): Update.
      	* config/xtensa/xtensa.h (BRANCH_COST): Update.
      	* config/stormy16/stormy16.h (BRANCH_COST): Update.
      	* config/m68hc11/m68hc11.h (BRANCH_COST): Update.
      	* config/iq2000/iq2000.h (BRANCH_COST): Update.
      	* config/ia64/ia64.h (BRANCH_COST): Update.
      	* config/rs6000/rs6000.h (BRANCH_COST): Update.
      	* config/arc/arc.h (BRANCH_COST): Update.
      	* config/score/score.h (BRANCH_COST): Update.
      	* config/arm/arm.h (BRANCH_COST): Update.
      	* config/pa/pa.h (BRANCH_COST): Update.
      	* config/mips/mips.h (BRANCH_COST): Update.
      	* config/vax/vax.h (BRANCH_COST): Update.
      	* config/h8300/h8300.h (BRANCH_COST): Update.
      	* params.def (PARAM_PREDICTABLE_BRANCH_OUTCOME): New.
      	* doc/invoke.texi (predictable-branch-cost-outcome): Document.
      	* doc/tm.texi (BRANCH_COST): Update.
      
      From-SVN: r139804
      Jan Hubicka committed
    • re PR target/37283 (Cannot build crtbegin.o for ARM) · b1bdaf40
          gcc/
      	PR target/37283
      	* config/arm/arm.c (arm_optimization_options): Set
      	flag_section_anchors to 2 instead of 1 to distinguish it from
      	-fsection-anchors given explicitely on the command line.
      
      From-SVN: r139803
      Samuel Tardieu committed
    • 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
  3. 29 Aug, 2008 5 commits