1. 06 Apr, 2011 14 commits
    • arm.h (arm_class_likely_spilled_p): Check against LO_REGS only for Thumb-1. · 9adc580c
      2011-03-06  Andrew Stubbs  <ams@codesourcery.com>
      	    Julian Brown  <julian@codesourcery.com>
      	    Mark Shinwell  <shinwell@codesourcery.com>
      
      	gcc/
      	* config/arm/arm.h (arm_class_likely_spilled_p): Check against
      	LO_REGS only for Thumb-1.
      	(MODE_BASE_REG_CLASS): Restrict base registers to those which can
      	be used in short instructions when optimising for size on Thumb-2.
      
      
      
      Co-Authored-By: Julian Brown <julian@codesourcery.com>
      Co-Authored-By: Mark Shinwell <shinwell@codesourcery.com>
      
      From-SVN: r172032
      Andrew Stubbs committed
    • Fix commit for PR target/43920 · 33abfb6b
      From-SVN: r172031
      Ramana Radhakrishnan committed
    • gimple-low.c (lower_gimple_return): When not optimizing, force labels associated… · 516426da
      gimple-low.c (lower_gimple_return): When not optimizing, force labels associated with user returns to be preserved.
      
      	* gimple-low.c (lower_gimple_return): When not optimizing, force labels
      	associated with user returns to be preserved.
      
      From-SVN: r172030
      Eric Botcazou committed
    • dbxout.c: (debug_nesting... · 96621ebf
      2011-04-06  Tristan Gingold  <gingold@adacore.com>
      
      	* dbxout.c: (debug_nesting, symbol_queue, symbol_queue_index)
      	(symbol_queue_size, DBXOUT_DECR_NESTING)
      	(DBXOUT_DECR_NESTING_AND_RETURN): Also define
      	if XCOFF_DEBUGGING_INFO.
      
      From-SVN: r172029
      Tristan Gingold committed
    • i386.md (attribute isa): New. · 07c0852e
      	* config/i386/i386.md (attribute isa): New.
      	(attribute enabled): New.
      	(setcc_<mode>_sse): Merge from *{avx,sse}_setcc<mode>.
      	(*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_mixed_avx.
      	(*fop_<mode>_comm_sse): Merge with *fop_<mode>_comm_avx.
      	(*fop_<mode>_1_mixed): Merge with *fop_<mode>_1_mixed_avx.
      	(*fop_<mode>_1_sse): Merge with *fop_<mode>_1_avx.
      	(<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
      	(*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3.
      	(*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3.
      
      	* config/i386/sse.md (VF): New mode iterator.
      	(VF1): Ditto.
      	(VF2): Ditto.
      	(VF_128): Ditto.
      	(SSEMODEF4): Remove.
      	(attribute sse): Handle V8SF and V4DF modes.
      	(<absneg:code><mode>2): Use VF mode iterator.
      	(*absneg<mode>2): Merge from *{avx,sse}_absneg<mode>2.  Use VF
      	mode iterator.
      	(<plusminus_insn><mode>3): Use VF mode iterator.
      	(*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
      	Use VF mode iterator.
      	(<sse>_vm<plusminus_insn><mode>3): Merge with
      	*avx_vm<plusminus_insn><mode>3.  Use VF_128 mode iterator.
      	(mul<mode>3): Use VF mode iterator.
      	(*mul<mode>3): Merge with *avx_mul<mode>3.  Use VF mode iterator.
      	(<sse>_vmmul<mode>3): Merge with *avx_vmmul<mode>3.  Use VF_128
      	mode iterator.
      	(div<VF2:mode>3): Merge from divv2df3 and divv4df3.
      	(div<VF1:mode>3): Merge from divv4sf3 and divv8sf3.
      	(<sse>_div<mode>3): Merge with *avx_div<mode>3.  Use VF mode iterator.
      	(<sse>_vmdiv<mode>3): Merge with *avx_vmdiv<mode>3.  Use VF_128
      	mode iterator.
      	(<sse>_rcp<mode>2): Merge from avx_rcpv8sf2 and sse_rcpv4sf2.
      	Use VF1 mode iterator.
      	(sse_vmrcpv4sf2): Merge with *avx_vmrcpv4sf2.
      	(sqrt<VF2:mode>2): New expander.
      	(sqrt<VF1:mode>2): Merge from sqrtv4sf2 and sqrtv8sf2.
      	(<sse>_sqrt<mode>2): Merge from avx_sqrtv8sf2, sse_sqrtv4sf, sqrtv4df2
      	and sqrtv2df2.  Use VF mode iterator.
      	(<sse>_vmsqrt<mode>2): Merge with *avx_vmsqrt<mode>2.  Use VF_128
      	mode iterator.
      	(rsqrt<VF1:mode>2): Merge from rsqrtv4sf2 and rsqrtv8sf2.
      	(<sse>_rsqrt<mode>2): Merge from avx_rsqrtv8sf2 and sse_rsqrt4sf2.
      	Use VF1 mode iterator.
      	(sse_vmrsqrtv4sf2): Merge with *avx_vmrsqrtv4sf2.
      	(<smaxmin:code><mode>3): Use VF mode iterator.
      	(*<smaxmin:code><mode>3_finite): Merge with
      	*avx_<smaxmin:code><mode>3_finite.  Use VF mode iterator.
      	(*<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
      	(<sse>_vm<smaxmin:code><mode>2): Merge with
      	*avx_vm<smaxmin:code><mode>2.  Use VF_128 mode iterator.
      	(*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3.  Use VF
      	mode iterator.
      	(*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3.  Use VF
      	mode iterator.
      	(sse3_addsubv2df3): Merge with *avx_addsubv2df3.
      	(sse3_addsubv4sf3): Merge with *avx_addsubv4sf3.
      	(sse3_h<plusminus_insn>v2df3): Merge with *avx_h<plusminus_insn>v2df3.
      	(sse3_h<plusminus_insn>v4sf3): Merge with *avx_h<plusminus_insn>v4sf3.
      	(avx_cmp<mode>3): Rename from avx_cmp<ssemodesuffix><mode>3.  Use
      	VF mode iterator.
      	(avx_vmcmp<mode>3): Rename from avx_cmp<ssescalarmodesuffix><mode>3.
      	Use VF_128 mode iterator.
      	(<sse>_maskcmp<mode>3): Merge with *avx_maskcmp<mode>3.  Use VF
      	mode iterator.
      	(<sse>_vmmaskcmp<mode>3): Merge with *avx_vmmaskcmp<mode>3.  Use
      	VF_128 mode iterator.
      	(vcond<mode>): Use VF mode iterator.
      	* config/i386/predicates.md (sse_comparison_operator): Merge with
      	avx_comparison_float_operator.  Do not declare as special_predicate.
      	* config/i386/i386.c (struct builtin_description): Update for renamed
      	compare patterns.
      	(ix86_expand_args_builtin): Ditto.
      	(ix86_expand_sse_compare_mask): Ditto.
      
      From-SVN: r172028
      Uros Bizjak committed
    • tree-inline.c (estimate_num_insns): For calls simply account for all passed… · ff5d142c
      tree-inline.c (estimate_num_insns): For calls simply account for all passed arguments and a used return value.
      
      2011-04-06  Richard Guenther  <rguenther@suse.de>
      
      	* tree-inline.c (estimate_num_insns): For calls simply account
      	for all passed arguments and a used return value.
      
      From-SVN: r172024
      Richard Guenther committed
    • re PR middle-end/47663 (Very simple wrapper not inlined) · d7d1d041
      2011-04-06  Richard Guenther  <rguenther@suse.de>
       
      	PR tree-optimization/47663
      	* cgraph.h (struct cgraph_edge): Add call_stmt_size and
      	call_stmt_time fields.
      	(cgraph_edge_inlinable_p): Declare.
      	(cgraph_edge_recursive_p): New inline function.
      	* cgraph.c (cgraph_create_edge_1): Initialize call_stmt_size.
      	(cgraph_clone_edge): Copy it.
      	* ipa-inline.c (cgraph_estimate_edge_time): New function.
      	Account for call stmt time.
      	(cgraph_estimate_time_after_inlining): Take edge argument.
      	(cgraph_estimate_edge_growth): Account call stmt size.
      	(cgraph_estimate_size_after_inlining): Take edge argument.
      	(cgraph_mark_inline_edge): Adjust.
      	(cgraph_check_inline_limits): Likewise.
      	(cgraph_recursive_inlining_p): Remove.
      	(cgraph_edge_badness): Use cgraph_edge_recursive_p.
      	(cgraph_decide_recursive_inlining): Take edge argument and
      	adjust.
      	(cgraph_decide_inlining_of_small_functions): Do not avoid
      	diags for recursive inlining here.
      	(cgraph_flatten): Adjust.
      	(cgraph_decide_inlining_incrementally): Likewise.
      	(estimate_function_body_sizes): Remove call cost handling.
      	(compute_inline_parameters): Initialize caller edge call costs.
      	(cgraph_estimate_edge_growth): New function.
      	(cgraph_estimate_growth): Use it.
      	(cgraph_edge_badness): Likewise.
      	(cgraph_check_inline_limits): Take an edge argument.
      	(cgraph_decide_inlining_of_small_functions): Adjust.
      	(cgraph_decide_inlining): Likewise.
      	* tree-inline.c (estimate_num_insns): Only account for call
      	return value if it is used.
      	(expand_call_inline): Avoid diagnostics on recursive inline
      	functions here.
      	* lto-cgraph.c (lto_output_edge): Output edge call costs.
      	(input_edge): Input edge call costs.
      
      	* gcc.dg/tree-ssa/inline-8.c: New testcase.
      
      From-SVN: r172023
      Richard Guenther committed
    • * config/alpha/osf5.h (MAX_OFILE_ALIGNMENT): Define. · 2feb95f7
      From-SVN: r172022
      Rainer Orth committed
    • invoke.texi (Spec Files): Fix typo. · 26fbd9c2
      2011-04-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
      
      	* doc/invoke.texi (Spec Files): Fix typo.
      
      From-SVN: r172020
      Jonathan Wakely committed
    • profile.c (branch_prob): Move declaration of local variable. · 694dc0ca
      	* profile.c (branch_prob): Move declaration of local variable.  Remove
      	obsolete ??? comment.  Expand the location explicitly instead of using
      	the LOCATION_FILE and LOCATION_LINE macros.
      
      From-SVN: r172019
      Eric Botcazou committed
    • libgo: Always use AM_LDFLAGS when linking libgo.la. · 5c8e4952
      This ensures that we pass -fsplit-stack as required.
      
      From-SVN: r172018
      Ian Lance Taylor committed
    • arm.md (arm_cmpsi_insn): Compute attr "length". · 4925d0d5
      	* config/arm/arm.md (arm_cmpsi_insn): Compute attr "length".
      	(arm_cond_branch): Likewise.
      	(arm_cond_branch_reversed): Likewise.
      	(arm_jump): Likewise.
      	(push_multi): Likewise.
      	* config/arm/constraints.md (Py): New constraint.
      
      From-SVN: r172017
      Wei Guozhi committed
    • re PR bootstrap/48471 (ia64-*-* does not bootstrap due to unused variables in dbxout.c) · f55dfa2f
      	PR bootstrap/48471
      	* dbxout.c (debug_nesting, symbol_queue, symbol_queue_index):
      	Move these...
      	(symbol_queue_size, DBXOUT_DECR_NESTING): ...and these...
      	(DBXOUT_DECR_NESTING_AND_RETURN): ...and this under
      	#ifdef DBX_DEBUGGING_INFO.
      
      From-SVN: r172016
      Nathan Froyd committed
    • Daily bump. · 4bb28d9f
      From-SVN: r172015
      GCC Administrator committed
  2. 05 Apr, 2011 26 commits