Commit Graph

32821 Commits

Author SHA1 Message Date
Richard Sandiford a4fbe84bd2 revert: dce.c (deletable_insn_p_1): New function, split out from...
gcc/
	Revert:

	2007-06-27  Richard Sandiford  <richard@codesourcery.com>

	* 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: r126143
2007-06-30 12:23:18 +00:00
Rask Ingemann Lambertsen 9d35384d74 combine.c (combine_validate_cost): New parameter NEWOTHERPAT.
* combine.c (combine_validate_cost): New parameter NEWOTHERPAT.
	(try_combine): Move potential calls to undo_all() so they happen
	before we commit to using the combined insns.

From-SVN: r126142
2007-06-30 11:28:57 +00:00
Jan Hubicka 2ed2257828 loop-unroll.c (unroll_loop_runtime_iterations): Unshare newly emit code.
* loop-unroll.c (unroll_loop_runtime_iterations): Unshare newly emit    
	code.

From-SVN: r126141
2007-06-30 11:16:33 +00:00
Thomas Neumann c5274326e0 ipa.c (cgraph_postorder): Cast according to the coding conventions.
* ipa.c (cgraph_postorder): Cast according to the coding conventions.
	(cgraph_remove_unreachable_nodes): Likewise.
	* ipa-cp.c (ipcp_propagate_stage): Use BOTTOM instead of integer 0.
	* ipa-inline.c (update_caller_keys): Cast according to the coding
	conventions.
	(cgraph_decide_recursive_inlining): Likewise.
	(cgraph_decide_inlining_of_small_function): Likewise.
	(try_inline): Likewise.
	(cgraph_decide_inlining_incrementally): Likewise.
	* ipa-pure-const.c (get_function_state): Likewise.
	(scan_function): Likewise.
	(analyze_function): Likewise.
 	(static_execute): Likewise.
	* gcc/ipa-reference.c (scan_for_static_refs): Likewise.
	(merge_callee_local_info): Likewise.
	(analyze_function): Use type safe memory macros.
	(static_execute): Likewise. Cast according to the coding conventions.
	* ipa-type-escape.c (scan_for_regs): Cast according to the coding
	conventions.
	* ipa-utils.c (searchc): Likewise. Avoid using C++ keywords as variable
	names.
	(ipa_utils_reduced_inorder): Likewise. Use type safe memory macros.
	* ipa-utils.h (struct ipa_dfa_info): Avoid using C++ keywords as
	variable names.

From-SVN: r126140
2007-06-30 10:52:30 +00:00
Andrew Pinski 23512eb32c Add forgotten PR number to the last changelog entry:
2007-06-29  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/30024
        * emit-rtl.c (init_emit_once): Intilize const_tiny_rtx[0]
        for complex modes (both int and real).

From-SVN: r126137
2007-06-29 19:21:57 -07:00
Andrew Pinski e90721b110 emit-rtl.c (init_emit_once): Intilize const_tiny_rtx[0] for complex modes (both int and real).
2007-06-29  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * emit-rtl.c (init_emit_once): Intilize const_tiny_rtx[0]
        for complex modes (both int and real).

From-SVN: r126136
2007-06-29 19:20:25 -07:00
Jan Hubicka 874d7c2f29 * cse.c: Rever accidentally comitted TODO_verify_rtl_sharing change.
From-SVN: r126130
2007-06-29 23:18:16 +00:00
Jan Hubicka acff804059 re PR rtl-optimization/32372 (ICE in df_refs_verify, at df-scan.c:4065)
PR middle-end/32372
	* cse.c (cse_insn): Avoid invalid sharing in between register note and
	the insn pattern.

From-SVN: r126122
2007-06-29 20:13:41 +00:00
Anatoly Sokolov 4e63b362a7 re PR target/32335 (libgcc build failure, ICE in cselib_record_set, at cselib.c:1508)
PR target/32335
	* config/avr/avr.c: Include dataflow header file.
	(expand_prologue): Adjust for prologue insn change.
	* config/avr/avr.md (call_prologue_saves): Only modify REG_SP once
	inside a insn.

From-SVN: r126121
2007-06-30 00:05:56 +04:00
Daniel Jacobowitz 8edd82f2b3 Correct date.
From-SVN: r126114
2007-06-29 14:28:19 +00:00
Richard Guenther 42f6e2ec11 re PR middle-end/32493 (Fails to inline varargs function with unused arguments)
2006-06-29  Richard Guenther  <rguenther@suse.de>

	PR middle-end/32493
	* gimplify.c (gimplify_call_expr): Ignore variable argument parts
	during type verification.

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

From-SVN: r126113
2007-06-29 13:43:10 +00:00
Jan Hubicka 29fbecf33f * recog.c (validate_change_rtx_1): Unshare TO argument.
From-SVN: r126112
2007-06-29 10:41:48 +00:00
Uros Bizjak b40c4f6816 re PR tree-optimization/24659 (Conversions are not vectorized)
PR tree-optimization/24659
	* tree-vect-transform.c (vectorizable_call): Handle
	(nunits_in == nunits_out / 2) and (nunits_out == nunits_in / 2) cases.

	* config/i386/sse.md (vec_pack_sfix_v2df): New expander.
	* config/i386/i386.c (enum ix86_builtins)
	[IX86_BUILTIN_VEC_PACK_SFIX]: New constant.
	(struct bdesc_2arg) [__builtin_ia32_vec_pack_sfix]: New builtin
	description.
	(ix86_init_mmx_sse_builtins): Define all builtins with 2 arguments as
	const using def_builtin_const.
	(ix86_expand_binop_builtin): Remove bogus assert() that insn wants
	input operands in the same modes as the result.
	(ix86_builtin_vectorized_function): Handle BUILT_IN_LRINT.

testsuite/ChangeLog:

	PR tree-optimization/24659
	* gcc.target/i386/vectorize2.c: New test.
	* gcc.target/i386/sse2-lrint-vec.c: New runtime test.
	* gcc.target/i386/sse2-lrintf-vec.c: Ditto.

From-SVN: r126111
2007-06-29 12:30:06 +02:00
Richard Sandiford 27178277a3 df-problems.c (df_set_unused_notes_for_mw): Fix formatting.
gcc/
	* df-problems.c (df_set_unused_notes_for_mw): Fix formatting.
	(df_set_dead_notes_for_mw): Likewise.

From-SVN: r126109
2007-06-29 07:05:23 +00:00
Eric Botcazou 280f1ffa27 c-common.c (pointer_int_sum): Do the negation in sizetype.
* c-common.c (pointer_int_sum): Do the negation in sizetype.

From-SVN: r126108
2007-06-29 06:11:17 +00:00
DJ Delorie 58ef0ffacc * config/m32c/m32c.h (OVERRIDE_OPTIONS): Omit unneeded semicolon.
From-SVN: r126092
2007-06-28 16:26:19 -04:00
Geoffrey Keating ddbfd28de9 Index: gcc/ChangeLog
2007-06-21  Geoffrey Keating  <geoffk@apple.com>

	* doc/invoke.texi (C++ Dialect Options): Document
	fvisibility-ms-compat.
	* c.opt (fvisibility-ms-compat): New.

Index: gcc/cp/ChangeLog
2007-06-21  Geoffrey Keating  <geoffk@apple.com>

	* decl2.c (determine_visibility): Implement
	flag_visibility_ms_compat effect on type info.
	* decl.c (cxx_init_decl_processing): Implement
	global effect of flag_visibility_ms_compat.

Index: gcc/testsuite/ChangeLog
2007-06-26  Geoffrey Keating  <geoffk@apple.com>

	* g++.dg/ext/visibility/ms-compat-1.C: New.

From-SVN: r126088
2007-06-28 19:31:45 +00:00
Andrew Pinski f46fe0e64c re PR middle-end/32417 (416.gamess ICEs (in aff_combination_add_elt, tree-affine.c))
2007-06-28  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/32417
        * tree-affine.c (aff_combination_add_elt): Handle
        pointer addition specially.

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

        PR tree-opt/32417
        * gfortran.fortran-torture/compile/pr32417.f90: New test.

From-SVN: r126082
2007-06-28 12:03:49 -07:00
Jakub Jelinek 8aa19d9599 [multiple changes]
2007-06-28  Jakub Jelinek  <jakub@redhat.com>

	* config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Ensure
	decl is non-external for AIX ABI.

2007-06-28  David Edelsohn  <edelsohn@gnu.org>

	* config/rs6000/predicates.md (current_file_function_operand):
	Ensure the symbol is non-external for AIX ABI.

From-SVN: r126076
2007-06-28 13:28:13 +02:00
Nick Clifton 6ae4be32f1 common.opt (fipa-matrix-reorg): Add Optimization attribute.
* common.opt (fipa-matrix-reorg): Add Optimization attribute.
  (fdce, fdse, fpredictive-commoning): Likewise.

From-SVN: r126073
2007-06-28 09:30:57 +00:00
Francois-Xavier Coudert 86db887aa6 re PR other/31400 (enable static linking of support libraries through -static-libXY)
PR other/31400

	* gcc.c (process_command): Recognize the new -static-libgfortran
	option.

	* lang.opt (static-libgfortran): New option.
	* gfortranspec.c (ADD_ARG_LIBGFORTRAN): New macro.
	(Option): Add OPTION_static and OPTION_static_libgfortran.
	(lookup_option): Handle the new -static-libgfortran option.
	(lang_specific_driver): Check whether -static is passed.
	Handle the new -static-libgfortran option.
	* options.c (gfc_handle_option): If -static-libgfortran is
	passed and isn't supported on this configuration, error out.

From-SVN: r126068
2007-06-27 22:58:37 +00:00
Rask Ingemann Lambertsen 99920b6fbb re PR target/32418 (ICE in global_alloc, at global.c:514)
2007-06-27  Rask Ingemann Lambertsen  <rask@sygehus.dk>

	PR target/32418
	* config/m32c/m32c.c (m32c_eh_return_stackadj_rtx): Dataflow fix:
	Use a call clobbered hard reg instead of a pseudo reg.

From-SVN: r126067
2007-06-27 22:23:35 +00:00
Kaz Kojima 2c19a53652 sh.md (load_gbr): Use correct operand constraint.
* config/sh/sh.md (load_gbr): Use correct operand constraint.

From-SVN: r126066
2007-06-27 22:18:59 +00:00
Kaz Kojima ba56ed6517 re PR target/32479 ([sh] ICE in cse_extended_basic_block, at cse.c:6117)
PR target/32479
	* config/sh/sh.md (udivsi3): Don't wrap the sequence with
	REG_LIBCALL and REG_RETVAL notes.
	(divsi3, mulsi3): Likewise.
	(mulhisi3): Likewise.  Use emit_libcall_block.
	(umulhisi3, smulsi3_highpart, umulsi3_highpart_i): Likewise.

From-SVN: r126065
2007-06-27 21:40:19 +00:00
Eric Botcazou 20de4d9913 Fix nits.
From-SVN: r126062
2007-06-27 19:56:56 +00:00
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