Commit Graph

86173 Commits

Author SHA1 Message Date
Tom Tromey 0a5fe1104e expr.c (expand_byte_code): Set DECL_FUNCTION_LAST_LINE on method.
* expr.c (expand_byte_code): Set DECL_FUNCTION_LAST_LINE on
	method.
	* java-tree.h (struct lang_decl_func): Remove obsolete comment.

From-SVN: r132767
2008-02-29 12:55:06 +00:00
Kaz Kojima b0fbea136e sh.c (sh_scalar_mode_supported_p): New function.
* config/sh/sh.c (sh_scalar_mode_supported_p): New function.
	(TARGET_SCALAR_MODE_SUPPORTED_P): Define.

	* config/sh/sh.h (OVERRIDE_OPTIONS): Don't warn for profiling.

From-SVN: r132766
2008-02-29 12:46:19 +00:00
Sebastian Pop 0c96231b2f tree-loop-linear.c (try_interchange_loops): Compare memory access strides against cache sizes.
* tree-loop-linear.c (try_interchange_loops): Compare memory access
	strides against cache sizes.

	* testsuite/gcc.dg/tree-ssa/ltrans-8.c: Increase the size of strides
	to make the interchange profitable.

From-SVN: r132765
2008-02-29 12:41:14 +00:00
Kaz Kojima d973ac5a9f sh.c (sh_secondary_reload): Handle loading a float constant to fpul.
* config/sh/sh.c (sh_secondary_reload): Handle loading a float
	constant to fpul.

From-SVN: r132764
2008-02-29 12:37:34 +00:00
GCC Administrator a9cbbfed45 Daily bump.
From-SVN: r132761
2008-02-29 00:17:35 +00:00
Daniel Franke 766d0c8c44 re PR fortran/31463 ([patch] inconsistent warnings if function return value is not set)
gcc/fortran:
2008-02-28  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/31463
        PR fortran/33950
        PR fortran/34296
        * lang.opt: Added -Wreturn-type.
        * options.c (gfc_handle_option): Recognize -Wreturn-type.
        * trans-decl.c (gfc_trans_deferred_vars): Emit warnings for funtions
        where the result value is not set.
        (gfc_generate_function_code): Likewise.
        (generate_local_decl): Emit warnings for funtions whose RESULT
        variable is not set.

gcc/testsuite:
2008-02-28  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/31463
        PR fortran/33950
        PR fortran/34296
        * gfortran.dg/arrayio_11.f90: Fixed test.
        * gfortran.dg/arrayio_12.f90: Likewise.
        * gfortran.dg/module_read_1.f90: Added warning-directives.
        * gfortran.dg/pr32242.f90: Likewise.
        * gfortran.dg/result_in_spec_3.f90: Likewise.
        * gfortran.dg/use_12.f90: Likewise.
        * gfortran.dg/warn_function_without_result.f90 : New test.

From-SVN: r132756
2008-02-28 15:22:55 -05:00
Richard Sandiford 4613543f82 simplify-rtx.c (simplify_unary_operation_1): Extend the handling of SUBREG_PROMOTED_VAR_P to cope with cases where the...
gcc/
	* simplify-rtx.c (simplify_unary_operation_1): Extend the handling
	of SUBREG_PROMOTED_VAR_P to cope with cases where the extended value
	is smaller than the original promoted value.
	(simplify_subreg): If OP is a SUBREG, try to preserve its
	SUBREG_PROMOTED_VAR_P information.

From-SVN: r132755
2008-02-28 20:02:09 +00:00
Francois-Xavier Coudert 43e7fd21ac re PR fortran/34868 (ICE with -ff2c for function returning a complex number)
PR fortran/34868

	* trans-expr.c (gfc_conv_variable): Don't build indirect
	references when explicit interface is mandated.
	* resolve.c (resolve_formal_arglist): Set attr.always_explicit
	on the result symbol as well as the procedure symbol.

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

From-SVN: r132751
2008-02-28 15:42:21 +00:00
Steven Bosscher cbfb21c1c1 tree-ssa-sccvn (vn_ssa_aux_obstack): New obstack.
2008-02-28  Steven Bosscher  <stevenb.gcc@gmail.com>

	* tree-ssa-sccvn (vn_ssa_aux_obstack): New obstack.
	(VN_INFO_GET): Allocate new objects on the obstack.
	(init_scc_vn): Initialize the obstack.  Use XDELETE instead of free
	for rpo_numbers_temp, for consistency.
	(free_scc_vn): Free the obstack.

From-SVN: r132750
2008-02-28 15:39:33 +00:00
Sebastian Pop dea61d9282 invoke.texi: Document -ftree-loop-distribution.
* doc/invoke.texi: Document -ftree-loop-distribution.
	* tree-loop-distribution.c: New.
	* tree-pass.h (pass_loop_distribution): New.
	* graphds.h (struct graph): Add htab_t indices.
	* timevar.def (TV_TREE_LOOP_DISTRIBUTION): New.
	* tree-vectorizer.c (rename_variables_in_loop): Extern.
	(slpeel_tree_duplicate_loop_to_edge_cfg): Init PENDING_STMT to NULL.
	* tree-vectorizer.h (tree_duplicate_loop_on_edge): Declared.
	* tree-data-ref.c (debug_data_dependence_relations): New.
	(dump_data_dependence_relation): Also print data references.
	(free_data_ref): Extern.
	(same_access_functions): Moved...
	(find_vertex_for_stmt): Renamed rdg_vertex_for_stmt.
	(dump_rdg_vertex, debug_rdg_vertex, dump_rdg_component,
	debug_rdg_component, dump_rdg, debug_rdg, dot_rdg_1, dot_rdg,
	struct rdg_vertex_info, rdg_vertex_for_stmt): New.
	(create_rdg_edge_for_ddr, create_rdg_vertices): Cleaned up.
	(stmts_from_loop): Skip LABEL_EXPR.
	(hash_stmt_vertex_info, eq_stmt_vertex_info, hash_stmt_vertex_del): New.
	(build_rdg): Initialize rdg->indices htab.
	(free_rdg, stores_from_loop, ref_base_address,
	rdg_defs_used_in_other_loops_p, have_similar_memory_accesses,
	have_similar_memory_accesses_1, ref_base_address_1,
	remove_similar_memory_refs): New.
	* tree-data-ref.h: Depend on tree-chrec.h.
	(debug_data_dependence_relations, free_data_ref): Declared.
	(same_access_functions): ... here.
	(ddr_is_anti_dependent, ddrs_have_anti_deps, ddr_dependence_level): New.
	(struct rdg_vertex): Add has_mem_write and has_mem_reads.
	(RDGV_HAS_MEM_WRITE, RDGV_HAS_MEM_READS, RDG_STMT,
	RDG_MEM_WRITE_STMT, RDG_MEM_READS_STMT): New.
	(dump_rdg_vertex, debug_rdg_vertex, dump_rdg_component,
	debug_rdg_component, dump_rdg, debug_rdg, dot_rdg,
	rdg_vertex_for_stmt): Declared.
	(struct rdg_edge): Add level.
	(RDGE_LEVEL): New.
	(free_rdg, stores_from_loop, remove_similar_memory_refs,
	rdg_defs_used_in_other_loops_p, have_similar_memory_accesses): Declared.
	(rdg_has_similar_memory_accesses): New.
	* tree-vect-analyze.c: Remove unused static decls.
	* lambda.h (dependence_level): New.
	* common.opt (ftree-loop-distribution): New.
	* tree-flow.h (mark_virtual_ops_in_bb, 
	slpeel_tree_duplicate_loop_to_edge_cfg,
	rename_variables_in_loop): Declared.
	* Makefile.in (TREE_DATA_REF_H): Depend on tree-chrec.h.
	(OBJS-common): Add tree-loop-distribution.o.
	(tree-loop-distribution.o): New rule.
	* tree-cfg.c (mark_virtual_ops_in_bb): New.
	(mark_virtual_ops_in_region): Use mark_virtual_ops_in_bb.
	* passes.c (init_optimization_passes): Schedule pass_loop_distribution.

	* testsuite/gcc.dg/tree-ssa/ldist-{1..12}.c: New.

From-SVN: r132745
2008-02-28 12:37:24 +00:00
Joseph Myers dde75838e9 re PR target/33963 (Dllimport attribute wrongly accepted on typedefs)
PR target/33963
	* tree.c (handle_dll_attribute): Disallow TYPE_DECLs for types
	other than structures and unions.

From-SVN: r132744
2008-02-28 12:34:51 +00:00
Richard Guenther 3b3024215f revert: tree-flow.h (uid_decl_map_hash, [...]): Move ...
2008-02-28  Richard Guenther  <rguenther@suse.de>

        Revert:
        2008-02-26  Richard Guenther  <rguenther@suse.de>

	* tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
	* tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
	(lookup_decl_from_uid): Declare.
	(remove_decl_from_map): Likewise.
	* tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
	* tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
	(decl_for_uid_map): New global hashtable mapping DECL_UID
	to the decl tree.
	(init_ttree): Allocate it.
	(insert_decl_to_uid_decl_map): New helper function.
	(make_node_stat): Insert new decls into the map.
	(copy_node_stat): Likewise.
	(lookup_decl_from_uid): New function.
	(remove_decl_from_map): Likewise.
	(print_decl_for_uid_map_statistics): New helper.
	(dump_tree_statistics): Call it.

	cp/
	* decl.c (duplicate_decls): Remove decl from global mapping
	before ggc_freeing it.

	* tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
	(referenced_var_iterator): Adjust.
	(FOR_EACH_REFERENCED_VAR): Adjust.
	(FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
	(num_referenced_vars): Adjust.
	* tree-flow-inline.h (gimple_referenced_vars): Adjust.
	(first_referenced_var): Remove.
	(end_referenced_vars_p): Likewise.
	(next_referenced_var): Likewise.
	(referenced_var_iterator_set): New helper function.
	* tree-dfa.c (referenced_var_lookup): Adjust.
	(referenced_var_check_and_insert): Likewise.
	(remove_referenced_var): Likewise.
	* tree-ssa.c (verify_flow_insensitive_alias_info): Use
	FOR_EACH_REFERENCED_VAR_IN_BITMAP.
	(verify_call_clobbering): Likewise.
	(verify_memory_partitions): Likewise.
	(init_tree_ssa): Allocate bitmap instead of hashtable for
	referenced_vars.
	(delete_tree_ssa): Adjust.
	* tree-ssa-alias.c (mark_aliases_call_clobbered): Use
	FOR_EACH_REFERENCED_VAR_IN_BITMAP.
	(compute_tag_properties): Likewise.
	(set_initial_properties): Likewise.
	(find_partition_for): Likewise.
	(update_reference_counts): Likewise.
	(dump_may_aliases_for): Likewise.
	* tree-ssa-operands.c (add_virtual_operand): Likewise.
	(add_call_clobber_ops): Likewise.
	(add_call_read_ops): Likewise.
	(get_asm_expr_operands): Likewise.
	* tree-into-ssa.c (dump_decl_set): Likewise.
	(update_ssa): Likewise.
	* tree-sra.c (scan_function): Likewise.
	(decide_instantiations): Likewise.
	(scalarize_parms): Likewise.
	* tree-ssa-alias-warnings.c (build_reference_table): Likewise.
	(dsa_named_for): Likewise.
	* tree-ssa-structalias.c (update_alias_info): Likewise.
	(merge_smts_into): Likewise.

From-SVN: r132740
2008-02-28 09:56:54 +00:00
Uros Bizjak f4abe9e0e3 pr34351.c: Compile for x86 targets only.
* gcc.dg/pr34351.c: Compile for x86 targets only.  Use %ebx register.

From-SVN: r132738
2008-02-28 10:39:13 +01:00
David Daney 792046b6b1 * HACKING: Correct typo in find command.
From-SVN: r132736
2008-02-28 06:52:59 +00:00
GCC Administrator f34980bfb3 Daily bump.
From-SVN: r132734
2008-02-28 00:17:55 +00:00
Francois-Xavier Coudert ca175312c1 * gfortran.dg/large_real_kind_3.F90: Reverse previous commit.
From-SVN: r132730
2008-02-27 22:32:56 +00:00
Ralf Wildenhues d482a07324 re PR preprocessor/35379 (-MT generates a target string too long over two lines)
libcpp:
	PR preprocessor/35379
	* mkdeps.c (deps_write): Ensure the first target always appears
	in the first column, without leading backslash newline.  Avoid
	some more extra whitespace.

From-SVN: r132727
2008-02-27 21:42:23 +00:00
David Daney 296746bda3 natPlainSocketImplPosix.cc (bind): Remove check for null host.
* gnu/java/net/natPlainSocketImplPosix.cc (bind): Remove check for
	null host.

From-SVN: r132726
2008-02-27 18:53:02 +00:00
David Daney 2a1ed4fcfd re PR target/34409 (MIPS: Non-optimal DWARF frame data)
PR target/34409
	* config/mips/iris.h (MIPS_DEBUGGING_INFO): Define.
	* config/mips/openbsd.h (MIPS_DEBUGGING_INFO): Same.
	* config/mips/sde.h (MIPS_DEBUGGING_INFO): Remove undef.
	* config/mips/vxworks.h (MIPS_DEBUGGING_INFO): Same.
	* config/mips/mips.h (MIPS_DEBUGGING_INFO): Remove define.

From-SVN: r132725
2008-02-27 18:04:49 +00:00
Uros Bizjak c92712d17a re PR target/25477 (builtin functions should use $LDBL128 suffix on darwin when appropriate)
PR target/25477
        * config/darwin-ppc-ldouble-patch.def (BUILT_IN_NANL): Add.
        (BUILT_IN_NEXTTOWARD): Remove.
        (BUILT_IN_NEXTTOWARDF): Ditto.
        * config/darwin.c (darwin_patch_builtin): Use ACONCAT instead of
        alloca/strcpy/strcat.  Remove commented-out code.  Fix whitespace.

From-SVN: r132723
2008-02-27 18:29:58 +01:00
Tom Tromey a8bafc433c tree-dump.c (dequeue_and_dump): Check DECL_SAVED_TREE, not DECL_LANG_SPECIFIC, when dumping body.
* tree-dump.c (dequeue_and_dump) <FUNCTION_DECL>: Check
	DECL_SAVED_TREE, not DECL_LANG_SPECIFIC, when dumping body.

From-SVN: r132722
2008-02-27 15:49:19 +00:00
Jan Beulich f35f8a60df mmx-1.c: Add -Werror-implicit-function-declaration to dg-options.
gcc/testsuite/
2008-02-27  Jan Beulich  <jbeulich@novell.com>

	* gcc.target/i386/mmx-1.c: Add
	-Werror-implicit-function-declaration to dg-options.
	* gcc.target/i386/mmx-2.c: Likewise.
	* gcc.target/i386/sse-13.c: Likewise.
	* gcc.target/i386/sse-14.c: Likewise.

From-SVN: r132721
2008-02-27 15:03:58 +00:00
Jan Beulich 8220334aba c-decl.c (merge_decls): Use DECL_USER_ALIGN() on olddecl to update the respective field on newdecl.
gcc/
2008-02-27  Jan Beulich  <jbeulich@novell.com>

	* c-decl.c (merge_decls): Use DECL_USER_ALIGN() on olddecl to
	update the respective field on newdecl.

From-SVN: r132719
2008-02-27 14:59:50 +00:00
Francois-Xavier Coudert b5a4419cde re PR fortran/33387 (Fortran front-end should translate intrinsics by calling C99 function instead of libgfortran functions)
PR fortran/33387

	* trans.h: Remove prototypes for gfor_fndecl_math_exponent4,
	gfor_fndecl_math_exponent8, gfor_fndecl_math_exponent10 and
	gfor_fndecl_math_exponent16.
	* f95-lang.c (build_builtin_fntypes): Add new function types.
	(gfc_init_builtin_functions): Add new builtins for nextafter,
	frexp, ldexp, fabs, scalbn and inf.
	* iresolve.c (gfc_resolve_rrspacing): Don't add hidden arguments.
	(gfc_resolve_scale): Don't convert type of second argument.
	(gfc_resolve_set_exponent): Likewise.
	(gfc_resolve_size): Don't add hidden arguments.
	* trans-decl.c: Remove gfor_fndecl_math_exponent4,
	gfor_fndecl_math_exponent8, gfor_fndecl_math_exponent10 and
	gfor_fndecl_math_exponent16.
	* trans-intrinsic.c (gfc_intrinsic_map): Remove intrinsics
	for scalbn, fraction, nearest, rrspacing, set_exponent and
	spacing.
	(gfc_conv_intrinsic_exponent): Directly call frexp.
	(gfc_conv_intrinsic_fraction, gfc_conv_intrinsic_nearest,
	gfc_conv_intrinsic_spacing, gfc_conv_intrinsic_rrspacing,
	gfc_conv_intrinsic_scale, gfc_conv_intrinsic_set_exponent): New
	functions.
	(gfc_conv_intrinsic_function): Use the new functions above.

From-SVN: r132713
2008-02-27 14:32:02 +00:00
Revital Eres 8bf6e27028 Fix PR rtl-optimization/34999
From-SVN: r132711
2008-02-27 13:27:56 +00:00
Richard Guenther 7fb52af2ec re PR tree-optimization/25290 (PHI-OPT could be rewritten so that is uses fold)
2008-02-27  Richard Guenther  <rguenther@suse.de>

	PR middle-end/25290
	* fold-const.c (fold_unary): Return the correct argument,
	converted to the result type.

	* gcc.c-torture/execute/pr35390.c: New testcase.

From-SVN: r132710
2008-02-27 13:17:17 +00:00
Arnaud Charlet 47d4302293 Minor reformatting.
From-SVN: r132709
2008-02-27 14:07:30 +01:00
Samuel Tardieu acf6b7ab30 re PR ada/22255 (Reset on shared file causes Use_Error.)
gcc/ada/
	PR ada/22255
	* s-fileio.adb (Reset): Do not raise Use_Error if mode isn't changed.

    gcc/testsuite/
	PR ada/22255
	* gnat.dg/test_direct_io.adb: New file.

From-SVN: r132708
2008-02-27 12:12:14 +00:00
Samuel Tardieu f5c064ab04 re PR ada/34799 ([Ada] Assertion fails when no component clause is given for generic record member)
gcc/ada/
	PR ada/34799
	* sem_ch13.adb (Analyze_Record_Representation_Clause): Check
	that underlying type is present.

    gcc/testsuite/
	PR ada/34799
	* gnat.dg/specs/pr34799.ads: New test.

From-SVN: r132707
2008-02-27 11:53:55 +00:00
Richard Guenther 70582b3afe re PR middle-end/34971 (bitfield rotates are folded and expanded wrong)
2008-02-27  Richard Guenther  <rguenther@suse.de>

	PR middle-end/34971
	* expr.c (expand_expr_real_1): Assert on rotates that operate
	on partial modes.
	* fold-const.c (fold_binary): Use the types precision, not the
	bitsize of the mode if folding rotate expressions.  Build rotates
	only for full modes.

	* gcc.c-torture/execute/pr34971.c: New testcase.

From-SVN: r132706
2008-02-27 09:50:04 +00:00
Jakub Jelinek a15f0fd028 re PR c++/35368 (With #pragma visibility, `vtable for __cxxabiv1::__class_type_info' is emitted as a hidden-visibility relocation)
PR c++/35368
	* rtti.c: Include c-pragma.h.
	(push_abi_namespace, pop_abi_namespace): New functions.
	(build_dynamic_cast_1, tinfo_base_init, get_pseudo_ti_index,
	create_tinfo_types, emit_support_tinfos): Use them.
	* Make-lang.in (cp/rtti.o): Depend on $(C_PRAGMA_H).

	* g++.dg/ext/visibility/typeinfo2.C: New test.
	* g++.dg/ext/visibility/typeinfo3.C: New test.

From-SVN: r132704
2008-02-27 10:09:05 +01:00
Jakub Jelinek a25a8f3be3 c-ppoutput.c (scan_translation_unit): Handle CPP_PRAGMA and CPP_PRAGMA_EOL.
* c-ppoutput.c (scan_translation_unit): Handle CPP_PRAGMA
	and CPP_PRAGMA_EOL.
	* c-pragma.c (pragma_ns_name): New typedef.
	(registered_pp_pragmas): New variable.
	(c_pp_lookup_pragma): New function.
	(c_register_pragma_1): If flag_preprocess_only, do nothing
	for non-expanded pragmas, for expanded ones push pragma's
	namespace and name into registered_pp_pragmas vector.
	(c_invoke_pragma_handler): Register OpenMP pragmas even when
	flag_preprocess_only, don't register GCC pch_preprocess
	pragma if flag_preprocess_only.
	* c-opts.c (c_common_init): Call init_pragma even if
	flag_preprocess_only.
	* c-pragma.c (c_pp_lookup_pragma): New prototype.
	* config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Don't call
	cpp_register_pragma if flag_preprocess_only.

	* gcc.dg/gomp/preprocess-1.c: New test.

From-SVN: r132703
2008-02-27 09:51:22 +01:00
GCC Administrator 9cc028fa79 Daily bump.
From-SVN: r132698
2008-02-27 00:17:49 +00:00
Joseph Myers 68642e419f * gcc.dg/bf-ms-attrib.c (main): Return 0.
From-SVN: r132692
2008-02-26 23:41:35 +00:00
Joseph Myers 36e2f1c132 mmx-4.c (dump64_64): Use printf %I64 on MinGW.
* gcc.target/i386/mmx-4.c (dump64_64): Use printf %I64 on MinGW.
	* gcc.target/i386/sse-6.c (dump128_64): Likewise.

From-SVN: r132691
2008-02-26 23:40:46 +00:00
Ralf Wildenhues 369239efc9 re PR c/28800 (warning "ISO C forbids an empty source file" could be improved)
gcc/:
PR c/28800
* c-parser.c (c_parser_translation_unit): Warn for empty
translation unit, not empty source file.

gcc/testsuite/:
PR c/28800
* gcc.dg/empty-source-2.c: Adjust for warning message.
* gcc.dg/empty-source-3.c: Likewise.
* gcc.dg/pack-test-2.c: Adjust comment.
* gcc.dg/pragma-ep-2.c: Likewise.
* gcc.dg/pragma-re-2.c: Likewise.
* gcc.dg/va-arg-2.c: Likewise.

From-SVN: r132690
2008-02-26 22:41:16 +00:00
Tobias Burnus e19bb1866c re PR fortran/35033 (Valid ASSIGNMENT(=) rejected)
2008-02-26  Tobias Burnus  <burnus@net-b.de>

        PR fortran/35033
        * interface.c (check_operator_interface): Show better line for
        * error
        messages; fix constrains for user-defined assignment operators.
        (gfc_extend_assign): Fix constrains for user-defined assignment
        operators.

2008-02-26  Tobias Burnus  <burnus@net-b.de>

        PR fortran/35033
        * gfortran.dg/assignment_2.f90: New.

From-SVN: r132689
2008-02-26 23:33:35 +01:00
Paul Brook f5c630c312 arm.c (thumb_set_frame_pointer): Ensure SP is first operand for Thumb-2.
2008-02-26  Paul Brook  <paul@codesourcery.com>

	* config/arm/arm.c (thumb_set_frame_pointer): Ensure SP is first
	operand for Thumb-2.
	* config/arm/arm.h (reg_class): Add CORE_REGS.
	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Ditto.
	(BASE_REG_CLASS): Use CORE_REGS.
	(PREFERRED_RELOAD_CLASS): Add STACK_REG.
	(REGNO_MODE_OK_FOR_REG_BASE_P): Use REGNO_MODE_OK_FOR_BASE_P.
	(REGNO_OK_FOR_INDEX_P): Exclude SP.
	(ARM_REG_OK_FOR_INDEX_P): Always define.  Use
	ARM_REGNO_OK_FOR_INDEX_P.
	(ARM_PRINT_OPERAND_ADDRESS): Swap operands for [reg, sp].
	* config/arm/arm.md (arm_addsi3, thumb1_addsi3, arm_subsi3_insn,
	arm_movsi_insn, thumb1_movsi_insni, stack_tie): Add "k" alternatives.
	(ldm/stm peepholes): Ditto.
	* config/arm/thumb2.md (thumb2_movdi): Add "k" alternatives.
	* config/arm/vfp.md (arm_movsi_vfp, thumb2_movsi_vfp): Ditto.
	* config/arm/iwmmxt.md (iwmmxt_movsi_insn): Ditto.
	* config/arm/constraints.md: Enable "k" constraint on ARM.

From-SVN: r132687
2008-02-26 22:21:08 +00:00
Ben Elliston 0d158b6e40 rs6000.c: Annotate cache line size field in all instances of struct processor_costs.
* config/rs6000/rs6000.c: Annotate cache line size field in all
	instances of struct processor_costs.

From-SVN: r132685
2008-02-27 07:10:40 +11:00
David Edelsohn 7d817ebc0d dbgcnt.def (cfg_cleanup, [...]): New counters.
* dbgcnt.def (cfg_cleanup, cprop1, cprop2, dce_fast, dce_ud, dse1,
        dse2, gcse, if_conversion, if_after_combine, if_after_reload,
        jump_bypass): New counters.
        * cfgcleanup.c (cleanup_cfg): Add dbg_cnt.
        * dce.c (gate_ud_dce): Same.
        (gate_fast_dce): Same.
        * dse.c (gate_dse1): New function.
        (gate_dse2): New function.
        (gate_dse): Merge results of new gate functions.
        * gcse.c (gcse_main): Bracket cprop1 and cprop2 with dbg_cnt.
        (gate_handle_jump_bypass): Add dbg_cnt.
        (gate_handle_gcse): Add dbg_cnt.
        * ifcvt.c (gate_handle_if_conversion): Same.
        (gate_handle_if_after_combine): Same.
        (gate_handle_if_after_reload): Same.
        * Makefile.in: Add DBGCNT_H to cfgcleanup.o and ifcvt.o.

From-SVN: r132684
2008-02-26 14:21:21 -05:00
Edmar Wienskoski a19b7d4650 rs6000.c (processor_costs): Update e300 cache line sizes.
2008-02-26  Edmar Wienskoski  <edmar@freescale.com>

        * config/rs6000/rs6000.c (processor_costs): Update e300 cache
        line sizes.
        * doc/invoke.texi: Add e300c2 and e300c3 to list of cpus.

From-SVN: r132683
2008-02-26 14:14:00 -05:00
H.J. Lu fdf4f083c8 Add missing ChangeLog entries.
From-SVN: r132682
2008-02-26 10:43:25 -08:00
Jason Merrill 317c435f41 re PR c++/35315 (ICE with attribute transparent_union)
PR c++/35315
        * attribs.c (decl_attributes): Leave ATTR_FLAG_TYPE_IN_PLACE
        alone if it's the naming decl for the type's main variant.
        * cp/decl.c (grokdeclarator): Allow a typedef of an unnamed struct
        to name the struct for linkage purposes even if it has attributes.
        (start_decl): In that case, set ATTR_FLAG_TYPE_IN_PLACE.

From-SVN: r132681
2008-02-26 13:09:02 -05:00
Richard Sandiford f82c41ea91 nest-align-1.x: Delete.
gcc/testsuite/
	* gcc.c-torture/execute/nest-align-1.x: Delete.

From-SVN: r132680
2008-02-26 16:52:00 +00:00
Tom Tromey 2d593c86cf system.h (USE_MAPPED_LOCATION): Poison.
gcc
	* system.h (USE_MAPPED_LOCATION): Poison.
	* Makefile.in (GTFILES): Put CPP_ID_DATA_H first.
	* tree-cfg.c (make_cond_expr_edges): Remove old location code.
	(make_goto_expr_edges): Likewise.
	(remove_bb): Likewise.
	(execute_warn_function_return): Likewise.
	* basic-block.h (struct edge_def) <goto_locus>: Change type to
	location_t.
	* c-common.c (fname_decl): Remove old location code.
	* tree-vect-transform.c (vect_finish_stmt_generation): Remove old
	location code.
	* rtl.h (ASM_OPERANDS_SOURCE_LOCATION): Remove old-location
	variant.
	(ASM_INPUT_SOURCE_LOCATION): Likewise.
	(gen_rtx_ASM_INPUT): Likewise.
	(gen_rtx_ASM_INPUT_loc): Likewise.
	(get_rtx_asm_OPERANDS): Remove.
	* cfglayout.c (insn_locators_alloc): Remove old location code.
	(set_curr_insn_source_location): Likewise.
	(curr_insn_locator): Likewise.
	* print-tree.c (print_node): Remove old location code.
	* tree-mudflap.c (mf_varname_tree): Remove old location code.
	(mf_file_function_line_tree): Remove test of USE_MAPPED_LOCATION.
	* cfgexpand.c (expand_gimple_cond_expr): Don't use
	location_from_locus.
	(construct_exit_block): Remove old location code.
	* emit-rtl.c (force_next_line_note): Remove old location code.
	* profile.c (branch_prob): Remove old location code.
	* tree-vectorizer.h (LOC, UNKNOWN_LOC, EXPR_LOC, LOC_FILE,
	LOC_LINE): Remove old-location variants.
	* langhooks.c (lhd_print_error_function): Remove old location
	code.
	* configure, config.in: Rebuilt.
	* configure.ac (--enable-mapped-location): Remove.
	* c-decl.c (c_init_decl_processing): Remove old location code.
	(finish_function): Likewise.
	* recog.c (decode_asm_operands): Remove old location code.
	* c-pch.c (c_common_read_pch): Remove old location code.
	* rtl.def (ASM_INPUT, ASM_OPERANDS): Remove old location
	variants.
	* gimple-low.c (lower_function_body): Remove old location code.
	* toplev.c (unknown_location): Remove.
	(push_srcloc): Remove old-location variant.
	(process_options): Remove old location code.
	(lang_dependent_init): Likewise.
	* input.h (UNKNOWN_LOCATION): Move definition.
	(location_t): Undeprecate.
	(source_locus): Remove.
	(location_from_locus): Remove.
	(struct location_s): Remove.
	Remove all old-location code.
	(input_line, input_filename): Remove.
	* final.c (final_scan_insn): Remove old location code.
	* diagnostic.c (diagnostic_build_prefix): Remove
	USE_MAPPED_LOCATION test.
	* tree.h (gimple_stmt) <locus>: Now a location_t.
	(tree_exp) <locus>: Likewise.
	(DECL_IS_BUILTIN): Remove old-location variant.
	(annotate_with_file_line, annotate_with_locus): Likewise.
	(expr_locus, set_expr_locus): Update.
	* tree.c (build1_stat): Remove old location code.
	(last_annotated_node): Remove.
	(annotate_with_file_line): Remove old-location variant.
	(annotate_with_locus): Likewise.
	(expr_location): Remove old location code.
	(set_expr_location): Likewise.
	(expr_has_location): Likewise.
	(expr_locus): Likewise.
	(set_expr_locus): Likewise.
	(expr_filename): Don't use location_from_locus.
	(expr_lineno): Likewise.
	* rtl-error.c (location_for_asm): Remove old location code.
	* c-lex.c (cb_line_change): Remove old location code.
	(fe_file_change): Likewise.
	(cb_def_pragma): Likewise.
	(c_lex_with_flags): Likewise.
	* gengtype.c (do_typedef): Don't special-case location types.
	(define_location_structures): Remove.
	(main): Don't call define_location_structures.
	* tree-pretty-print.c (dump_implicit_edges): Remove old location
	code.
gcc/ada
	* misc.c (internal_error_function): Remove test of
	USE_MAPPED_LOCATION.
	* trans.c (gigi): Remove test of USE_MAPPED_LOCATION.
	(Sloc_to_locus): Remove old location code.
gcc/cp
	* parser.c (eof_token): Remove old location code.
	(check_empty_body): Remove test of USE_MAPPED_LOCATION.
	* decl2.c (generate_ctor_or_dtor_function): Remove old location
	code.
	(cp_write_global_declarations): Likewise.
	* lex.c (cxx_init): Remove old location code.
	(handle_pragma_implementation): Remove test of
	USE_MAPPED_LOCATION.
	* pt.c (tsubst): Remove old location code.
	* error.c (cp_print_error_function): Remove test of
	USE_MAPPED_LOCATION.
	* decl.c (pop_label): Remove old location code.
	(finish_function): Likewise.
gcc/fortran
	* trans-io.c (set_error_locus): Remove old location code.
	* trans-decl.c (gfc_set_decl_location): Remove old location code.
	* f95-lang.c (gfc_init): Remove test of USE_MAPPED_LOCATION.
	* scanner.c (gfc_gobble_whitespace): Remove old location code.
	(get_file): Likewise.
	(preprocessor_line): Likewise.
	(load_file): Likewise.
	(gfc_new_file): Likewise.
	* trans.c (gfc_trans_runtime_check): Remove old location code.
	(gfc_get_backend_locus): Likewise.
	(gfc_set_backend_locus): Likewise.
	* data.c (gfc_assign_data_value): Remove old location code.
	* error.c (show_locus): Remove old location code.
	* gfortran.h (gfc_linebuf): Remove old location code.
	(gfc_linebuf_linenum): Remove old-location variant.
gcc/java
	* lang.c (java_post_options): Remove conditional.
	* expr.c (expand_byte_code): Remove old location code.
	* jcf-parse.c (set_source_filename): Remove old location code.
	(give_name_to_class): Likewise.
	(jcf_parse): Likewise.
	(duplicate_class_warning): Likewise.
	(parse_class_file): Likewise.
	(java_parse_file): Likewise.
	* decl.c (finish_method): Remove old location code.
	* class.c (push_class): Remove old location code.
gcc/objc
	* objc-act.c (objc_init): Remove old location code.
gcc/treelang
	* tree1.c (treelang_init): Remove old location code.
	(treelang_parse_file): Likewise.
	* lex.l (LINEMAP_POSITION_FOR_COLUMN): Remove.
	(update_lineno_charno): Remove old location code.

From-SVN: r132679
2008-02-26 16:05:24 +00:00
Manuel López-Ibáñez 4f01eeb4b5 re PR tree-optimization/26264 (Extraneous warning with __builtin_stdarg_start and optimization)
2008-02-26  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR 26264
	* builtins.def (BUILT_IN_STDARG_START): Remove.
	* builtins.c (expand_builtin): Remove BUILT_IN_STDARG_START.
	* tree-stdarg.c (execute_optimize_stdarg): Likewise.
	* tree-inline.c (inline_forbidden_p_1): Likewise.
cp/
	* call.c (magic_varargs_p):  Remove BUILT_IN_STDARG_START.
testsuite/
	* 20021023-1.c: Use __builtin_va_start instead of
	__builtin_stdarg_start.
	* pr17301-1.c: Likewise.
	* pr17301-2.c: Likewise.

From-SVN: r132677
2008-02-26 14:16:13 +00:00
Richard Guenther bbd59cf423 tree-flow.h (uid_decl_map_hash, [...]): Move ...
2008-02-26  Richard Guenther  <rguenther@suse.de>

	* tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
	* tree.h (uid_decl_map_hash, uid_decl_map_eq): ... here.
	(lookup_decl_from_uid): Declare.
	(remove_decl_from_map): Likewise.
	* tree-ssa.c (uid_decl_map_eq, uid_decl_map_hash): Move ...
	* tree.c (uid_decl_map_eq, uid_decl_map_hash): ... here.
	(decl_for_uid_map): New global hashtable mapping DECL_UID
	to the decl tree.
	(init_ttree): Allocate it.
	(insert_decl_to_uid_decl_map): New helper function.
	(make_node_stat): Insert new decls into the map.
	(copy_node_stat): Likewise.
	(lookup_decl_from_uid): New function.
	(remove_decl_from_map): Likewise.
	(print_decl_for_uid_map_statistics): New helper.
	(dump_tree_statistics): Call it.

	cp/
	* decl.c (duplicate_decls): Remove decl from global mapping
	before ggc_freeing it.

	* tree-flow.h (struct gimple_df): Make referenced_vars a bitmap.
	(referenced_var_iterator): Adjust.
	(FOR_EACH_REFERENCED_VAR): Adjust.
	(FOR_EACH_REFERENCED_VAR_IN_BITMAP): New iterator.
	(num_referenced_vars): Adjust.
	* tree-flow-inline.h (gimple_referenced_vars): Adjust.
	(first_referenced_var): Remove.
	(end_referenced_vars_p): Likewise.
	(next_referenced_var): Likewise.
	(referenced_var_iterator_set): New helper function.
	* tree-dfa.c (referenced_var_lookup): Adjust.
	(referenced_var_check_and_insert): Likewise.
	(remove_referenced_var): Likewise.
	* tree-ssa.c (verify_flow_insensitive_alias_info): Use
	FOR_EACH_REFERENCED_VAR_IN_BITMAP.
	(verify_call_clobbering): Likewise.
	(verify_memory_partitions): Likewise.
	(init_tree_ssa): Allocate bitmap instead of hashtable for
	referenced_vars.
	(delete_tree_ssa): Adjust.
	* tree-ssa-alias.c (mark_aliases_call_clobbered): Use
	FOR_EACH_REFERENCED_VAR_IN_BITMAP.
	(compute_tag_properties): Likewise.
	(set_initial_properties): Likewise.
	(find_partition_for): Likewise.
	(update_reference_counts): Likewise.
	(dump_may_aliases_for): Likewise.
	* tree-ssa-operands.c (add_virtual_operand): Likewise.
	(add_call_clobber_ops): Likewise.
	(add_call_read_ops): Likewise.
	(get_asm_expr_operands): Likewise.
	* tree-into-ssa.c (dump_decl_set): Likewise.
	(update_ssa): Likewise.
	* tree-sra.c (scan_function): Likewise.
	(decide_instantiations): Likewise.
	(scalarize_parms): Likewise.
	* tree-ssa-alias-warnings.c (build_reference_table): Likewise.
	(dsa_named_for): Likewise.
	* tree-ssa-structalias.c (update_alias_info): Likewise.
	(merge_smts_into): Likewise.

From-SVN: r132676
2008-02-26 14:05:42 +00:00
Manuel López-Ibáñez 16302dafcf re PR c/34351 (Please get us the "volatile register" warning back)
2008-02-26  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR 34351
	* doc/invoke.texi (-Wall): Add -Wvolatile-register-var.
	* c-opts.c (c_common_handle_option): Wall enables
	Wvolatile-register-var.
	* common.opt: Move Wvolatile-register-var to...
	* c.opt: ...here.
testsuite/
	* gcc.dg/pr34351.c: New.

From-SVN: r132675
2008-02-26 14:04:09 +00:00
Manuel López-Ibáñez e8fc888de9 common.opt (Wlarger-than=): New.
2008-02-26  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	* common.opt (Wlarger-than=): New.
	* doc/invoke.texi (Warning Options): Replace -Wlarger-than- with
	-Wlarger-than=.
	* opts.c (common_handle_option): Handle -Wlarger-than=.
	* optc-gen.awk: Likewise.
	* opth-gen.awk: Likewise.
	* stor-layout.c (layout_decl): Use -Wlarger-than= for warning.
	* tree-optimize.c (tree_rest_of_compilation): Likewise.
testsuite/
	* gcc.dg/Wlarger-than2.c: New.

From-SVN: r132674
2008-02-26 14:01:02 +00:00
Thiemo Seufer 185a6cc159 Makefile.in ($(srcdir)/config.in): Depend on configure.ac.
From-SVN: r132670
2008-02-26 11:41:01 +00:00