Commit Graph

102053 Commits

Author SHA1 Message Date
Richard Henderson 9bf40564e1 Eliminate most of the conditional compilation from dwarf2out.c.
Trying to reduce the amount of code compiled when dwarf2 debug
info and/or dwarf2 unwind info are disabled results in a twisted
mess.  Don't bother -- just build it all even if it's not going
to be used.

From-SVN: r162883
2010-08-04 16:57:50 -07:00
Richard Henderson e78f1a3f67 re PR debug/45171 (Invalid DWARF...DIE 0x00006a1d has multiple AT_byte_size attributes.)
PR debug/45171
* dwarf2out.c (gen_typedef_die): Don't re-generate the die of
an is_naming_typedef_decl.

From-SVN: r162882
2010-08-04 16:32:08 -07:00
Bernd Schmidt fde157f2ed re PR rtl-optimization/45162 (ARM bootstrap comparison failures after stage 3)
PR rtl-optimization/45162
	* df-problems.c (df_word_lr_bb_local_compute): Ignore DEBUG_INSNs.
	* dce.c (word_dce_process_block): Likewise.

From-SVN: r162881
2010-08-04 21:07:05 +00:00
Changpeng Fang 69df3daed3 Add Changpeng Fang to the Write After Approval list
From-SVN: r162880
2010-08-04 20:48:50 +00:00
Janus Weil e10f52d099 re PR fortran/42207 ([OOP] Compile-time errors on typed allocation and pointer function result assignment)
2010-08-04  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/42207
	PR fortran/44064
	PR fortran/44065
	* class.c (gfc_find_derived_vtab): Do not generate vtabs for class
	container types. Do not artificially increase refs. Commit symbols one
	by one.
	* interface.c (compare_parameter): Make sure vtabs are present before
	generating module variables.
	* resolve.c (resolve_allocate_expr): Ditto.


2010-08-04  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/42207
	PR fortran/44064
	PR fortran/44065
	* gfortran.dg/class_25.f03: New.
	* gfortran.dg/class_26.f03: New.

From-SVN: r162879
2010-08-04 21:49:19 +02:00
Daniel Gutson 0e884a9464 * g++.dg/warn/miss-format-1.C: Update line number.
From-SVN: r162872
2010-08-04 19:01:24 +00:00
Tobias Burnus c130efd5b9 re PR fortran/45183 (FAIL: gfortran.dg/derived_constructor_char_1.f90)
2010-08-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45183
        PR fortran/44857
        * resolve.c (resolve_structure_cons): Fix
        freeing of charlen.

From-SVN: r162871
2010-08-04 20:49:23 +02:00
Steve Ellcey 339746734a re PR target/44583 (c-c++-common/torture/complex-sign-add.c fails for signed zeros)
2010-07-29  Steve Ellcey  <sje@cup.hp.com>

	PR target/44583
	* config/ia64/constraints.md (Z): New.
	* config/ia64/predicates.md (fr_reg_or_signed_fp01_operand): New.
	(xfreg_or_signed_fp01_operand): New.
	* config/ia64/ia64.md (addsf3): Replace fr_reg_or_fp01_operand
	with fr_reg_or_signed_fp01_operand and constraint G with Z.
	(subsf3): Ditto.
	(*maddsf4): Ditto.
	(*msubsf4): Ditto.
	(adddf3): Ditto.
	(adddf3_trunc): Ditto.
	(subdf3): Ditto.
	(*subdf3_trunc): Ditto.
	(*madddf4): Ditto.
	(*madddf4_trunc): Ditto.
	(*msubdf4): Ditto.
	(*msubdf4_trunc): Ditto.
	(addxf3): Replace xfreg_or_fp01_operand with
	xfreg_or_signed_fp01_operand and constraint G with Z.
	(*addxf3_truncsf): Ditto.
	(*addxf3_truncdf): Ditto.
	(subxf3): Ditto.
	(*subxf3_truncsf): Ditto.
	(*subxf3_truncdf): Ditto.
	(*maddxf4): Ditto.
	(*maddxf4_truncsf): Ditto.
	(*maddxf4_truncdf): Ditto.
	(*msubxf4): Ditto.
	(*msubxf4_truncsf): Ditto.
	(*msubxf4_truncdf): Ditto.

From-SVN: r162869
2010-08-04 18:32:37 +00:00
Arnaud Charlet 3b0c690efc c-ada-spec.c (dump_ada_template): Mark underlying instance type as visited.
* c-ada-spec.c (dump_ada_template): Mark underlying instance type as
	visited.
	(dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
	decide whether a type has already been declared/seen.
	Do not go to the original type.
	(dump_nested_types): New parameter forward.
	Generate forward declaration if needed and mark type as visited.
	(print_ada_declaration): Call dump_nested_types if not already done.
	Mark types as visited.

From-SVN: r162868
2010-08-04 17:50:10 +02:00
Richard Guenther 55e3bc4cec alias.c (rtx_refs_may_alias_p): Do not resort to TBAA if either alias-set is zero.
2010-08-04  Richard Guenther  <rguenther@suse.de>

	* alias.c (rtx_refs_may_alias_p): Do not resort to TBAA
	if either alias-set is zero.

From-SVN: r162867
2010-08-04 15:35:21 +00:00
Uros Bizjak 079e56d05c re PR c++/44641 (Generated constructors and destructors get wrong debug location when a typedef uses a forward declaration of the type before the definition)
PR c++/44641
	* lib/scanasm.exp (dg-function-on-line): Expand regex to also ignore
	.frame and .mask assembler directives.

From-SVN: r162866
2010-08-04 16:19:01 +02:00
Mikael Morin 4bc20f3a3f re PR fortran/42051 ([OOP] ICE on array-valued function with CLASS formal argument)
2010-08-04  Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/42051
	PR fortran/44064
	* symbol.c (changed_syms): Made static again.
	(gfc_symbol_state): Don't conditionalize on GFC_DEBUG. 
	Changed conditional internal error into assert.
	Rename function to ...
	(gfc_enforce_clean_symbol_state): ... this.
	* gfortran.h (gfc_symbol_state, gfc_enforce_clean_symbol_state): 
	Rename the former to the latter.
	* parse.c (decode_statement, decode_omp_directive,
	decode_gcc_attribute): Update callers accordingly. Don't conditionalize
	on GFC_DEBUG.
	(changed_syms): Remove declaration.
	(next_statement): Use gfc_enforce_clean_symbol_state.

From-SVN: r162865
2010-08-04 14:17:31 +00:00
Richard Guenther 455e6d5ba7 tree-ssa-propagate.h (struct prop_value_d, [...]): Move ...
2010-08-04  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-propagate.h (struct prop_value_d, prop_value_t): Move ...
	* tree-ssa-ccp.c: ... here.
	* tree-ssa-copy.c: ... and here.
	* tree-ssa-propagate.h (enum value_range_type, struct value_range_d, 
	value_range_t): Move ...
	* tree-vrp.c: ... here.
	* tree-ssa-propagate.h (ssa_prop_get_value_fn): New typedef.
	(substitute_and_fold): Adjust prototype.
	* tree-ssa-propagate.c (replace_uses_in): Adjust.
	(replace_phi_args_in): Likewise.
	(substitute_and_fold): Take callback to query lattice instead
	of pointer to lattice.  Replace SSA name defs with lattice
	values first.
	* tree-ssa-ccp.c (ccp_finalize): Adjust.
	* tree-ssa-copy.c (copy_prop_visit_phi_node): Adjust.
	(get_value): New function.
	(fini_copy_prop): Adjust.
	* tree-vrp.c (vrp_finalize): Adjust.

	* gcc.dg/tree-ssa/vrp35.c: Adjust.
	* gcc.dg/tree-ssa/vrp36.c: Likewise.
	* gcc.dg/tree-ssa/vrp50.c: Likewise.
	* gcc.dg/tree-ssa/vrp52.c: Likewise.

From-SVN: r162864
2010-08-04 12:29:48 +00:00
Tobias Burnus a48a91732b re PR fortran/44857 (ICE in output_constructor_regular_field, at varasm.c:4996)
2010-08-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/44857
        * resolve.c (resolve_structure_cons): Fix handling of
        initialization structcture constructors with character
        elements of the wrong length.
        * array.c (gfc_check_iter_variable): Add NULL check.
        (gfc_resolve_character_array_constructor): Also truncate
        character length.

2010-08-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/44857
        * gfortran.dg/derived_constructor_char_1.f90: New.
        * gfortran.dg/derived_constructor_char_2.f90: New.

From-SVN: r162863
2010-08-04 13:51:32 +02:00
Richard Guenther 48176d8100 re PR middle-end/45176 (restrict qualifier is not used in a manually unrolled loop)
2010-08-04  Richard Guenther  <rguenther@suse.de>

	PR middle-end/45176
	* expr.c (expand_expr_real_1): Also preserve TARGET_MEM_REF
	points-to set for original MEM_REF.

From-SVN: r162862
2010-08-04 11:08:54 +00:00
Richard Guenther 84d77ca61a tree-ssa-ccp.c (get_constant_value): New function.
2010-08-04  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-ccp.c (get_constant_value): New function.
	(get_rhs_assign_op_for_ccp): Remove.
	(valueize_op): New function.
	(ccp_fold): Use get_constant_value and valueize_op.
	(fold_const_aggregate_ref): Likewise.
	(ccp_fold_stmt): Likewise.
	(visit_assignment): Simplify.

From-SVN: r162860
2010-08-04 09:16:58 +00:00
Richard Guenther 552cbe64b6 Makefile.in (double-int.o): Add $(TOPLEV_H) dependency.
2010-08-04  Richard Guenther  <rguenther@suse.de>

	* Makefile.in (double-int.o): Add $(TOPLEV_H) dependency.
	* double-int.h (double_int_ctz): Declare.
	* double-int.c (double_int_ctz): New function.

From-SVN: r162859
2010-08-04 09:15:51 +00:00
Hariharan Sandanagobalane 31af83671c picochip.c (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.
* config/picochip/picochip.c (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE):
          Define.
          picochip_expand_movmemhi : Expand movmem pattern.
        * config/picochip/picochip-protos.h (picochip_expand_movmemhi) :
          Declare.
        * config/picochip/picochip.md (movmemhi) : New pattern.

From-SVN: r162858
2010-08-04 09:02:48 +00:00
Tobias Burnus a19d2b955a trans-io.c (gfc_build_io_library_fndecls): Fix return value of some libgfortran functions.
2010-08-04  Tobias Burnus  <burnus@net-b.de>

        * trans-io.c (gfc_build_io_library_fndecls): Fix return
        value of some libgfortran functions.

From-SVN: r162857
2010-08-04 10:56:32 +02:00
Uros Bizjak f39cd38b27 unix.h (GLOBAL_ASM_OPS): Add tabs around .globl.
* config/i386/unix.h (GLOBAL_ASM_OPS): Add tabs around .globl.

From-SVN: r162855
2010-08-04 09:07:17 +02:00
Eric Botcazou 56345d11f8 decl.c: Do not undefine IN_GCC_FRONTEND and do not include expr.h.
* gcc-interface/decl.c: Do not undefine IN_GCC_FRONTEND and do not
	include expr.h.
	(gnat_to_gnu_entity) <object>: Force address of -1 at the tree level
	for the debug-only entity.
	* gcc-interface/Make-lang.in (ada/decl.o): Adjust dependencies.

From-SVN: r162854
2010-08-04 06:49:08 +00:00
GCC Administrator 59c724ac20 Daily bump.
From-SVN: r162853
2010-08-04 00:17:28 +00:00
Bernd Schmidt 29b40d79bb simplify-rtx.c (simplify_binary_operation_1): Try to simplify away NEG as operand of a MULT by merging it with the other operand.
* simplify-rtx.c (simplify_binary_operation_1): Try to simplify away
	NEG as operand of a MULT by merging it with the other operand.
	* combine.c (make_compound_operation): Use trunc_int_for_mode when
	generating a MULT with constant.  Canonicalize PLUS and MINUS involving
	MULT.
	* config/arm/constraints.md (M): Examine only 32 bits of a
	HOST_WIDE_INT.
	* config/arm/predicates.md (power_of_two_operand): Likewise.

From-SVN: r162849
2010-08-03 23:48:52 +00:00
Thomas Koenig 15b71db372 re PR fortran/45159 (Unnecessary temporaries)
2010-08-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/45159
	* dependency.c (gfc_deb_compare_expr):  Remove any integer
	conversion functions to larger types from both arguments.
	Remove handling these functions futher down.

2010-08-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/45159
	* gfortran.dg/dependency_30.f90:  New test.

From-SVN: r162848
2010-08-03 22:02:30 +00:00
Ulrich Weigand 051de0eb4f spu.c (spu_emit_branch_hint): Do not access NOTE_KIND of non-NOTE insns.
* config/spu/spu.c (spu_emit_branch_hint): Do not access NOTE_KIND of
	non-NOTE insns.

From-SVN: r162845
2010-08-03 18:01:52 +00:00
Jan Hubicka 241a2b9ec2 ipa-split.c (struct split_point): Add split_part_set_retval.
* ipa-split.c (struct split_point): Add split_part_set_retval.
	(find_retval): Forward declare.
	(test_nonssa_use, mark_nonssa_use): Special case return by reference.
	(consider_split): Compute current->split_part_set_retval.
	(visit_bb): Do not look into return value.
	(split_function): Handle !split_part_set_retval

From-SVN: r162842
2010-08-03 14:23:04 +00:00
Martin Jambor fc734382d1 tree-sra.c (completely_scalarize_record): New parameter REF, create its own access->expr intead of using build_ref_for_offset.
2010-08-03  Martin Jambor  <mjambor@suse.cz>

	* tree-sra.c (completely_scalarize_record): New parameter REF, create
	its own access->expr intead of using build_ref_for_offset.

From-SVN: r162841
2010-08-03 13:50:25 +02:00
Janus Weil aea18e926a re PR fortran/44584 (Invalid memory access with gfortran.dg/typebound_proc_15.f03)
2010-08-03  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44584
	PR fortran/45161
	* class.c (add_procs_to_declared_vtab1): Don't add erroneous procedures.
	* resolve.c (resolve_tb_generic_targets): Check for errors.


2010-08-03  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44584
	PR fortran/45161
	* gfortran.dg/typebound_call_9.f03: Modified.
	* gfortran.dg/typebound_generic_1.f03: Modified.

From-SVN: r162840
2010-08-03 13:08:50 +02:00
Joseph Myers 1890bccc84 alpha.h (SWITCH_TAKES_ARG): Define.
* config/alpha/alpha.h (SWITCH_TAKES_ARG): Define.
	* config/alpha/osf5.h (LIB_SPEC): Don't handle -a.
	* config/bfin/bfin.h (ASM_SPEC, LINK_SPEC): Don't pass -G*
	options.
	* config/darwin.h (WORD_SWITCH_TAKES_ARG): Handle -iframework.
	* config/ia64/ia64.h (SWITCH_TAKES_ARG): Define.
	* config/iq2000/iq2000.h (SWITCH_TAKES_ARG): Remove.
	* config/rs6000/sysv4.h (SWITCH_TAKES_ARG): Define using
	DEFAULT_SWITCH_TAKES_ARG.
	* config/rx/rx.opt (-patch=): Remove option.
	* config/rx/rx.c (rx_handle_option): Don't handle OPT_patch_.
	* defaults.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Handle -imultilib.
	* doc/invoke.texi (RX Options): Remove -patch=.
	* gcc.c (cc1_options): Pass -aux-info* instead of -a* options.
	(option_map): Remove --profile-blocks, --quiet and --silent.

ada:
	* gcc-interface/lang-specs.h: Don't pass -a options.

c-family:
	* c.opt (-print-pch-checksum): Remove option.
	* c-opts.c (c_common_handle_option): Don't handle
	OPT_print_pch_checksum.

From-SVN: r162838
2010-08-03 10:42:46 +01:00
Uros Bizjak dc91d89279 i386.h (ix86_compare_op0, [...]): Remove.
* config/i386/i386.h (ix86_compare_op0, ix86_compare_op1): Remove.
	* config/i386/i386.c (ix86_compare_op0, ix86_compare_op1): Remove.
	(ix86_expand_branch): Add op0 and op1 arguments.  Do not access
	ix86_compare_op0 and ix86_compare_op1, use op0 and op1 instead.
	Update calls to ix86_expand_compare and ix86_expand_branch.
	(ix86_expand_setcc): Add op0 and op1 arguments.  Update calls to
	ix86_expand_compare.
	(ix86_expand_compare): Add op0 and op1 arguments.  Do not access
	ix86_compare_op0 and ix86_compare_op1, use op0 and op1 instead.
	Make static.
	(ix86_expand_carry_flag_compare): Do not set ix86_compare_op0
	and ix86_compare_op1.  Update calls to ix86_expand_compare.
	(ix86_expand_int_movcc): Ditto.
	(ix86_expand_fp_movcc): Ditto.  Update calls to ix86_expand_setcc.
	* config/i386/i386-protos.h (ix86_expand_branch): Update prototype.
	(ix86_expand_setcc): Ditto.
	(ix86_expand_compare): Remove prototype.
	* config/i386/i386.md (cbranch<SDWIM:mode>4): Do not set
	ix86_compare_op0 and ix86_compare_op1.  Update calls
	to ix86_expand_branch to directly pass operands[1] and operands[2].
	(cbranchxf4): Ditto.
	(cbranch<MODEF:mode>4): Ditto.
	(cbranchcc4): Ditto.
	(cstore<SWIM:mode>4): Do not set ix86_compare_op0 and ix86_compare_op1.
	Update calls to ix86_expand_setcc to directly pass operands[2] and
	operands[3].
	(cstorexf4): Ditto.
	(cstore<MODEF:mode>4): Ditto.
	(cstorecc4): Ditto.

From-SVN: r162837
2010-08-03 11:25:22 +02:00
GCC Administrator d518b5e9c7 Daily bump.
From-SVN: r162834
2010-08-03 00:17:02 +00:00
Thomas Koenig 1d1002304e re PR fortran/45159 (Unnecessary temporaries)
2010-08-02  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/45159
	* depencency.c (gfc_dep_resolver):  Fix logic for when a loop
	can be reversed.

2010-08-02  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/45159

	* gfortran.dg/dependency_29.f90:  New test.

From-SVN: r162829
2010-08-02 22:04:36 +00:00
Bernd Schmidt 14292418cb re PR target/45063 (ICE: Segmentation fault (cc1) compiling matmul_i1.c)
PR target/45063
	* caller-save.c (save_call_clobbered_regs): Remove regs from
	hard_regs_saved when they are set.

From-SVN: r162828
2010-08-02 20:17:59 +00:00
Uros Bizjak fea8c25725 alpha.c (alpha_build_builtin_va_list): Mark __offset as volatile.
target/41089
	* config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset
	as volatile.

From-SVN: r162826
2010-08-02 19:26:40 +02:00
Thomas Koenig 071bdb5f22 re PR fortran/36854 ([meta-bug] fortran front-end optimization)
2010-08-02  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/36854
	* dependency.h:  Add prototype for gfc_are_identical_variables.
	* frontend-passes.c:  Include depencency.h.
	(optimimize_equality):  Use gfc_are_identical_variables.
	* dependency.c (identical_array_ref): New function.
	(gfc_are_identical_variables):  New function.
	(gfc_deb_compare_expr):  Use gfc_are_identical_variables.
	* dependency.c (gfc_check_section_vs_section).  Rename gfc_
	prefix from statc function.
	(check_section_vs_section): Change arguments to gfc_array_ref,
	adjust function body accordingly.

2010-08-02  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/36854
	* gfortran.dg/character_comparison_2.f90:  New test.
	* gfortran.dg/character_comparison_3.f90:  New test.
	* gfortran.dg/dependency_28.f90:  New test.

From-SVN: r162824
2010-08-02 16:53:51 +00:00
Sebastian Pop 20769d5eb6 Add -ftree-loop-distribute-patterns enabled at -O3.
2010-08-02  Sebastian Pop  <sebastian.pop@amd.com>

	* common.opt (ftree-loop-distribute-patterns): New.
	* invoke.texi (-ftree-loop-distribute-patterns): Documented.
	* opts.c (decode_options): Enable flag_tree_loop_distribute_patterns
	at -O3.
	* tree-data-ref.c (stores_zero_from_loop): New.
	* tree-data-ref.h (stores_zero_from_loop): Declared.
	* tree-loop-distribution.c (tree_loop_distribution): Call
	stores_zero_from_loop.
	(tree_loop_distribution): Check flag_tree_loop_distribute_patterns.

From-SVN: r162822
2010-08-02 16:20:36 +00:00
Mikael Morin ef973f3f4b re PR fortran/42051 ([OOP] ICE on array-valued function with CLASS formal argument)
2010-08-02  Mikael Morin  <mikael@gcc.gnu.org>
	    Janus Weil  <janus@gcc.gnu.org>

	PR fortran/42051
	PR fortran/44064
	PR fortran/45151
	* intrinsic.c (gfc_get_intrinsic_sub_symbol): Commit changed symbol. 
	* symbol.c (gen_cptr_param, gen_fptr_param, gen_shape_param,
	gfc_copy_formal_args, gfc_copy_formal_args_intr,
	gfc_copy_formal_args_ppc, generate_isocbinding_symbol): Ditto.
	* parse.c (parse_derived_contains, parse_spec, parse_progunit): 
	Call reject_statement in case of error. 
	(match_deferred_characteritics): Call gfc_undo_symbols in case match
	fails.


Co-Authored-By: Janus Weil <janus@gcc.gnu.org>

From-SVN: r162821
2010-08-02 15:30:47 +00:00
Bernd Schmidt 13cc4787bf arm.c (arm_rtx_costs_1): Remove second clause from the if statement which adds extra costs to...
* config/arm/arm.c (arm_rtx_costs_1): Remove second clause from the
	if statement which adds extra costs to frame-related expressions.

From-SVN: r162816
2010-08-02 10:21:05 +00:00
Bernd Schmidt 3711941045 re PR target/40457 (use stm and ldm to access consecutive memory words)
PR target/40457
	* config/arm/arm.h (arm_regs_in_sequence): Declare.
	* config/arm/arm-protos.h (emit_ldm_seq, emit_stm_seq,
	load_multiple_sequence, store_multiple_sequence): Delete
	declarations.
	(arm_gen_load_multiple, arm_gen_store_multiple): Adjust
	declarations.
	* config/arm/ldmstm.md: New file.
	* config/arm/arm.c (arm_regs_in_sequence): New array.
	(load_multiple_sequence): Now static.  New args SAVED_ORDER,
	CHECK_REGS.  All callers changed.
	If SAVED_ORDER is nonnull, copy the computed order into it.
	If CHECK_REGS is false, don't sort REGS.  Handle Thumb mode.
	(store_multiple_sequence): Now static.  New args NOPS_TOTAL,
	SAVED_ORDER, REG_RTXS and CHECK_REGS.  All callers changed.
	If SAVED_ORDER is nonnull, copy the computed order into it.
	If CHECK_REGS is false, don't sort REGS.  Set up REG_RTXS just
	like REGS.  Handle Thumb mode.
	(arm_gen_load_multiple_1): New function, broken out of
	arm_gen_load_multiple.
	(arm_gen_store_multiple_1): New function, broken out of
	arm_gen_store_multiple.
	(arm_gen_multiple_op): New function, with code from
	arm_gen_load_multiple and arm_gen_store_multiple moved here.
	(arm_gen_load_multiple, arm_gen_store_multiple): Now just
	wrappers around arm_gen_multiple_op.  Remove argument UP, all callers
	changed.
	(gen_ldm_seq, gen_stm_seq, gen_const_stm_seq): New functions.
	* config/arm/predicates.md (commutative_binary_operator): New.
	(load_multiple_operation, store_multiple_operation): Handle more
	variants of these patterns with different starting offsets.  Handle
	Thumb-1.
	* config/arm/arm.md: Include "ldmstm.md".
	(ldmsi_postinc4, ldmsi_postinc4_thumb1, ldmsi_postinc3, ldmsi_postinc2,
	ldmsi4, ldmsi3, ldmsi2, stmsi_postinc4, stmsi_postinc4_thumb1,
	stmsi_postinc3, stmsi_postinc2, stmsi4, stmsi3, stmsi2 and related
	peepholes): Delete.
	* config/arm/ldmstm.md: New file.
	* config/arm/arm-ldmstm.ml: New file.

testsuite/
	PR target/40457
	* gcc.target/arm/pr40457-1.c: New test.
	* gcc.target/arm/pr40457-2.c: New test.

From-SVN: r162815
2010-08-02 10:06:47 +00:00
Bernd Schmidt 0bd44ba2e1 thumb2.md (thumb2_movdi, [...]): Delete patterns.
* config/arm/thumb2.md (thumb2_movdi, thumb2_movsf_soft_insn,
	thumb2_movdf_soft_insn): Delete patterns.
	* config/arm/arm.md (arm_pool_range, thumb2_pool_range,
	arm_neg_pool_range, thumb2_neg_pool_range): New attributes.
	(pool_range, neg_pool_range): Use them to define defaults.
	(movdi, arm_movsf_soft_insn, arm_movdf_soft_insn): Define them
	and allow for TARGET_32BIT.

From-SVN: r162814
2010-08-02 09:53:58 +00:00
Bernd Schmidt 906668bb6f final.c (final_scan_insn): Call CC_STATUS_INIT unconditionally.
* final.c (final_scan_insn): Call CC_STATUS_INIT unconditionally.
	* config/arm/arm.c (thumb1_code): New variable.
	(arm_override_options): Set it.
	(thumb1_final_prescan_insn): Keep track of condition code status.
	(arm_adjust_cost): For Thumb, try to keep cc-setting insns next to
	jumps that depend on them.
	* config/arm/arm.h (thumb1_code): Declare variable.
	(struct machine_function): Guard with #ifndef GENERATOR_FILE.  Add
	members thumb1_cc_insn, thumb1_cc_op0, thumb1_cc_op1 and
	thumb1_cc_mode.
	(CC_STATUS_INIT): New macro.
	* config/arm/constraints.md (Pd): New constraint.
	* config/arm/predicates.md (noov_comparison_operator): New predicate.
	* config/arm/arm.md (is_thumb1): New define_attr.
	(conds): Set default to "clob" when generating Thumb1 code.
	(thumb1_bicsi3): Renamed from bicsi3.  All uses changed.  Condition
	code are set.  Use two-operand assembly syntax.
	(thumb1_subsi3_insn): Condition codes are set.  Now a properly named
	pattern.
	(thumb1_andsi3_insn, thumb1_iorsi3_insn, thumb1_xorsi3_insn): Condition
	codes are set.  Use two-operand assembly syntax.
	(zero_extendhisi splitter): Remove constraints.
	(thumb1_movsi_insn, thumb1_movhi_insn, thumb1_movqi_insn, thumb1_movhf,
	thumb1_movsf_insn): Set conds attribute as appropriate.
	(cbranchsi4_insn): Use condition code status from struct
	machine_function to determine whether the comparison can be eliminated.
	Discourage the alternative using high registers.
	(movsi_cbranchsi4, andsi3_cbranch, orrsi3_cbranch_scratch,
	orrsi3_cbranch, xorsi3_cbranch_scratch, xorsi3_cbranch,
	bicsi3_cbranch_scratch, bicsi3_cbranch, subsi3_cbranch_scratch,
	subsi3_cbranch): Delete.
	(movsi_cbranchsi4 peepholes): Rewrite to generate a sequence of
	one subtract and one cbranch insn.

From-SVN: r162813
2010-08-02 09:51:39 +00:00
Bernd Schmidt f37e278a15 postreload.c (reload_cse_simplify_operands): Take attribute enabled into account.
* postreload.c (reload_cse_simplify_operands): Take attribute enabled
	into account.

From-SVN: r162812
2010-08-02 09:42:37 +00:00
Ramana Radhakrishnan 0eeeef0768 arm.c (COSTS_N_INSNS): Remove definition.
2010-08-02  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	* config/arm/arm.c (COSTS_N_INSNS): Remove definition.

From-SVN: r162811
2010-08-02 08:52:15 +00:00
Janne Blomqvist 3571367557 Don't update the position flag for non-seekable files, check for stell() error.
From-SVN: r162810
2010-08-02 09:22:23 +03:00
GCC Administrator 0093ddee96 Daily bump.
From-SVN: r162809
2010-08-02 00:17:15 +00:00
Gerald Pfeifer dd9120005c update_web_docs_libstdcxx_svn: Do not compress generated .html files any more.
* update_web_docs_libstdcxx_svn: Do not compress generated .html
	files any more.

From-SVN: r162805
2010-08-01 21:10:55 +00:00
Janus Weil f3f98a1e51 re PR fortran/44912 ([OOP] Segmentation fault on TBP)
2010-08-01  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44912
	* class.c (gfc_build_class_symbol): Make '$vptr' component private.
	(gfc_find_derived_vtab): Make vtabs and vtypes public.
	* module.c (read_module): When reading module files, always import
	vtab and vtype symbols.

2010-08-01  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44912
	* gfortran.dg/typebound_call_17.f03: New.

From-SVN: r162804
2010-08-01 21:21:49 +02:00
Janne Blomqvist 47dad3ff97 Use access(2) instead of stat(2) to test file existence.
From-SVN: r162798
2010-08-01 14:22:18 +03:00
Uros Bizjak 22db1fbca9 re PR target/45142 (split for *vec_set<mode>_0_sse2 incomplete)
PR target/45142
	* config/i386/sse.md (vec_set<mode>_0): Do not set mode attribute for
	alternative 2.
	(vec_set<moode>_0 splitter): Use SSEMODE4S mode iterator to also
	split V4SI operands.

From-SVN: r162797
2010-08-01 12:41:57 +02:00
Anatoly Sokolov 501d087d62 mmix.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.
* config/mmix/mmix.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.
	* config/mmix/mmix-protos.h (mmix_asm_output_source_filename): Remove.
	* config/mmix/mmix.c (mmix_asm_output_source_filename): Make static.
	(TARGET_ASM_OUTPUT_SOURCE_FILENAME): Define.

From-SVN: r162793
2010-08-01 12:29:20 +04:00