Commit Graph

32796 Commits

Author SHA1 Message Date
Seongbae Park 531ba5d285 re PR target/32481 (ICE in df_refs_verify, at df-scan.c:4058)
2007-06-27  Seongbae Park  <seongbae.park@gmail.com>

	PR rtl-optimization/32481
	* combine.c (adjust_for_new_dest): Rescan the changed insn.

From-SVN: r126058
2007-06-27 18:17:15 +00:00
Richard Sandiford b40b217257 dce.c (deletable_insn_p_1): New function, split out from...
gcc/
	* dce.c (deletable_insn_p_1): New function, split out from...
	(deletable_insn_p): ...here.  Only treat bare USEs and CLOBBERs
	specially, not those inside PARALLELs.  Remove BODY argument
	and adjust recursive call accordingly.
	(prescan_insns_for_dce): Update call to delete_insn_p.

From-SVN: r126056
2007-06-27 14:37:05 +00:00
Richard Guenther 3b35764639 re PR middle-end/32492 (attribute always_inline -> sorry, unimplemented: recursive inlining)
2007-06-27  Richard Guenther  <rguenther@suse.de>

	PR middle-end/32492
	* tree.h (fold_convertible_p): Declare.
	* fold-const.c (fold_convertible_p): New function.
	* gimplify.c (gimplify_call_expr): Use fold_convertible_p
	instead of lang_hooks.types_compatible_p.

	* gcc.dg/inline-22.c: New testcase.

From-SVN: r126054
2007-06-27 14:01:27 +00:00
Jan Hubicka 95e88efd10 fwprop.c (try_fwprop_subst): Use validate_unshare_change.
* fwprop.c (try_fwprop_subst): Use validate_unshare_change.
	* postreload.c (reload_cse_simplify_set): Instead of copying the rtx
	early use validate_unshare_change.
	(reload_combine): Likewise.
	* recog.c (change_t): New field unshare.
	(validate_change_1): Rename from validate_change; add argument unshare.
	(validate_change): Turn into wrapper of validate_change_1; update
	prototype for bools.
	(validate_unshare_change): New.
	(confirm_change_group): Unshare changes if asked for; avoid unnecesary
	calls of df_insn_rescan.
	* recog.h (validate_change): Replace ints by bools.
	(validate_unshare_change): Declare.

From-SVN: r126050
2007-06-27 01:21:13 +00:00
Kenneth Zadeck 201bfd1441 forgot to save back the change log
From-SVN: r126043
2007-06-26 20:09:24 +00:00
Steve Ellcey 4319e38c0b * builtins.c (expand_builtin_next_arg): Change Pmode to ptr_mode.
From-SVN: r126031
2007-06-26 15:47:59 +00:00
Jan Hubicka 12c7b51e3e ipa-inline.c (cgraph_mark_inline): Assert that we never inline uninlinable call.
* ipa-inline.c (cgraph_mark_inline): Assert that we never inline
	uninlinable call.
	(cgraph_decide_inlining_of_small_function, cgraph_decide_inlining,
	cgraph_decide_inlining_incrementally): Move uninlinability checks to
	places other call site specific checks are performed.

From-SVN: r126015
2007-06-26 10:31:55 +00:00
Andrew Pinski 2caf766b63 re PR tree-optimization/32421 (-ftree-vectorize -msse2 ICEs in build2_stat when vectorizing POINTER_PLUS_EXPR)
2007-06-25  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/32421
        * tree-vect-transform.c (vectorizable_operation): Convert
        POINTER_PLUS_EXPR over to PLUS_EXPR.


2007-06-25  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/32421
        * gcc.dg/vect/pr32421.c: New test.

From-SVN: r126012
2007-06-25 17:19:44 -07:00
Chao-ying Fu 1699ec0b95 rtl.texi (Machine Modes): Document QQ...
* doc/rtl.texi (Machine Modes): Document QQ, HQ, SQ, DQ, TQ,
	UQQ, UHQ, USQ, UDQ, UTQ, HA, SA, DA, TA, UHA, USA, UDA, and UTAmodes.
	Document MODE_FRACT, MODE_UFRACT, MODE_ACCUM, MODE_UACCUM.
	Document GET_MODE_IBIT, and GET_MODE_FBIT.

	* machmode.h (VECTOR_MODE_P): Test MODE_VECTOR_FRACT,
	MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM.
	(SCALAR_FRACT_MODE_P, SCALAR_UFRACT_MODE_P, ALL_SCALAR_FRACT_MODE_P,
	SCALAR_ACCUM_MODE_P, SCALAR_UACCUM_MODE_P, ALL_SCALAR_ACCUM_MODE_P,
	SIGNED_SCALAR_FIXED_POINT_MODE_P, UNSIGNED_SCALAR_FIXED_POINT_MODE_P,
	ALL_SCALAR_FIXED_POINT_MODE_P, FRACT_MODE_P, UFRACT_MODE_P,
	ALL_FRACT_MODE_P, ACCUM_MODE_P, UACCUM_MODE_P, ALL_ACCUM_MODE_P,
	SIGNED_FIXED_POINT_MODE_P, UNSIGNED_FIXED_POINT_MODE_P,
	ALL_FIXED_POINT_MODE_P): New define.
	(CLASS_HAS_WIDER_MODES_P): Test MODE_FRACT, MODE_UFRACT, MODE_ACCUM,
	MODE_UACCUM.
	(GET_MODE_IBIT, GET_MODE_FBIT): New define.

	* mode-classes.def (MODE_FRACT, MODE_UFRACT, MODE_ACCUM, MODE_UACCUM,
	MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM,
	MODE_VECTOR_UACCUM): New mode classes.

	* machmode.def: Document FRACT_MODE, UFRACT_MODE, ACCUM_MODE,
	UACCUM_MODE, ADJUST_IBIT, and ADJUST_FBIT.
	Add QQ, HQ, SQ, DQ, TQ, UQQ, UHQ, USQ, UDQ, UTQ, HA, SA, DA, TA, UHA,
	USA, UDA, and UTA.

	* genmodes.c (struct mode_data): Add ibit and fbit fields.
	(blank_mode): Initialize ibit and fbit.
	(adj_ibit, adj_fbit): New to adjust ibit and fbit.
	(vector_class): Handle MODE_FRACT, MODE_UFRACT, MODE_ACCUM, MODE_UACCUM.
	(new_adjust): Change required_class to required_class_from and
	required_class_to for testing within a range.
	(complete_mode): Handle MODE_FRACT, MODE_UFRACT, MODE_ACCUM,
	MODE_UACCUM, MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM,
	MODE_VECTOR_UACCUM.
	(FRACT_MODE, UFRACT_MODE, ACCUM_MODE, UACCUM_MODE): New define.
	(make_fixed_point_mode): New.
	(_ADD_ADJUST): Change C to C1 and C2.
	(ADJUST_BYTESIZE, ADJUST_ALIGNMENT, ADJUST_FLOAT_FORMAT): Change to
	use a range for machine classes.
	(ADJUST_IBIT, ADJUST_FBIT): New.
	(emit_insn_modes_h): Output defines of CONST_MODE_IBIT and
	CONST_MODE_FBIT.
	(emit_mode_adjustments): Handle MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT,
	MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM.
	Emit adjustment for ibit and fbit.
	(emit_mode_ibit, emit_mode_fbit): New.
	(emit_insn_modes_c): Add emit_mode_ibit and emit_mode_fbit.

From-SVN: r126007
2007-06-25 22:51:27 +00:00
Nathan Froyd a3f8aaa52e spe.md (*frob_ti_tf_2): Specify an input_operand as the source of the set.
* config/rs6000/spe.md (*frob_ti_tf_2): Specify an input_operand
	as the source of the set.

From-SVN: r126002
2007-06-25 19:15:08 +00:00
Roman Zippel bf32249ec2 m68k.h (DATA_REGNO_P, [...]): Use IN_RANGE.
* config/m68k/m68k.h (DATA_REGNO_P, ADDRESS_REGNO_P, INT_REGNO_P,
	FP_REGNO_P): Use IN_RANGE.
	(REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
	(REGNO_OK_FOR_INDEX_NONSTRICT_P, REGNO_OK_FOR_BASE_NONSTRICT_P): New.
	(DATA_REG_P): Use DATA_REGNO_P.
	(FP_REG_P): Use FP_REGNO_P.
	(ADDRESS_REG_P): Use ADDRESS_REGNO_P.
	* config/m68k/m68k.c (m68k_legitimate_base_reg_p): Use
	REGNO_OK_FOR_INDEX_NONSTRICT_P, REGNO_OK_FOR_BASE_NONSTRICT_P.

From-SVN: r126001
2007-06-25 18:43:50 +00:00
Jan Hubicka 6a84c0988c re PR tree-optimization/30563 (ice for legal code with flags -O2 -fno-unit-at-a-time)
PR middle-end/30563
	* cgraphunit.c (cgraph_analyze_function): Fix ordering problem.

From-SVN: r125991
2007-06-24 23:24:10 +00:00
Sebastian Pop a49c5793d5 re PR tree-optimization/32461 (Segmentation fault in build_classic_dist_vector_1() at tree-data-ref.c:2700)
PR middle-end/32461
	* fold-const.c (fold_binary): Strip nops of operand 0
	of BIT_NOT_EXPR before calling operand_equal_p.
	* testsuite/gcc.dg/tree-ssa/pr32461-1.c: New.
	* testsuite/gcc.dg/tree-ssa/pr32461-2.c: New.

From-SVN: r125988
2007-06-24 20:59:02 +00:00
Mark Mitchell 3a687f8bbb extend.texi: Document that dllimport and dllexport imply default visibility.
2007-06-23  Mark Mitchell  <mark@codesourcery.com>

	* doc/extend.texi: Document that dllimport and dllexport imply
	default visibility.
	* tree.c (handle_dll_attribute): Set DECL_VISIBILITY on the
	imported or exported declaration, including type declarations.
	* c-common.c (handle_visibility_attribute): Check for conflicts
	with dllimport/dllexport.
	(c_determine_visibility): Handle dllimport/dllexport as an
	explicit visibility atttribute.

2007-06-23  Mark Mitchell  <mark@codesourcery.com>

	* decl2.c (determine_visibility): Don't look for dllexport here.
	(determine_visibility_from_class): Tidy.

2007-06-23  Mark Mitchell  <mark@codesourcery.com>

	* gcc.dg/visibility-12.c: New test.
	* gcc.dg/visibility-13.c: Likewise.
	* g++.dg/ext/visibility-9.C: Likewise.
	* g++.dg/ext/visibility-10.C: Likewise.

From-SVN: r125975
2007-06-23 19:17:04 +00:00
Richard Guenther e36711f3cd re PR tree-optimization/16876 (ICE on testcase with -O3 in fold-const)
2007-06-23  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/16876
	PR middle-end/29478
	* tree.h (CALL_CANNOT_INLINE_P): New macro to access static_flag
	for CALL_EXPRs.
	* tree-inline.c (initialize_inlined_parameters): Do not call
	lang_hooks.tree_inlining.convert_parm_for_inlining.
	* cgraphbuild.c (initialize_inline_failed): Set inline failed
	reason for mismatched types.
	* gimplify.c (gimplify_call_expr): Verify the call expression
	arguments match the called function type signature.  Otherwise
	mark the call expression to be not considered for inlining
	using CALL_CANNOT_INLINE_P flag.
	* ipa-inline.c (cgraph_mark_inline): Honor CALL_CANNOT_INLINE_P on the
	edges call expression.
	(cgraph_decide_inlining_of_small_function): Likewise.
	(cgraph_decide_inlining): Likewise.
	* c-objc-common.h (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
	Remove define.
	* c-tree.h (c_convert_parm_for_inlining): Remove declaration.
	* c-typeck.c (c_convert_parm_for_inlining): Remove.
	* langhooks-def.h (lhd_tree_inlining_convert_parm_for_inlining):
	Remove declaration.
	(LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING): Remove define.
	* langhooks.c (lhd_tree_inlining_convert_parm_for_inlining):
	Remove.
	* langhooks.h (struct lang_hooks_for_tree_inlining): Remove
	convert_parm_for_inlining member.

	* gcc.dg/pr29254.c: The warning is bogus.
	* gcc.dg/warn-1.c: Likewise.
	* gcc.dg/assign-warn-3.c: Likewise.
	* gcc.dg/noncompile/pr16876.c: The testcase is bogus, remove.

From-SVN: r125974
2007-06-23 18:17:57 +00:00
Richard Earnshaw 630ef467a8 re PR target/31152 (-(x>y) generates wrong code)
PR target/31152
	* arm.md (negscc): Match the correct operand for optimized LT0 test.
	Remove optimization for GT.
	*gcc.c-torture/execute/20070623-1.c: New.

From-SVN: r125973
2007-06-23 18:07:04 +00:00
Kenneth Zadeck 6cad985925 re PR target/32437 (MIPS: FAIL in gcc.dg/cleanup-[8|9|10|11].c)
2007-06-23  Kenneth Zadeck <zadeck@naturalbridge.com>

	PR middle-end/32437
	*dce.c (deletable_insn_p): Add extra parameter and recurse if insn
	is a PARALLEL.
	(prescan_insns_for_dce): Add extra parameter.

From-SVN: r125972
2007-06-23 16:21:43 +00:00
Jan Hubicka 936d04b695 re PR middle-end/31541 (cannot take address of bit field)
PR middle-end/31541
	* gimplify.c (mark_addressable): New function.
	(gimplify_modify_expr_rhs, gimplify_addr_expr, gimplify_expr): Use it.

	* gcc.c-torture/compile/pr31541.c: New.

From-SVN: r125971
2007-06-23 11:58:18 +00:00
Uros Bizjak 58f7fcc362 re PR middle-end/32374 (internal compiler error: in reload_cse_simplify_operands, at postreload.c:396)
PR middle-end/32374
        * expr.c (store_constructor): Do not clobber non-zeroed memory. 

testsuite/ChangeLog:

        PR middle-end/32374
        * gcc.dg/pr32374.c: New test.

From-SVN: r125955
2007-06-22 20:51:28 +02:00
Uros Bizjak 147bbdd051 re PR target/32413 (internal compiler error: in reload_cse_simplify_operands, at postreload.c:396)
PR target/32413
    * config/i386/i386.c (ix86_register_move_cost): Rise the cost of
    moves between MMX/SSE registers to at least 8 units to prevent
    ICE caused by non-tieable SI/HI/QImodes in SSE registers.

From-SVN: r125951
2007-06-22 19:51:06 +02:00
Uros Bizjak 9064c53336 i386.c (override_options): Correct x86_sahf setting condition.
* config/i386/i386.c (override_options): Correct x86_sahf
	setting condition.

From-SVN: r125948
2007-06-22 14:56:37 +02:00
David Daney 1ad91955bd Fix PR number from last commit 32046->32406.
From-SVN: r125942
2007-06-22 04:50:50 +00:00
David Daney 48a8bb13b3 re PR fortran/32046 (wrong code with -O2 for gfortran.dg/interface_12.f90 & result_in_spec_1.f90)
PR target/32046
	* config/mips/mips.md (define_constants): Rename UNSPEC_EH_RECEIVER
	to UNSPEC_NONLOCAL_GOTO_RECEIVER globally.
	(exception_receiver): Renamed to ...
	(nonlocal_goto_receiver): ... this.

From-SVN: r125941
2007-06-22 04:46:08 +00:00
Roman Zippel 7bb3ae2f52 df-scan.c (df_read_modify_subreg_p): Use REGMODE_NATURAL_SIZE.
* df-scan.c (df_read_modify_subreg_p): Use REGMODE_NATURAL_SIZE.
	(df_def_record_1): Set (DF_REF_READ_WRITE | DF_REF_PARTIAL) for
	partial register accesses.

From-SVN: r125940
2007-06-22 02:55:07 +00:00
Adam Nemet f1b42630a5 fold-const.c (debug_fold_checksum): Move it under ENABLE_FOLD_CHECKING.
* fold-const.c (debug_fold_checksum): Move it under
	ENABLE_FOLD_CHECKING.

From-SVN: r125932
2007-06-21 23:46:59 +00:00
Sebastian Pop 70826cbbef re PR middle-end/20623 (ICE: fold check: original tree changed by fold with --enable-checking=fold)
PR middle-end/20623
	* tree.h (debug_fold_checksum): Declared.
	* fold-const.c (build_fold_addr_expr_with_type_1): New.
	(build_fold_addr_expr_with_type, build_fold_addr_expr): Use 
	build_fold_addr_expr_with_type_1.
	(fold_addr_expr, debug_fold_checksum): New.
	(fold_checksum_tree): Don't fold TREE_CHAIN of an SSA_NAME.
	(fold_unary, fold_comparison, split_address_to_core_and_offset):
	Use fold_addr_expr.

From-SVN: r125929
2007-06-21 21:25:27 +00:00
Sebastian Pop 6f1c9cd02f re PR tree-optimization/19590 (IVs with the same evolution not eliminated)
PR tree-optimization/19590
	* tree-vrp.c (adjust_range_with_scev): Set the range when the result
	of scev is a constant.
	* gcc/testsuite/gcc.dg/tree-ssa/pr19590.c: New.

From-SVN: r125925
2007-06-21 17:06:05 +00:00
Kenneth Zadeck e44e043cb3 df-problems.c (df_note_bb_compute): Made computation of live info consistent with df_lr.
2007-06-21  Kenneth Zadeck <zadeck@naturalbridge.com>

        * df-problems.c (df_note_bb_compute): Made computation of live
	info consistent with df_lr.

From-SVN: r125924
2007-06-21 16:24:59 +00:00
Richard Guenther 4228997795 re PR tree-optimization/32453 (ICE in build2_stat, at tree.c:3074 (extract_range_from_assert))
2007-06-21  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/32453
	* tree-vrp.c (extract_range_from_assert): Build POINTER_PLUS_EXPR
	for pointer anti-range.

	* gcc.c-torture/compile/pr32453.c: New testcase.

From-SVN: r125922
2007-06-21 14:54:47 +00:00
H.J. Lu 461a73b578 i386.c (processor_target_table): Increase maximum skip from 7 byte to 10 byte for Pentium Pro...
2007-06-21  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (processor_target_table): Increase maximum
	skip from 7 byte to 10 byte for Pentium Pro, Core 2 Duo and
	default 64bit.

	* config/i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Ensure 8
	byte alignment if > 8 byte alignment is preferred.
	* config/i386/x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.

From-SVN: r125920
2007-06-21 05:31:09 -07:00
Jakub Jelinek 3521f3cc39 re PR tree-optimization/31866 (ICE with tree check error: expected ssa_name, have var_decl in create_outofssa_var_map)
PR tree-optimization/31866
	* tree-ssa-coalesce.c (create_outofssa_var_map): Do nothing
	if ASM_EXPR's input is not a SSA_NAME.

	* gcc.dg/pr31866.c: New test.

From-SVN: r125919
2007-06-21 14:20:42 +02:00
Jakub Jelinek 64964499f4 re PR middle-end/32362 (ICE: in lookup_decl_in_outer_ctx, at omp-low.c:1508)
PR middle-end/32362
	* omp-low.c (lookup_decl_in_outer_ctx): Don't ICE if t is NULL,
	but decl is a global var, instead return decl.
	* gimplify.c (gimplify_adjust_omp_clauses_1): Add shared clauses
	even for is_global_var decls, if they are private in some outer
	context.

	* testsuite/libgomp.c/pr32362-1.c: New test.
	* testsuite/libgomp.c/pr32362-2.c: New test.
	* testsuite/libgomp.c/pr32362-3.c: New test.

From-SVN: r125917
2007-06-21 14:11:00 +02:00
Richard Guenther d9eb5318b6 re PR tree-optimization/32451 (ICE in verify_flow_info after DOM2)
2007-06-21  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/32451
	* tree-ssa-threadupdate.c (thread_single_edge): Fixup edge flags.

	* g++.dg/torture/20070621-1.C: New testcase.

From-SVN: r125916
2007-06-21 12:00:47 +00:00
Christian Bruel 5c7cafa8dc svn ci -m "introduce bank[0,1] registers and fix rte delay slot scheduling"
2007-06-21  Christian Bruel  <christian.bruel@st.com>

	* config/sh/sh-protos.h (sh_loads_bankedreg_p): Declare.
	* config/sh/sh.c (sh_loads_bankedreg_p): New function.
	(push_regs): Changed saving order or banked registers.
	(sh_expand_epilogue): Likewise.
	* config/sh/sh.h (BANKED_REGISTER_P): New macro.
	(FIRST_BANKED_REG): Likewise.
	(LAST_BANKED_REG): Likewise.
	* config/sh/sh.md (banked) New attribute.
	(in_delay_slot): Check banked attribute.

2007-06-21  Christian Bruel  <christian.bruel@st.com>

	* gcc.dg/attr-isr.c: Test delay slot content.

From-SVN: r125914
2007-06-21 10:58:53 +02:00
Sebastian Pop c0aafd30f7 re PR tree-optimization/32075 (can't determine dependence between p->a[x+i] and p->a[x+i+1] where x is invariant but defined in the function)
PR tree-optimization/32075
	* tree-data-ref.c (subscript_dependence_tester_1, 
	analyze_miv_subscript, analyze_overlapping_iterations,
	add_distance_for_zero_overlaps, build_classic_dist_vector,
	subscript_dependence_tester_1, analyze_overlapping_iterations,
	subscript_dependence_tester, access_functions_are_affine_or_constant_p,
	compute_affine_dependence, compute_all_dependences): Pass loop_nest 
	to evolution_function_is_affine_multivariate_p.

From-SVN: r125901
2007-06-20 23:44:56 +00:00
Sebastian Pop da9a21f490 re PR tree-optimization/32075 (can't determine dependence between p->a[x+i] and p->a[x+i+1] where x is invariant but defined in the function)
PR tree-optimization/32075
	* tree-data-ref.c (subscript_dependence_tester_1, 
	analyze_miv_subscript, analyze_overlapping_iterations,
	add_distance_for_zero_overlaps, build_classic_dist_vector,
	subscript_dependence_tester_1, analyze_overlapping_iterations,
	subscript_dependence_tester, access_functions_are_affine_or_constant_p,
	compute_affine_dependence, compute_all_dependences): Pass loop_nest 
	to evolution_function_is_affine_multivariate_p.

From-SVN: r125900
2007-06-20 23:42:28 +00:00
Eric Botcazou 7e657ec235 df-scan.c (df_get_call_refs): Be prepared for MEMs inside CLOBBERs.
* df-scan.c (df_get_call_refs): Be prepared for MEMs inside CLOBBERs.

From-SVN: r125894
2007-06-20 20:26:07 +00:00
Rask Ingemann Lambertsen 7a9dcd47e8 re PR target/32335 (libgcc build failure, ICE in cselib_record_set, at cselib.c:1508)
2007-06-20  Rask Ingemann Lambertsen  <rask@sygehus.dk>

	PR target/32335
	* config/m32c/m32c.c (m32c_emit_epilogue): Use new HImode epilogue
	for TARGET_A16.
	* config/m32c/prologue.md (epilogue_exitd_16): New.
	(epilogue_reit_16): New.
	(epilogue_exitd): Rename to epilogue_exitd_24.
	(epilogue_reit): Rename to epilogue_reit_24.

From-SVN: r125893
2007-06-20 19:58:57 +00:00
Seongbae Park b631c5f742 dbgcnt.def (global_alloc_at_func, [...]): New counters.
2007-06-20  Seongbae Park  <seongbae.park@gmail.com>
            Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>

	* dbgcnt.def (global_alloc_at_func, global_alloc_at_reg):
	New counters.
	* haifa-sched.c (queue_to_ready): Don't requeue next insn
	if dbg_cnt (sched_insn) reaches the limit.
	(choose_ready): New parameter INSN_PTR and new return value.
	(schedule_block): Handle dbg_cnt (sched_insn). Handle
	the new return value from choose_ready.
	* global.c (global_aloc): New dbgcnt global_alloc_at_reg.
	(rest_of_handle_global_alloc): New global_alloc_at_func.



Co-Authored-By: Maxim Kuvyrkov <mkuvyrkov@ispras.ru>

From-SVN: r125891
2007-06-20 18:22:28 +00:00
Adam Nemet 3d9b47dc43 re PR tree-optimization/25737 (ACATS c974001 c974013 hang with struct aliasing)
PR tree-optimization/25737
	* tree.h (struct tree_struct_field_tag): Add new field alias_set.
	(SFT_NONADDRESSABLE_P, SFT_ALIAS_SET): New macros.
	* tree-flow.h (struct fieldoff): Add new field alias_set.
	* tree-ssa-structalias.c (push_fields_onto_fieldstack): Add new
	argument addressable_type.  Set alias_set of fieldoff.
	* tree-ssa-alias.c (create_sft): Add new argument alias_set.
	(create_overlap_variables_for): Pass alias_set from fieldoff to
	create_sft.
	* alias.c (get_alias_set): Use alias_set from SFT if set.

From-SVN: r125890
2007-06-20 18:19:10 +00:00
Hui-May Chang 1c5ae9624c darwin.h (ASM_OUTPUT_COMMON): Print the size of a variable as an unsigned HOST_WIDE_INT integer.
* gcc/config/i386/darwin.h (ASM_OUTPUT_COMMON): Print the size
	of a variable as an unsigned HOST_WIDE_INT integer.

 	* gcc.target/i386/large-size-array-3.c: New.

From-SVN: r125888
2007-06-20 16:43:24 +00:00
Nick Clifton 8dba2dedd3 Add (accidentally omited) ChangeLog entry for delta to config/m32r/linux.h
From-SVN: r125883
2007-06-20 08:47:02 +00:00
Zdenek Dvorak 6848da6a81 re PR rtl-optimization/32405 (assertion failure in loop-iv.c; probable dataflow regression)
PR rtl-optimization/32405
	* loop-iv.c (iv_get_reaching_def): Fail for partial defs.

From-SVN: r125881
2007-06-20 06:56:26 +00:00
Jakub Jelinek 6330585d97 * Makefile.in (omega.o): Depend on $(DIAGNOSTIC_H).
From-SVN: r125876
2007-06-20 08:42:00 +02:00
Jakub Jelinek 1d8381f13f re PR middle-end/31959 (ICE in expand_builtin_expect, at builtins.c:5112)
PR middle-end/31959
	* builtins.c: Include diagnostic.h.
	(expand_builtin_expect): Make gcc_assert more permissive.
	* Makefile.in (builtins.o): Depend on $(DIAGNOSTIC_H).

	* gcc.dg/pr31959.c: New test.

From-SVN: r125875
2007-06-20 08:39:53 +02:00
Jakub Jelinek f497c16c26 re PR inline-asm/32109 (ICE with inline-asm and class with destructor)
PR inline-asm/32109
	* gimplify.c (gimplify_asm_expr): Issue error if type is addressable
	and !allows_mem.

	* g++.dg/ext/asm10.C: New test.

From-SVN: r125874
2007-06-20 08:37:17 +02:00
Jakub Jelinek 6a4e56a90e re PR middle-end/32285 (Miscompilation with pure _Complex returning call inside another fn's argument list)
PR middle-end/32285
	* calls.c (precompute_arguments): Also precompute CALL_EXPR arguments
	if ACCUMULATE_OUTGOING_ARGS.

	* gcc.c-torture/execute/20070614-1.c: New test.

From-SVN: r125873
2007-06-20 08:35:55 +02:00
Rask Ingemann Lambertsen c105ee098f m68hc11.c: Include dataflow header file.
2007-06-19  Rask Ingemann Lambertsen  <rask@sygehus.dk>

	* config/m68hc11/m68hc11.c: Include dataflow header file.
	(m68hc11_reorg): Port to dataflow.

From-SVN: r125861
2007-06-19 21:41:43 +00:00
Kenneth Zadeck 4aa0f91154 forgot to save back Changelog
From-SVN: r125860
2007-06-19 21:07:29 +00:00
Uros Bizjak 670a8526bc i386.c (ix86_emit_swsqrtsf): Filter out infinity result of rsqrt insn for zero input argument to avoid NaN.
* config/i386/i386.c (ix86_emit_swsqrtsf): Filter out infinity
        result of rsqrt insn for zero input argument to avoid NaN.

From-SVN: r125858
2007-06-19 21:58:26 +02:00