Commit Graph

32958 Commits

Author SHA1 Message Date
Nick Clifton 9251d66467 * config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Revert previous delta and use gen_int_mode in place of GET_INT instead.
From-SVN: r126552
2007-07-11 14:03:37 +00:00
Uros Bizjak 942ca20a70 reg-stack.c (struct tree_opt_pass pass_stack_regs): Nullify name and letter field.
* reg-stack.c (struct tree_opt_pass pass_stack_regs): Nullify name
        and letter field.

From-SVN: r126551
2007-07-11 15:52:44 +02:00
Douglas Gregor 7313518b90 params.def (PARAM_VERIFY_CANONICAL_TYPES): Remove.
2007-07-11  Douglas Gregor  <doug.gregor@gmail.com>

       * params.def (PARAM_VERIFY_CANONICAL_TYPES): Remove.
       (PARAM_USE_CANONICAL_TYPES): New; decides whether to use canonical
       types or not.
       * params.h (VERIFY_CANONICAL_TYPES): Remove.
       (USE_CANONICAL_TYPES): New.
       * doc/invoke.texi (verify-canonical-types): Remove.
       (use-canonical-types): Add.

2007-07-11  Douglas Gregor  <doug.gregor@gmail.com>

       * typeck.c (comptypes): When USE_CANONICAL_TYPES, use the
       canonical types; otherwise, fall back to structural type
       comparisons. If ENABLE_CHECKING and USE_CANONICAL_TYPES, give an
       internal compiler error if the canonical types are wrong.

From-SVN: r126550
2007-07-11 13:50:13 +00:00
Ulrich Weigand 039cb25833 spu.c (spu_optimization_options): Remove setting of parameter PARAM_MAX_COMPLETELY_PEEL_TIMES.
* config/spu/spu.c (spu_optimization_options): Remove setting of
	parameter PARAM_MAX_COMPLETELY_PEEL_TIMES.
	(spu_override_options): Move it here.

From-SVN: r126549
2007-07-11 13:41:30 +00:00
Richard Sandiford 9e32002f0d mips.h (MIPS_ISA_LEVEL_SPEC): Handle -m4ksc and -m4ksd.
gcc/
	* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Handle -m4ksc and
	-m4ksd.
	* config/mips/mips.c (mips_cpu_info_table): Mention MIPS_ISA_LEVEL_SPEC
	in the comment.

From-SVN: r126548
2007-07-11 13:09:51 +00:00
Eric Botcazou 26b70b9f64 re PR tree-optimization/32713 (ICE in copy_reference_ops_from_ref, at tree-ssa-sccvn.c:550)
PR tree-optimization/32713
	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle REAL_CST.

From-SVN: r126547
2007-07-11 10:29:17 +00:00
Paolo Carlini 4ac1edaf7f re PR middle-end/30482 (<complex> division by 0)
2007-07-11  Paolo Carlini  <pcarlini@suse.de>

	PR middle-end/30482
	* c-opts.c (c_common_post_options): Do not change flag_complex_method
	conditional to flag_isoc99.
	(c_common_init_options): Do it here, unconditionally.

From-SVN: r126546
2007-07-11 10:23:56 +00:00
Eric Botcazou c2979eaf57 re PR tree-optimization/32589 (exp_dbug.adb:981: error: invalid array index)
PR tree-optimization/32589
	* doc/tree-ssa.texi (Rough GIMPLE Grammar): Add missing rule.
	* tree-gimple.c (is_gimple_min_invariant): Clarify head comment.
	* tree-ssa-propagate.c (valid_gimple_expression_p): New
	predicate, extracted from...
	(set_rhs): ...here.  Call it for the expression on entry.
	* tree-ssa-propagate.h (valid_gimple_expression_p): Declare.
	* tree-ssa-sccvn.c: Include tree-ssa-propagate.h.
	(simplify_binary_expression): Use valid_gimple_expression_p
	to validate the simplification.
	* Makefile.in (tree-ssa-sccvn.o): Depends on tree-ssa-propagate.h.

From-SVN: r126545
2007-07-11 09:43:25 +00:00
Danny Smith 13c0a63051 cygming.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2_DEBUG on 32 bit target too.
* config/i386/cygming.h (PREFERRED_DEBUGGING_TYPE): Define to
	DWARF2_DEBUG on 32 bit target too.
	(DWARF2_UNWIND_INFO): Reorganize 64-bit vs 32-bit definition.

From-SVN: r126544
2007-07-11 09:37:18 +00:00
Nick Clifton 0dcd2e7872 oops - this is the missing changelog entry for the previous delta
From-SVN: r126540
2007-07-11 08:26:55 +00:00
David Daney df770e0442 mips.h (ISA_HAS_SYNCI): New target capability predicate.
2007-07-10  David Daney  <ddaney@avtrex.com>

	* config/mips/mips.h (ISA_HAS_SYNCI): New target capability
	predicate.
	(INITIALIZE_TRAMPOLINE): Emit clear_cache insn instead of  library
	call.
	* config/mips/mips.c (mips_expand_synci_loop): New function.
	* config/mips/mips.md (UNSPEC_CLEAR_HAZARD): New constant.
	(UNSPEC_RDHWR): Same.
	(UNSPEC_SYNCI): Same.
	(UNSPEC_SYNC): Same.
	(clear_cache): New expand.
	(sync): New insn.
	(synci): Same.
	(rdhwr): Same.
	(clear_hazard): Same.
	* config/mips/mips-protos.h (mips_expand_synci_loop): Declare
	function.
	* testsuite/gcc.target/mips/clear-cache-1.c: New test.
	* testsuite/gcc.target/mips/clear-cache-2.c: New test.

From-SVN: r126537
2007-07-11 05:14:35 +00:00
Ian Lance Taylor f8335a4ff0 emit-rtl.c (gen_reg_rtx): Check can_create_pseudo_p rather than no_new_pseudos.
* emit-rtl.c (gen_reg_rtx): Check can_create_pseudo_p rather than
	no_new_pseudos.

From-SVN: r126536
2007-07-11 04:45:48 +00:00
David Daney 677feb77ce builtins.def (BUILT_IN_CLEAR_CACHE): New builtin.
2007-07-10  David Daney  <ddaney@avtrex.com>

	* builtins.def (BUILT_IN_CLEAR_CACHE): New builtin.
	* builtins.c (expand_builtin___clear_cache): New function.
	(expand_builtin): Call expand_builtin___clear_cache for
	BUILT_IN_CLEAR_CACHE case.
	* doc/extend.texi (__builtin___clear_cache): Document new builtin.
	* doc/md.texi (clear_cache): Document new instruction pattern.
	* testsuite/gcc.dg/builtins-64.c: New test.

From-SVN: r126535
2007-07-11 04:13:10 +00:00
Hans-Peter Nilsson 3a0e695acd * config/cris/cris.md ("movsi"): Fix typo in last change.
From-SVN: r126534
2007-07-11 03:02:36 +00:00
Geoffrey Keating 837edd5f11 re PR bootstrap/32617 (explow.c references DECL_ALIGN of a FUNCTION_DECL)
2007-07-09  Geoffrey Keating  <geoffk@apple.com>

	PR 32617
	* c-common.c (c_alignof_expr): Look at DECL_ALIGN of
	FUNCTION_DECLs.
	(handle_aligned_attribute): Allow use on FUNCTION_DECLs.
	* varasm.c (assemble_start_function): Honor DECL_ALIGN
	for FUNCTION_DECLs.  Don't use align_functions_log if
	DECL_USER_ALIGN.
	* print-tree.c (print_node): Print DECL_ALIGN and DECL_USER_ALIGN
	even for FUNCTION_DECLs.
	* c-decl.c (merge_decls): Propagate DECL_ALIGN even for
	FUNCTION_DECLs.
	* tree.h (DECL_ALIGN): Update for new location of 'align'.
	(DECL_FUNCTION_CODE): Update for new location and name of
	'function_code'.
	(DECL_OFFSET_ALIGN): Update for new location of 'off_align'.
	(struct tree_decl_common): Move 'align' and 'off_align' out
	of union, ensure they're still on a 32-bit boundary.  Remove
	other fields in union 'u1'.
	(struct tree_function_decl): Add field 'function_code' replacing
	'u1.f' in tree_decl_common.
	* tree.c (build_decl_stat): Set initial value of DECL_ALIGN.
	* doc/extend.texi (Function Attributes): Add 'aligned' attribute.
	(Variable Attributes): Cross-reference 'aligned' attribute
	to Function Attributes.
	* flags.h (force_align_functions_log): Delete.
	* toplev.c (force_align_functions_log): Delete.

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

	PR 32617
	* gcc.c-torture/execute/align-3.c: New.

Index: gcc/java/ChangeLog
2007-07-09  Geoffrey Keating  <geoffk@apple.com>

	PR 32617
	* lang.c (java_init): Remove setting of force_align_functions_log.
	* class.c (add_method_1): Set DECL_ALIGN of non-static method
	to cope with ptrmemfunc_vbit_in_pfn.

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

	PR 32617
	* decl.c (cxx_init_decl_processing): Don't set
	force_align_functions_log.
	(grokfndecl): Honour ptrmemfunc_vbit_in_pfn.
	* typeck.c (cxx_alignof_expr): When alignof is used on a plain
	FUNCTION_DECL, return its alignment.

From-SVN: r126529
2007-07-10 23:08:52 +00:00
Uros Bizjak 558be301bd re PR target/32708 (_mm_cvtsi64x_si128() and _mm_cvtsi128_si64x() inefficient)
PR target/32708
        * config/i386/sse.md (vec_concatv2di): Disable for TARGET_64BIT.
        (*vec_concatv2di_rex): New insn pattern.

testsuite/ChangeLog:

        PR target/32708
        * gcc.target/i386/pr32708-1.c: New test.
        * gcc.target/i386/pr32708-2.c: Ditto.
        * gcc.target/i386/pr32708-3.c: Ditto.

From-SVN: r126523
2007-07-10 21:26:58 +02:00
Rainer Orth 333f4a4052 re PR target/32538 (All libgomp tests fail to link on IRIX 6: copysignl undefined)
PR target/32538
	* config/mips/iris6.h (LIBGCC_SPEC): Add libm.

From-SVN: r126520
2007-07-10 18:02:30 +00:00
Ian Lance Taylor b3a134196f Replace no_new_pseudos in backends.
* rtl.h (can_create_pseudo_p): Define.
	* config/darwin.c (machopic_indirect_data_reference): Use
	can_create_pseudo_p () instead of no_new_pseudos.
	(machopic_indirect_data_reference): Likewise.
	(machopic_legitimize_pic_address): Likewise.
	* config/alpha/alpha.c (alpha_legitimize_address): Likewise.
	(alpha_emit_set_const_1): Likewise.
	(alpha_emit_set_const): Likewise.
	(alpha_emit_conditional_move): Likewise.
	(alpha_split_conditional_move): Likewise.
	* config/alpha/alpha.md (various splitters): Likewise.
	(movti): Likewise.
	* config/arm/arm.c (legitimize_pic_address): Likewise.
	(arm_load_pic_register): Likewise.
	* config/arm/arm.md (addsi3, subsi3, andsi3, iorsi3): Likewise.
	(movdi, movsi, movhi, movqi, movsf, movdf): Likewise.
	* config/bfin/bfin.c (legitimize_pic_address): Likewise.
	* config/cris/cris.c (cris_expand_pic_call_address): Likewise.
	* config/cris/cris.md (movsi): Likewise.
	* config/frv/frv.md (symGOT2reg_hilo): Likewise.
	(symGOTOFF2reg_hilo): Likewise.
	(symGPREL2reg, symGPREL2reg_hilo): Likewise.
	* config/h8300/h8300.md (insv, extzv): Likewise.
	* config/i386/i386.c (ix86_expand_move): Likewise.
	(ix86_expand_vector_move): Likewise.
	(ix86_prepare_fp_compare_args): Likewise.
	(ix86_expand_carry_flag_compare): Likewise.
	* config/i386/i386.md (tls_dynamic_gnu2_32): Likewise.
	(tls_dynamic_gnu2_combine_32): Likewise.
	(tls_dynamic_gnu2_64, tls_dynamic_gnu2_combine_64): Likewise.
	* config/ia64/ia64.c (ia64_expand_move): Likewise.
	(ia64_expand_movxf_movrf): Likewise.
	* config/m32c/m32c.c (m32c_prepare_move): Likewise.
	(m32c_split_move): Likewise.
	(m32c_expand_insv): Likewise.
	* config/m68k/m68k.md (movsi): Likewise.
	* config/mips/mips.c (mips_force_temporary): Likewise.
	(mips_split_symbol): Likewise.
	(mips_move_integer): Likewise.
	(mips_legitimize_const_move): Likewise.
	* config/mn10300/mn10300.md (movsi): Likewise.
	* config/pa/pa.c (emit_move_sequence): Likewise.
	* config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
	(rs6000_got_register): Likewise.
	(create_TOC_reference): Likewise.
	(rs6000_machopic_legitimize_pic_address): Likewise.
	* config/rs6000/rs6000.md (add<mode>3): Likewise.
	(various splitters): Likewise.
	(iorsi3, xorsi3, iordi3, xordi3): Likewise.
	(movsi_got): Likewise.
	* config/s390/s390.c (emit_symbolic_move): Likewise.
	* config/s390/s390.md (movhi, movqi): Likewise.
	(load_multiple, store_multiple): Likewise.
	* config/score/score.c (score_force_temporary): Likewise.
	* config/sh/sh.c (prepare_move_operands): Likewise.
	(prepare_cbranch_operands): Likewise.
	(emit_fpu_switch): Likewise.
	(fpscr_set_from_mem): Likewise.
	* config/sh/sh.md (movdicc, movsicc, movsicc_umin): Likewise.
	(adddi3, subsi3): Likewise.
	(various splitters): Likewise.
	(divsi_inv_fp_combine): Likewise.
	(symGOT_load, symGOTOFF2reg, symDTPOFF2reg): Likewise.
	(seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu): Likewise.
	(sne): Likewise.
	* config/sh/predicates.md (xor_operand): Likewise.
	* config/sparc/sparc.c (legitimize_tls_address): Likewise.
	* config/sparc/sparc.md (movsi_pic_label_ref): Likewise.
	(movdi_pic_label_ref): Likewise.
	* config/spu/spu.c (spu_split_immediate): Likewise.
	* config/alpha/alpha.md (various splitters): Remove test
	!no_new_pseudos || reload_completed.
	* config/ia64/ia64.c (ia64_output_mi_thunk): Don't set
	no_new_pseudos.
	* config/m68k/m68k.c (m68k_output_mi_thunk): Likewise.
	* config/mips/mips.c (mips_output_mi_thunk): Likewise.
	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
	* config/score/score.c (th_output_mi_thunk): Likewise.
	* config/sh/sh.c (sh_output_mi_thunk): Likewise.
	* config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.

From-SVN: r126517
2007-07-10 17:23:11 +00:00
Kaz Kojima 89ab46599d re PR rtl-optimization/32664 ([sh] ICE in create_pre_exit, at mode-switching.c:373)
PR rtl-optimization/32664
	* mode-switching.c (create_pre_exit): Skip barrier insns.

From-SVN: r126507
2007-07-10 01:01:11 +00:00
Zdenek Dvorak c6540bdeb4 tree-scalar-evolution.c (scev_const_prop): Add arguments to force_gimple_operand_bsi.
* tree-scalar-evolution.c (scev_const_prop): Add arguments to
	force_gimple_operand_bsi.
	* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr,
	rewrite_use_compare): Ditto.
	* tree-ssa-address.c (gimplify_mem_ref_parts, create_mem_ref):
	Ditto.
	* tree-ssa-ifcombine.c (ifcombine_ifandif): Ditto.
	* tree-ssa-loop-prefetch.c (issue_prefetch_ref): Ditto.
	* lambda-code.c (replace_uses_equiv_to_x_with_y): Ditto.
	* tree-profile.c (prepare_instrumented_value,
	tree_gen_interval_profiler, tree_gen_pow2_profiler,
	tree_gen_one_value_profiler, tree_gen_ic_profiler,
	tree_gen_ic_func_profiler, tree_gen_average_profiler,
	tree_gen_ior_profiler): Ditto.
	* tree-ssa-reassoc.c (negate_value): Ditto.
	* matrix-reorg.c (transform_access_sites, transform_allocation_sites):
	Use force_gimple_operand_bsi.
	* tree-vect-transform.c (vect_update_ivs_after_vectorizer): Ditto.
	* tree-if-conv.c (add_to_dst_predicate_list,
	find_phi_replacement_condition): Ditto.
	* gimplify.c (force_gimple_operand_bsi): Add before and m arguments.
	Call mark_symbols_for_renaming for new statements.
	* tree-flow.h (force_gimple_operand_bsi): Declaration changed.

From-SVN: r126500
2007-07-09 23:04:06 +00:00
Zdenek Dvorak 452ba14de1 cfghooks.c (remove_edge): New function.
* cfghooks.c (remove_edge): New function.
	(redirect_edge_and_branch, remove_branch, merge_blocks): Updated
	loop exit rescans.
	* cfghooks.h (remove_edge): Declare.
	* cfg.c (remove_edge): Renamed to remove_edge_raw.
	* basic-block.h (remove_edge): Declaration changed to remove_edge_raw.

From-SVN: r126499
2007-07-09 22:44:03 +00:00
Wolfgang Gellerich 0f67fa83f2 optabs.h: Added declaration for signbit_optab.
2007-07-09  Wolfgang Gellerich  <gellerich@de.ibm.com>

	* optabs.h: Added declaration for signbit_optab.  
	* optabs.c: (init_optabs): Added initialization for signbit_optab.
	* genoptinit.c (optabs): Added entry for signbit insns.  
	* builtins.c (expand_builtin_signbit): Added code to use a signbit insn,
	if available.  
	* config/s390/s390.h (S390_TDC_SIGNBIT_SET): New constant.  
	* config/s390/s390.md (signbit<mode>2): New expander.

From-SVN: r126495
2007-07-09 20:12:51 +00:00
Richard Guenther b462d62daf re PR tree-optimization/32698 (inefficient pointer expression)
2007-07-09  Richard Guenther  <rguenther@suse.de>

	PR middle-end/32698
	* fold-const.c (fold_plusminus_mult_expr): Move constant
	arguments second to allow decomposing.

From-SVN: r126494
2007-07-09 19:41:54 +00:00
Alexandre Oliva 694dd537b9 revert: re PR debug/23551 (dwarf records for inlines appear incomplete)
Revert:
2007-07-06  Alexandre Oliva  <aoliva@redhat.com>
PR debug/23551
* tree-ssa-copyrename.c (copy_rename_partition_coalesce):
Disregard DECL_FROM_INLINE.

From-SVN: r126492
2007-07-09 19:24:23 +00:00
Uros Bizjak 13c594155d re PR target/27855 (reassociation causes the RA to be confused)
PR target/27855
        * doc/extend.texi: Add ftree-reassoc flag.
        * common.opt (ftree-reassoc): New flag.
        * tree-ssa-reassoc.c (gate_tree_ssa_reassoc): New static function.
        (struct tree_opt_pass pass_reassoc): Use gate_tree_ssa_reassoc.

From-SVN: r126491
2007-07-09 21:22:03 +02:00
Uros Bizjak 8b4c775b68 re PR tree-optimization/32681 (ice for legal C code with flags -ffast-math -O3 -ftree-vectorize)
PR tree-optimization/32681
	* tree-if-conv.c (find_phi_replacement_condition): Use the condition
	saved in second_edge->aux when first_bb is a loop header.

testsuite/ChangeLog:

	PR tree-optimization/32681
	* gcc.dg/tree-ssa/pr32681.c: New test.

From-SVN: r126482
2007-07-09 15:00:19 +02:00
Jan Hubicka d241cd48e0 * cse.c (cse_insn): Avoid invalid sharing on trial replacement.
From-SVN: r126481
2007-07-09 10:22:36 +00:00
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