1. 06 Apr, 2011 17 commits
    • re PR debug/48466 (Wrong variable locations at -O0 on i686) · fe846284
      	PR debug/48466
      	* dwarf2out.c (based_loc_descr): If drap_reg is INVALID_REGNUM, use
      	as base_reg whatever register reg has been eliminated to, instead
      	of hardcoding STACK_POINTER_REGNUM.
      
      	* gcc.dg/guality/pr36977.c: New test.
      	* gcc.dg/guality/pr48466.c: New test.
      
      From-SVN: r172039
      Jakub Jelinek committed
    • tm.texi.in: Document C target hooks as separate from general target hooks. · acce4e77
      	* doc/tm.texi.in: Document C target hooks as separate from general
      	target hooks.
      	* doc/tm.texi: Regenerate.
      	* genhooks.c (struct hook_desc): Add docname field.
      	(HOOK_VECTOR_1, DEFHOOKPOD, DEFHOOK, DEFHOOK_UNDOC).  Initialize
      	docname field.
      	(hook_array): Include c-target.def.
      	(emit_documentation): Use docname field in output.
      	(emit_init_macros): Take docname argument.  Only emit definitions
      	for hooks matching docname.
      	(main): Expect additional arguments in all cases.  Pass argument
      	to emit_init_macros.
      	* target.def: Move initial macro definitions and comments to
      	target-hooks-macros.h.
      	(gcc_targetcm): Move to c-family/c-target.def.
      	* target.h (targetcm): Move declaration to c-family/c-target.h.
      	* targhooks.c (default_handle_c_option): Move to
      	c-family/c-opts.c.
      	* targhooks.h (default_handle_c_option): Move declaration to
      	c-family/c-common.h.
      	* target-hooks-macros.h: New file.
      	* config.gcc (target_has_targetcm): Define and use to add to
      	c_target_objs and cxx_target_objs.
      	* config/default-c.c: New file.
      	* config/darwin-c.c: Include c-target.h and c-target-def.h instead
      	of target.h and target-def.h.
      	(TARGET_HANDLE_C_OPTION, targetcm): Define later in file.
      	(darwin_objc_construct_string, darwin_cfstring_ref_p,
      	darwin_check_cfstring_format_arg): Make static.
      	(TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
      	TARGET_STRING_OBJECT_REF_TYPE_P,
      	TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): Define here.
      	* config/darwin-protos.h (darwin_objc_construct_string,
      	darwin_cfstring_ref_p, darwin_check_cfstring_format_arg): Don't
      	declare.
      	* config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
      	TARGET_STRING_OBJECT_REF_TYPE_P,
      	TARGET_CHECK_STRING_OBJECT_FORMAT_ARG, TARGET_HAS_TARGETCM):
      	Remove.
      	* config/t-darwin (darwin-c.o): Update dependencies.
      	* system.h (TARGET_HAS_TARGETCM): Poison.
      	* Makefile.in (TARGET_H): Update.
      	(TARGET_DEF, C_TARGET_DEF, C_TARGET_H, C_TARGET_DEF_H): Define.
      	(c-family/c-format.o, c-family/c-opts.o): Update dependencies.
      	(default-c.o): New target.
      	(s-target-hooks-def-h): Pass "Target Hook" string to genhooks.
      	(c-family/c-target-hooks-def.h, s-c-target-hooks-def-h): New
      	targets.
      	(s-tm-texi): Pass -d option to genhooks.  Also test timestamp on
      	c-target.def.
      	(build/genhooks.o): Update dependencies.
      
      c-family:
      	* c-target-def.h: New file.
      	* c-target.def: New file.
      	* c-target.h: New file.
      	* c-common.c (targetcm): Don't define here.
      	* c-common.h (default_handle_c_option): Declare.
      	* c-format.c: Include c-target.h instead of target.h.
      	* c-opts.c: Include c-target.h instead of target.h.  Explicitly
      	include tm.h.
      	(default_handle_c_option): Move from targhooks.c.
      
      objc:
      	* objc-act.c: Include c-target.h instead of target.h.
      	* Make-lang.in (objc/objc-act.o): Update dependencies.
      
      From-SVN: r172035
      Joseph Myers committed
    • ipa-inline.c (enum inlining_mode): Remove. · 275b4baa
      2011-04-06  Richard Guenther  <rguenther@suse.de>
       
      	* ipa-inline.c (enum inlining_mode): Remove.
      	(cgraph_flatten): Use some other token.
      	(cgraph_edge_early_inlinable_p): New function, split out from ...
      	(cgraph_perform_always_inlining): New function, split out from ...
      	(cgraph_decide_inlining_incrementally): ... here.
      	(cgraph_mark_inline_edge): Adjust.
      	(cgraph_early_inlining): Re-structure.
      	(pass_early_inline): Require SSA form.
      
      From-SVN: r172033
      Richard Guenther committed
    • 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 23 commits