Commit Graph

32931 Commits

Author SHA1 Message Date
Richard Guenther f967586f51 decl.c (start_preparsed_function): Do not promote return type.
2007-07-09  Richard Guenther  <rguenther@suse.de>

	cp/
	* decl.c (start_preparsed_function): Do not promote return type.

	* c-decl.c (start_function): Do not promote return type.

From-SVN: r126480
2007-07-09 09:53:11 +00:00
Daniel Franke 534fd53491 re PR fortran/24784 (Warning about unused routine argument should not read "unused variable")
gcc:
2007-07-08  Daniel Franke  <franke.daniel@gmail.com>

	* function.c (do_warn_unused_parameter): Do not warn if
        TREE_NO_WARNING is set.

gcc/fortran:
2007-07-08  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/24784
	PR fortran/28004
	* trans-decl.c (generate_local_decl): Adjusted warning on unused 
	dummy arguments, tell middle-end not to emit additional warnings.

From-SVN: r126471
2007-07-08 18:41:35 -04:00
Andreas Schwab 9f06d33079 * doc/invoke.texi (DEC Alpha/VMS Options): Fix typo.
From-SVN: r126462
2007-07-08 16:06:33 +00:00
Sandra Loosemore 170ea7b948 revert: c-opts.c (c_common_handle_option): Make DOLLARS_IN_IDENTIFIERS apply to assembly language, too.
2007-07-08  Sandra Loosemore  <sandra@codesourcery.com>

	Revert this patch:
	2007-07-06  Sandra Loosemore  <sandra@codesourcery.com>

	* c-opts.c (c_common_handle_option): Make DOLLARS_IN_IDENTIFIERS
	apply to assembly language, too.
	* doc/tm.texi (DOLLARS_IN_IDENTIFIERS): Update.

From-SVN: r126458
2007-07-08 09:46:20 -04:00
Daniel Berlin b71b4522b5 Revert (note the sccvn portions are *not* reverted) 2007-07-06 Daniel Berlin <dberlin@dberlin.org>
2007-07-07  Daniel Berlin  <dberlin@dberlin.org>

	Revert (note the sccvn portions are *not* reverted)
	2007-07-06  Daniel Berlin  <dberlin@dberlin.org>

	Fix PR tree-optimization/23488

	* tree-vn.c (set_value_handle): Use decl_vh_map for decl value
	handles.
	* tree-flow-inline.h (get_value_handle): Ditto.
	* tree-ssa-pre.c (decl_vh_map): New.
	(decl_node_pool): New.
	(can_value_number_operation): Support DECL_P.
	(can_PRE_operation): Ditto.
	(create_expression_by_pieces): Ditto.
	(find_existing_value_expr): Modify to differnetiate between
	addressing and top level.
	(create_value_handle_for_expr): Handle DECL's.
	(poolify_tree): Ditto.
	(make_values_for_phi): Don't insert into PHI_GEN during FRE.
	(make_values_for_stmt): Handle DECL's properly.
	(init_pre): Reorg to not init useless things during FRE.
	(fini_pre): Ditto.
	* tree-flow.h: Include pointer-set.h.
	(decl_vh_map): Declare.
	* Makefile.in (TREE_FLOW_H): Add pointer-set.h

From-SVN: r126449
2007-07-07 22:23:26 +00:00
Eric Weddington 0e8eb4d81e constraints.md (define_memory_constraint "Q"): Fix the constraint description.
* config/avr/constraints.md (define_memory_constraint "Q"): Fix
	the constraint description.
	* doc/md.texi: Update documentation of AVR constraints.

From-SVN: r126448
2007-07-07 23:55:12 +04:00
Kazu Hirata f576d4f942 tree-ssa-operands.c (realloc_vop, [...]): Remove.
* tree-ssa-operands.c (realloc_vop, realloc_vdef,
	realloc_vuse): Remove.
	* tree-ssa-operands.h: Remove the prototype for realloc_vdef
	and realloc_vuse.

From-SVN: r126442
2007-07-07 14:20:58 +00:00
Kazu Hirata 0a6b055f65 cfgrtl.c (delete_insn_chain_and_edges): Remove.
* cfgrtl.c (delete_insn_chain_and_edges): Remove.
	* rtl.h: Remove the prototype for delete_insn_chain_and_edges.

From-SVN: r126441
2007-07-07 14:20:02 +00:00
Kazu Hirata 6ed3da0066 auto-inc-dec.c, [...]: Fix comment typos.
* auto-inc-dec.c, config/arm/arm.c,
	config/m32r/constraints.md, config/mips/mips.md,
	config/rs6000/rs6000.c, cselib.c, dce.c, df-core.c,
	df-problems.c, df-scan.c, df.h, dse.c, gimplify.c,
	tree-if-conv.c, tree-ssa-sccvn.c, tree-ssa.c: Fix comment
	typos.  Follow spelling conventions.
	* doc/invoke.texi, doc/rtl.texi: Fix typos.

From-SVN: r126439
2007-07-07 13:00:43 +00:00
Daniel Berlin e9bd9cf340 re PR middle-end/23488 (GCSE load PRE does not work with non sets (or missing load PRE with plain decls))
2007-07-06  Daniel Berlin  <dberlin@dberlin.org>

	Fix PR tree-optimization/23488

	* tree-ssa-sccvn.c (expr_has_constants): Handle tcc_declaration.
	(try_to_simplify): Ditto.
	(visit_use): Ditto.
	* tree-vn.c (set_value_handle): Use decl_vh_map for decl value
	handles.
	* tree-flow-inline.h (get_value_handle): Ditto.
	* tree-ssa-pre.c (decl_vh_map): New.
	(decl_node_pool): New.
	(can_value_number_operation): Support DECL_P.
	(can_PRE_operation): Ditto.
	(create_expression_by_pieces): Ditto.
	(find_existing_value_expr): Modify to differnetiate between
	addressing and top level.
	(create_value_handle_for_expr): Handle DECL's.
	(poolify_tree): Ditto.
	(make_values_for_phi): Don't insert into PHI_GEN during FRE.
	(make_values_for_stmt): Handle DECL's properly.
	(init_pre): Reorg to not init useless things during FRE.
	(fini_pre): Ditto.
	* tree-flow.h: Include pointer-set.h.
	(decl_vh_map): Declare.
	* Makefile.in (TREE_FLOW_H): Add pointer-set.h

From-SVN: r126434
2007-07-07 03:25:29 +00:00
Sandra Loosemore 48468cd0b7 missed ChangeLog for last patch
From-SVN: r126428
2007-07-06 18:10:59 -04:00
Ian Lance Taylor 508dabda23 re PR middle-end/32441 (ICE in expand_expr_real_1, at expr.c:7109)
2007-07-06  Ian Lance Taylor  <iant@google.com>
            Zack Weinberg  <zackw@panix.com>

	PR middle-end/32441
	* builtins.c (std_expand_builtin_va_start): Don't use make_tree.

Co-Authored-By: Zack Weinberg <zackw@panix.com>

From-SVN: r126424
2007-07-06 17:57:58 +00:00
Richard Sandiford e0ff69ab11 sh.md (*prefetch_i4): Disable for TARGET_VXWORKS_RTP.
gcc/
	* config/sh/sh.md (*prefetch_i4): Disable for TARGET_VXWORKS_RTP.
	(prefetch): Likewise if "pref" would be used.

From-SVN: r126423
2007-07-06 17:00:15 +00:00
Josh Conner d6c2c77c91 re PR middle-end/32602 (Sibcall optimization fails to detect overlap)
2007-07-06  Josh Conner  <jconner@apple.com>

	PR middle-end/32602
	PR middle-end/32603
	* calls.c (store_one_arg): Handle arguments which are partially
	on the stack when detecting argument overlap.

2007-07-06  Josh Conner  <jconner@apple.com>

	PR middle-end/32602
	* gcc.dg/sibcall-8.c: New test.

2007-07-06  Josh Conner  <jconner@apple.com>

	PR middle-end/32603
	* gcc.target/arm/sibcall-1.c: New test.

From-SVN: r126422
2007-07-06 16:57:19 +00:00
Bernd Schmidt 374d961c0d reload1.c (choose_reload_regs): Set reload_spill_index for regs chosen during find_reloads.
* reload1.c (choose_reload_regs): Set reload_spill_index for regs
	chosen during find_reloads.

From-SVN: r126415
2007-07-06 13:42:26 +00:00
Richard Guenther 004e2fa73b gimplify.c (gimplify_call_expr): Prefer DECL_ARGUMENTS over TYPE_ARG_TYPES for verification of argument types.
2007-07-06  Richard Guenther  <rguenther@suse.de>

	* gimplify.c (gimplify_call_expr): Prefer DECL_ARGUMENTS over
	TYPE_ARG_TYPES for verification of argument types.  Use
	DECL_ARG_TYPE instead of the PARM_DECL type.  Take excess
	parameters as variable arguments.

        * g++.dg/opt/pr30965.C: New testcase.

From-SVN: r126412
2007-07-06 11:23:59 +00:00
Andreas Krebbel c7ff6e7a7a libgcc2.h (word_type): Type definition removed.
2007-07-06  Andreas Krebbel  <krebbel1@de.ibm.com>

	* libgcc2.h (word_type): Type definition removed.
	(cmp_return_type, shift_count_type): Type definitions added.
	(__lshrdi3, __ashldi3, __ashrdi3): word_type of second parameter
	replaced with shift_count_type.
	(__cmpdi2, __ucmpdi2): word_type of return type replaced with
	cmp_return_type.
	* libgcc2.c (__udivmoddi4, __moddi3): Type of local variable c
	changed from word_type to Wtype.
	(__lshrdi3, __ashldi3, __ashrdi3): word_type of second parameter
	replaced with shift_count_type.
	(__cmpdi2, __ucmpdi2): word_type of return type replaced with
	cmp_return_type.
	* c-common.c (handle_mode_attribute): Handling for libgcc_cmp_return and
	libgcc_shift_count attribute added.
	* target-def.h (TARGET_LIBGCC_CMP_RETURN_MODE,
	TARGET_LIBGCC_SHIFT_COUNT_MODE): New target hooks defined.
	(TARGET_INITIALIZER): New target hooks added.
	* targhooks.c (default_libgcc_cmp_return_mode,
	default_libgcc_shift_count_mode): Default implementations for the new
	target hooks added.
	* targhooks.h (default_libgcc_cmp_return_mode,
	default_libgcc_shift_count_mode): Function prototypes added.
	* target.h (struct gcc_target): Fields for the new target hooks added.
	* optabs.c (expand_binop): Use shift_count_mode when expanding shift
	as library call.
	(prepare_cmp_insn): Use cmp_return_mode when expanding comparison as
	library call.

	* doc/tm.texi (TARGET_LIBGCC_CMP_RETURN_MODE,
	TARGET_LIBGCC_SHIFT_COUNT_MODE): Documentation added.

	* config/s390/s390.c (s390_libgcc_cmp_return_mode,
	s390_libgcc_shift_count_mode): Functions added.
	(TARGET_LIBGCC_CMP_RETURN_MODE,	TARGET_LIBGCC_SHIFT_COUNT_MODE): Target
	hooks defined.

From-SVN: r126410
2007-07-06 10:47:31 +00:00
Richard Sandiford 713df81003 mips.c (compute_frame_size): Restore the original gp_sp_offset for !GENERATE_MIPS16E_SAVE_RESTORE and remove...
gcc/
	* config/mips/mips.c (compute_frame_size): Restore the original
	gp_sp_offset for !GENERATE_MIPS16E_SAVE_RESTORE and remove the
	fp_size term from the GENERATE_MIPS16E_SAVE_RESTORE calculation.
	Document why the difference is needed.

From-SVN: r126406
2007-07-06 09:27:10 +00:00
Richard Guenther b5119fa139 c-common.c (boolean_increment): Use correctly typed constant.
2007-07-06  Richard Guenther  <rguenther@suse.de>

	* c-common.c (boolean_increment): Use correctly typed
	constant.

	cp/
	* init.c (build_new_1): Use the correct pointer type.
	* typeck2.c (build_m_component_ref): Likewise.

From-SVN: r126405
2007-07-06 09:24:18 +00:00
Richard Sandiford 106b3d40e7 mips.c (mips16e_save_restore_pattern_p): Check that the topmost argument register is not also included in the save mask.
gcc/
	* config/mips/mips.c (mips16e_save_restore_pattern_p): Check that
	the topmost argument register is not also included in the save mask.
	(mips16e_collect_argument_save_p): Take a pointer to the argument
	register, rather than a pointer to the number of arguments.
	(mips16e_collect_argument_saves): Only include argument saves
	that aren't in the register mask.

gcc/testsuite/
	* gcc.target/mips/save-restore-5.c: New test.

From-SVN: r126404
2007-07-06 09:20:46 +00:00
Uros Bizjak 56d1768122 re PR rtl-optimization/32450 (-pg causes miscompilation)
PR rtl_optimization/32450
	* function.c (thread_prologue_and_epilogue_insns): Emit blockage insn
	to ensure that instructions are not moved into the prologue when
	profiling is on.  Remove unused prologue_end variable.
	(expand_function_end): Emit blockage insn instead of ASM_INPUT rtx
	as a scheduling barrier.

testsuite/ChangeLog:

	PR rtl_optimization/32450
	* gcc.dg/pr32450.c: New runtime test.

From-SVN: r126403
2007-07-06 10:53:15 +02:00
Alexandre Oliva 042f720de1 re PR debug/23551 (dwarf records for inlines appear incomplete)
PR debug/23551
* tree-ssa-copyrename.c (copy_rename_partition_coalesce):
Disregard DECL_FROM_INLINE.

From-SVN: r126402
2007-07-06 08:38:40 +00:00
Adam Nemet 22761ec3b9 rtlanal.c (num_sign_bit_copies1): Improve cases of ANDing or IORing with a constant.
* rtlanal.c (num_sign_bit_copies1): Improve cases of ANDing or
	IORing with a constant.

From-SVN: r126397
2007-07-06 00:20:46 +00:00
Seongbae Park 47220f037b re PR rtl-optimization/32475 (function with asm() does not setup stack frame)
2007-07-05  Seongbae Park  <seongbae.park@gmail.com>

	PR rtl-optimization/32475
	* df-scan.c (df_def_record_1): Add a use of the stack pointer
	for every definition of the stack pointer.

From-SVN: r126391
2007-07-05 23:44:44 +00:00
Richard Earnshaw 8e39e9afe0 arm.c (vfp3_const_double_index): Copy signed results of REAL_VALUE_TO_INT into unsigned vars.
* arm.c (vfp3_const_double_index): Copy signed results of
	REAL_VALUE_TO_INT into unsigned vars.

From-SVN: r126390
2007-07-05 21:33:30 +00:00
Richard Guenther e11e491dbf re PR middle-end/32639 (ptrmem1.C now ICE's on mainline)
2007-07-05  Richard Guenther  <rguenther@suse.de>

	PR middle-end/32639
	* alias.c (get_alias_set): Tread METHOD_TYPE the same as
	FUNCTION_TYPE.
	* tree-ssa.c (useless_type_conversion_p): Check canonical
	types early.

From-SVN: r126389
2007-07-05 21:21:10 +00:00
Anatoly Sokolov 2d0c44e63f avr.md (zero_extendqihi2, [...]): Change to define_insn_and_split.
* config/avr/avr.md (zero_extendqihi2, zero_extendqisi2, 
	zero_extendhisi2): Change to define_insn_and_split. 
	(zero_extendqidi2, zero_extendhidi2, zero_extendsidi2): New.

From-SVN: r126387
2007-07-06 00:41:29 +04:00
Paolo Bonzini d8d72314c4 function.c (match_asm_constraints_1, [...]): New.
2007-07-05  Paolo Bonzini  <bonzini@gnu.org>

	* function.c (match_asm_constraints_1, rest_of_match_asm_constraints,
	pass_match_asm_constraints): New.
	* passes.c (init_optimization_passes): Add new pass.
	* stmt.c (expand_asm_operands): Set cfun->has_asm_statement.
	* function.h (struct function): Add has_asm_statement bit.
	(current_function_has_asm_statement): New.
	* tree-pass.h (pass_match_asm_constraints): New.

From-SVN: r126385
2007-07-05 20:04:36 +00:00
Richard Sandiford 629c69574f mips.c (mips_file_start): Avoid declaration after code.
gcc/
	* config/mips/mips.c (mips_file_start): Avoid declaration
	after code.

From-SVN: r126383
2007-07-05 19:51:48 +00:00
Sandra Loosemore 9ee3427440 optabs.c (expand_binop_directly): Fix signed/unsigned comparison.
2007-07-05  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* optabs.c (expand_binop_directly): Fix signed/unsigned comparison.

From-SVN: r126382
2007-07-05 15:11:05 -04:00
Uros Bizjak 28cc8a5028 rtl.def (NOTE): Change print format string to print operand 5 as a note insn name.
* rtl.def (NOTE): Change print format string to print
    operand 5 as a note insn name.

From-SVN: r126374
2007-07-05 19:55:07 +02:00
Sandra Loosemore 52bcd4294b mips.c (mips_cpu_info): Add 4ksc and 4ksd processors.
2007-07-05  Sandra Loosemore  <sandra@codesourcery.com>
	    David Ung  <davidu@mips.com>

	gcc/
	* config/mips/mips.c (mips_cpu_info): Add 4ksc and 4ksd processors.
	* doc/invoke.texi: (MIPS Options): Document them.

Co-Authored-By: David Ung <davidu@mips.com>

From-SVN: r126371
2007-07-05 13:10:54 -04:00
Sandra Loosemore 0aa222d17b Add support for SmartMIPS ASE.
2007-07-05  Sandra Loosemore  <sandra@codesourcery.com>
	    David Ung  <davidu@mips.com>

	Add support for SmartMIPS ASE.

	gcc/
	* optabs.c (expand_binop_directly): New, broken out from...
	(expand_binop): Here.  Make it try rotating in the other
	direction even when the second operand isn't constant.
	* config/mips/mips.md (*lwxs): New.
	* config/mips/mips.opt (msmartmips): New.
	* config/mips/mips.c (mips_lwxs_address_p): New.
	(mips_rtx_costs): Make it recognize scaled indexed addressing.
	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define
	__mips_smartmips when compiling for TARGET_SMARTMIPS.
	(ISA_HAS_ROR): Define for TARGET_SMARTMIPS.
	(ISA_HAS_LWXS): New.
	(ASM_SPEC): Add -msmartmips/-mno-smartmips.
	* doc/invoke.texi (MIPS Options): Document -msmartmips/-mno-smartmips.
	* testsuite/gcc.target/mips/smartmips-lwxs.c: New test case.
	* testsuite/gcc.target/mips/smartmips-ror-1.c: New test case.
	* testsuite/gcc.target/mips/smartmips-ror-2.c: New test case.
	* testsuite/gcc.target/mips/smartmips-ror-3.c: New test case.
	* testsuite/gcc.target/mips/smartmips-ror-4.c: New test case.

Co-Authored-By: David Ung <davidu@mips.com>

From-SVN: r126370
2007-07-05 13:08:37 -04:00
Dorit Nuzman 3a70f3efef tree-vectorizer.c (new_loop_vec_info): Initialize LOOP_VINFO_COST_MODEL_MIN_ITERS.
* tree-vectorizer.c (new_loop_vec_info): Initialize
        LOOP_VINFO_COST_MODEL_MIN_ITERS.
        * tree-vectorizer.h (_loop_vec_info): Added new filed
        min_profitable_iters.
        (LOOP_VINFO_COST_MODEL_MIN_ITERS): New access macro to above new field.
        (TARG_SCALAR_TO_VEC_COST): Define cost of scalar to vector operation.
        * tree-vect-analyze.c (vect_analyze_operations): Set
        LOOP_VINFO_COST_MODEL_MIN_ITERS.
        * tree-vect-transform.c (vect_estimate_min_profitable_iters): Use
        VEC_length to determine if there are any LOOP_VINFO_MAY_MISALIGN_STMTS.
        Fix calculation of peel_iters_prologue. Move consideration of epilogue
        and prologue cost to after they are computed.
        (vect_model_induction_cost): Use TARG_SCALAR_TO_VEC_COST instead of
        TARG_VEC_STMT_COST.
        (vect_model_simple_cost): Takes additional argument dt. Consider cost
        of creating vectors from scalars according to dt.
        (vect_model_store_cost): Likewise.
        (vectorizable_call): Use dt array instead of scalar dt. Call
        vect_model_simple_cost with additional argument dt.
        (vectorizable_assignment): Likewise.
        (vectorizable_operation): Likewise.
        (vectorizable_type_demotion): Likewise.
        (vectorizable_type_promotion): Likewise.
        (vectorizable_store): Use dt array instead of scalar dt. Call
        vect_model_store_cost with additional argument dt.
        (vect_do_peeling_for_loop_bound): Don't call
        vect_estimate_min_profitable_iters. Instead, lookup
        LOOP_VINFO_COST_MODEL_MIN_ITERS. Don't always print
        "may not be profitable".

        * gcc.dg/vect/costmodel/ppc: New directory.
        * gcc.dg/vect/costmodel/ppc/ppc-costmodel-vect.exp: New.
        * gcc.dg/vect/costmodel/ppc/costmodel-fast-math-vect-pr29925.c: New test.
        * gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c: New test.
        * gcc.dg/vect/costmodel/ppc/costmodel-vect-31b.c: New test.
        * gcc.dg/vect/costmodel/ppc/costmodel-vect-31c.c: New test.
        * gcc.dg/vect/costmodel/ppc/costmodel-vect-31d.c: New test.
        * gcc.dg/vect/costmodel/ppc/costmodel-vect-33.c: New test.
        * gcc.dg/vect/costmodel/ppc/costmodel-vect-76a.c: New test.
        * gcc.dg/vect/costmodel/ppc/costmodel-vect-76b.c: New test.
        * gcc.dg/vect/costmodel/ppc/costmodel-vect-76c.c: New test.
        * gcc.dg/vect/costmodel/ppc/costmodel-vect-68a.c: New test.
        * gcc.dg/vect/costmodel/ppc/costmodel-vect-68b.c: New test.
        * gcc.dg/vect/costmodel/ppc/costmodel-vect-68c.c: New test.
        * gcc.dg/vect/costmodel/ppc/costmodel-vect-68d.c: New test.
        * gcc.dg/vect/costmodel/ppc/costmodel-vect-reduc-1char.c: New test.
	  * gcc.dg/vect/costmodel/i386/costmodel-vect-68.c: Now vectorized.

From-SVN: r126368
2007-07-05 13:15:20 +00:00
Uros Bizjak 7e08fa357c * ChangeLog: Fix word wrapping.
From-SVN: r126365
2007-07-05 14:00:49 +02:00
Dorit Nuzman 4643b71608 re PR testsuite/32014 (new gcc failures)
PR testsuite/32014
        * config/rs6000/altivec.md (UNSPEC_VUPKHS_V4SF, UNSPEC_VUPKLS_V4SF):
        (UNSPEC_VUPKHU_V4SF, UNSPEC_VUPKLU_V4SF): New.
        (vec_unpacks_float_hi_v8hi, vec_unpacks_float_lo_v8hi): New patterns.
        (vec_unpacku_float_hi_v8hi, vec_unpacku_float_lo_v8hi): New patterns.

From-SVN: r126361
2007-07-05 10:56:04 +00:00
Zdenek Dvorak b301e9b3a4 i386.c (ix86_address_cost): Do not consider more complex addressing modes cheaper.
* config/i386/i386.c (ix86_address_cost): Do not consider more complex
	addressing modes cheaper.

From-SVN: r126360
2007-07-05 09:31:43 +00:00
Alexandre Oliva 0435c1d5ef dwarf2out.c (dw_ranges_by_label_ref): New typedef.
* dwarf2out.c (dw_ranges_by_label_ref): New typedef.
(dw_ranges_struct): Rename block_num to num.  Adjust.
(dw_ranges_by_label_struct): New.
(ranges_by_label, ranges_by_label_allocated,
ranges_by_label_in_use): New variables.
(add_ranges_num): Factored most of the code out of...
(add_ranges): ... this one.  Rewrite in terms of the former.
(add_ranges_by_labels): New.
(output_ranges): Output by-label ranges.
(dwarf2out_finish): Output range for multiple-section
compile_unit.  Output standard DW_AT_low_pc in addition to
unexpected DW_AT_entry_pc.

From-SVN: r126357
2007-07-05 08:30:24 +00:00
Daniel Berlin c1130b62fc re PR tree-optimization/32604 (miscompilation at -O2)
2007-07-04  Daniel Berlin  <dberlin@dberlin.org>

	PR tree-optimization/32604
	PR tree-optimization/32606
	
	* tree-ssa-pre.c (bb_bitmap_sets): Removed antic_safe_loads.
	(compute_antic_safe): Removed.
	(ANTIC_SAFE_LOADS): Ditto.
	(compute_antic_aux): Don't print ANTIC_SAFE_LOADS.
	(execute_pre): Don't call compute_antic_safe.
	(vuse_equiv): New function.
	(make_values_for_stmt): Use it
	* tree-ssa-sccvn.c (set_ssa_val_to): Remove assert, since it is
	not always true.

From-SVN: r126338
2007-07-04 22:11:14 +00:00
Anatoly Sokolov 44190aed5e re PR target/31331 ([avr] ICE on function attribute syntax for main())
PR target/31331
	* config/avr/avr.c (avr_naked_function_p): Handle receiving a type
	rather than a decl. 
	(avr_attribute_table): Make "naked" attribute apply to function types
	rather than to decls.
	(avr_handle_fntype_attribute): New function.

From-SVN: r126337
2007-07-05 01:10:28 +04:00
Joseph Myers 121f163f34 target-def.h (TARGET_INITIALIZER): Remove trailing whitespace after \.
* target-def.h (TARGET_INITIALIZER): Remove trailing whitespace
	after \.

From-SVN: r126328
2007-07-04 18:09:12 +01:00
David Ung b1a14b78e6 mips.md (type): Add logical, signext and move.
2007-07-04  David Ung  <davidu@mips.com>
            Joseph Myers  <joseph@codesourcery.com>

	* config/mips/mips.md (type): Add logical, signext and move.
	(one_cmpl<mode>2, *and<mode>3, *and<mode>3_mips16, *ior<mode>3,
	*ior<mode>3_mips16, two unnamed insns after *ior<mode>3_mips16,
	*nor<mode>3, "Combiner patterns to optimize truncate/zero_extend
	combinations", *zero_extend<SHORT:mode><GPR:mode>2,
	*zero_extendqihi2, *extend<SHORT:mode><GPR:mode>2_mips16e,
	*extend<SHORT:mode><GPR:mode>2_se<SHORT:size>, *movdi_64bit,
	*movdi_64bit_mips16, *movsi_internal, *movsi_mips16, movcc,
	*movhi_internal, *movhi_mips16, *movqi_internal, *movqi_mips16,
	*movsf_hardfloat, *movsf_softfloat, *movsf_mips16,
	*movdf_hardfloat_64bit, *movdf_hardfloat_32bit,
	movv2sf_hardfloat_64bit): Use the new types.
	(*movdi_32bit, *movdi_gp32_fp64, *movdi_32bit_mips16,
	*movdf_softfloat, *movdf_mips16): Use "multi".
	(extendqihi2): Replace with a define_expand.
	(*extendqihi2_mips16e, *extendqihi2, *extendqihi2_seb): New.
	Based on extend<SHORT:mode><GPR:mode>2 patterns.
	* config/mips/74k.md (r74k_int_logical): New reservation and
	bypasses.
	(r74k_int_arith): Remove "slt".
	* config/mips/24k.md, config/mips/4130.md, config/mips/4k.md,
	config/mips/5400.md, config/mips/5500.md, config/mips/5k.md,
	config/mips/7000.md, config/mips/9000.md, config/mips/generic.md,
	config/mips/sb1.md, config/mips/sr71k.md: Add new types to
	reservations for "arith".

Co-Authored-By: Joseph Myers <joseph@codesourcery.com>

From-SVN: r126327
2007-07-04 17:50:38 +01:00
Richard Guenther 4fc669451b tree-ssa.c (useless_type_conversion_p): Add handling for scalar float and vector types.
2007-07-04  Richard Guenther  <rguenther@suse.de>

	* tree-ssa.c (useless_type_conversion_p): Add handling for
	scalar float and vector types.  Only call the types_compatible_p
	langhook for aggregate types as last resort.  Follow the
	rules.

From-SVN: r126326
2007-07-04 16:26:53 +00:00
Richard Guenther 5cda34b18a tree-inline.c (estimate_num_insns_1): Treat CONVERT_EXPR the same as NOP_EXPR.
2007-07-04  Richard Guenther  <rguenther@suse.de>

	* tree-inline.c (estimate_num_insns_1): Treat CONVERT_EXPR
	the same as NOP_EXPR.

From-SVN: r126325
2007-07-04 16:21:39 +00:00
Nick Clifton 67e6ba46a4 target.h (struct gcc_target): Add target_help field.
* target.h (struct gcc_target): Add target_help field.
* target-def.h (TARGET_HELP): New.
  (TARGET_INITIALIZER): Use TARGET_HELP.
* opts.c (command_handle_option): Invoke target_help function, if defined, when the 
  user has specified --target-help on the command line.
* doc/invoke.texi: Mention that --target-help might print additional information.
* doc/tm.texi: Document TARGET_HELP hook.

* arm.c (TARGET_HELP): Override default definition.
  (arm_target_help): New - display a wrapped list of cores and architectures supported.

From-SVN: r126323
2007-07-04 15:05:26 +00:00
Rask Ingemann Lambertsen fda41d93b8 v850.c (expand_prologue): Make sure GEN_INT() argument is sign extended rather than zero extended.
* config/gcc/v850/v850.c (expand_prologue): Make sure GEN_INT() argument is sign extended rather than zero extended.
  (expand_epilogue): Likewise.
  (output_move_double): Delete.
* config/gcc/v850/v850-protos.h (output_move_double): Delete.
* config/gcc/v850/v850.md (movdi): Delete.
  (movdi_internal): Delete.
  (movdf): Delete.
  (movdf_internal): Delete.

From-SVN: r126318
2007-07-04 13:27:37 +00:00
Richard Sandiford f0025c1ff5 vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Reject -mrelax unless compiling RTP PIC.
gcc/
	* config/sh/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Reject -mrelax
	unless compiling RTP PIC.

gcc/testsuite/
	* gcc.dg/sh-relax.c: Skip for VxWorks if non-PIC.
	* gcc.dg/sh-relax-vxworks.c: New test.

From-SVN: r126317
2007-07-04 13:01:33 +00:00
Richard Guenther b0569227f5 re PR tree-optimization/32482 (ICE verify_ssa failed)
2007-07-04  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/32482
	* tree-ssa-ifcombine.c (recognize_single_bit_test): Use the
	original ssa name if we didn't find a shift expression.
	Fix shift constant for bit zero test.

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

From-SVN: r126314
2007-07-04 11:44:58 +00:00
Richard Sandiford a0aeae15e9 lib1funcs.asm (ic_invalidate): Align constant pool.
gcc/
	* config/sh/lib1funcs.asm (ic_invalidate): Align constant pool.

From-SVN: r126312
2007-07-04 10:14:28 +00:00
Richard Sandiford c447f77406 config.gcc (arm-wrs-vxworks): Don't include svr4.h.
gcc/
	* config.gcc (arm-wrs-vxworks): Don't include svr4.h.
	* config/vxworks.h (PTRDIFF_TYPE, SIZE_TYPE, TARGET_POSIX_IO): Define.
	* config/arm/vxworks.h (ASM_SPEC): Delete.
	(SUBTARGET_EXTRA_ASM_SPEC): Define.

From-SVN: r126310
2007-07-04 10:07:21 +00:00