Commit Graph

66466 Commits

Author SHA1 Message Date
Kazu Hirata a21309013c alloc-pool.c, [...]: Update copyright.
* alloc-pool.c, except.h, ggc-common.c, ggc-zone.c, ggc.h,
	stringpool.c, config/mips/mips-protos.h: Update copyright.

From-SVN: r96428
2005-03-14 13:10:51 +00:00
Kazu Hirata c1b9712539 * ggc-zone.c: Fix comment typos.
From-SVN: r96427
2005-03-14 13:04:48 +00:00
Alan Modra 9390387dcf rs6000-protos.h: Replace "struct rtx_def *" throughout with its typedef, "rtx".
* config/rs6000/rs6000-protos.h: Replace "struct rtx_def *"
	throughout with its typedef, "rtx".
	* config/rs6000/rs6000.c: Likewise.  Formatting fixes.
	(rs6000_tls_symbol_ref_1): Remove inline keyword.
	* config/rs6000/rs6000.h (REG_ALLOC_ORDER): Formatting.  Reorder
	regs in comment to match code.

From-SVN: r96420
2005-03-14 17:54:29 +10:30
Kazu Hirata 8de1fc1b60 tree-cfg.c (verify_stmts): Check that bb_for_stmt (stmt) == bb for every PHI node and statement.
* tree-cfg.c (verify_stmts): Check that
	bb_for_stmt (stmt) == bb for every PHI node and statement.

From-SVN: r96418
2005-03-14 04:33:46 +00:00
Mark Mitchell 80fb36b1a8 Update message
From-SVN: r96417
2005-03-14 04:02:20 +00:00
Mark Mitchell 98f99d7f7c re PR c++/20157 (Internal compiler error on invalid code)
PR c++/20157
	* pt.c (determine_specialization): Reject non-specializations.

	PR c++/20157
	* g++.dg/template/error18.C: New test.

From-SVN: r96414
2005-03-14 03:54:21 +00:00
Kazu Hirata 1b28cd0697 regclass.c (reg_class_superclasses, [...]): Make them static.
* regclass.c (reg_class_superclasses, reg_class_subclasses):
	Make them static.
	* hard-reg-set.h: Remove the corresponding declarations.

From-SVN: r96410
2005-03-14 02:56:51 +00:00
Kazu Hirata 7b25e6631d function.c (get_func_frame_size): Make it static.
* function.c (get_func_frame_size): Make it static.
	* function.h: Remove the corresponding type.

From-SVN: r96409
2005-03-14 02:55:03 +00:00
Kazu Hirata c148389e28 except.c (check_handled): Make it static.
* except.c (check_handled): Make it static.
	* except.h: Remove the corresponding prototype.

From-SVN: r96408
2005-03-14 02:53:59 +00:00
Alan Modra fe3e7450d8 config.gcc: Remove excess indentation.
* config.gcc: Remove excess indentation.
	(powerpc*-*-*, rs6000-*-*): Accept --with-cpu/tune power5 and 8548.

From-SVN: r96405
2005-03-14 12:53:49 +10:30
GCC Administrator 1d2093c32b Daily bump.
From-SVN: r96401
2005-03-14 00:16:58 +00:00
Roger Sayle 362cb1bb1f re PR middle-end/19331 (Inefficient code generated for bitfield assignment)
PR middle-end/19331
	* tree.c (get_unwidened): Treat CONVERT_EXPR and NOP_EXPR identically.
	* fold-const.c (fold_sign_changed_comparison): Likewise.
	(fold_binary): Optimize comparisons against widened operands if
	the extension is represented by a CONVERT_EXPR, same as a NOP_EXPR.

From-SVN: r96397
2005-03-13 22:34:03 +00:00
Ben Elliston 334f3a34cd re PR c++/16792 (ICE in gen_subprogram_die, at dwarf2out.c:11267)
PR debug/16792
	* g++.dg/debug/pr16792.C: New test.

From-SVN: r96396
2005-03-14 09:17:59 +11:00
Eric Botcazou 1da4c3a710 sparc.c (struct_value_alias_set): New global variable.
* config/sparc/sparc.c (struct_value_alias_set): New global variable.
	(sparc_override_options): Initialize it.
	(sparc_struct_value_rtx): Set it on the MEM to be returned.

From-SVN: r96395
2005-03-13 22:11:46 +00:00
Joseph Myers 053e7c38b3 anon-struct-6.c, [...]: Ensure uniqueness of test assertion names.
* gcc.dg/anon-struct-6.c, gcc.dg/array-8.c,
	gcc.dg/cpp/19940712-1.c, gcc.dg/cpp/19951025-1.c,
	gcc.dg/cpp/tr-warn6.c, gcc.dg/deprecated.c, gcc.dg/init-bad-1.c,
	gcc.dg/init-bad-2.c, gcc.dg/init-bad-3.c, gcc.dg/m-un-2.c,
	gcc.dg/parm-mismatch-1.c, gcc.dg/redecl-1.c: Ensure uniqueness of
	test assertion names.

From-SVN: r96391
2005-03-13 21:13:41 +00:00
David Edelsohn 97c54d9afb predicates.md (mem_or_easy_const_operand): Delete.
* config/rs6000/predicates.md (mem_or_easy_const_operand): Delete.
        (reg_or_none500mem_operand): New predicate.
        (zero_reg_mem_operand): New predicate.
        * config/rs6000/rs6000.md (extendsfdf2): Change operand1 predicate
        to reg_or_none500mem_operand.
        (extendsfdf2_fpr): Add MEM alternative.
        (extenddftf2_internal): Change operand2 predicate to
        zero_reg_mem_operand.

From-SVN: r96390
2005-03-13 15:28:29 -05:00
Tobias Schlüter f96c612393 re PR fortran/18600 (ICE NIST FM020.f reduced case)
PR fortran/18600
* gfortran.dg/stfunc_1.f90: New test.

From-SVN: r96389
2005-03-13 20:28:18 +01:00
Tobias Schlüter ee9430623a re PR fortran/16907 (Non-integer array indices rejected)
fortran/
PR fortran/16907
* resolve.c (gfc_resolve_index): Allow REAL indices as an extension.

testsuite/
PR fortran/16907
* gfortran.dg/real_index_1.f90: New test.

From-SVN: r96385
2005-03-13 19:46:36 +01:00
Tobias Schlüter 8f9c06ca82 re PR fortran/20323 (optional arguments incorrectly accepted in specification expressions)
fortran/
PR fortran/20323
* resolve.c (gfc_resolve): Check if character lengths are
specification expressions.

testsuite/
PR fortran/20323
* gfortran.dg/spec_expr_1.f90: New test.

From-SVN: r96382
2005-03-13 19:37:17 +01:00
Daniel Jacobowitz 08cee789cd ggc-zone.c: Rewritten.
* ggc-zone.c: Rewritten.

	* alloc-pool.c (dump_alloc_pool_statistics): Don't print statistics
	if there are none.
	* configure.ac: Define GGC_ZONE for --with-gc=zone.
	* config.in: Regenerated.
	* configure: Regenerated.
	* gentype.c (write_types_process_field, write_func_for_structure):
	Pass new argument to gt_pch_note_object.
	* ggc-common.c (struct ptr_data): Add TYPE.
	(gt_pch_note_object): Take TYPE argument and save it.
	(call_count): Update call to ggc_pch_count_object.
	(call_alloc): Update call to ggc_pch_alloc_object.
	(gt_pch_save): Call ggc_pch_prepare_write after paddng the PCH
	file.
	* ggc-none.c (rtl_zone, garbage_zone, ggc_alloc_zone_stat): Delete.
	* ggc-page.c (rtl_zone, tree_zone, garbage_zone)
	(ggc_alloc_zone_stat): Delete.
	(ggc_pch_count_object, ggc_pch_alloc_object): Add TYPE argument.
	* ggc.h (gt_pch_note_object, ggc_pch_count_object)
	(ggc_pch_alloc_object): Update prototypes.
	(garbage_zone): Delete.
	(tree_zone, rtl_zone, ggc_alloc_zone_stat, ggc_alloc_zone): Move to
	GGC_ZONE conditional.  Update.  Change tree_zone and rtl_zone into
	pointers.
	(tree_id_zone): New variable.
	(ggc_alloc_cleared_zone): Remove unused.
	(ggc_alloc_zone): Define.
	(ggc_alloc_rtvec, ggc_alloc_tree): Update to use ggc_alloc_zone.
	* rtl.c (rtx_alloc_stat, shallow_copy_rtx_stat): Use
	ggc_alloc_zone_stat.
	* stringpool.c (gt_pch_n_S): Update call to gt_pch_note_object.
	* tree.c (copy_node_stat, make_tree_binfo_stat, make_tree_vec_stat)
	(tree_cons_stat, build1_stat): Update call to ggc_alloc_zone_stat.
	(make_node_stat): Likewise.  Use tree_id_zone.

From-SVN: r96381
2005-03-13 18:09:55 +00:00
Daniel Jacobowitz 69229b8198 configure.ac: Check for MIPS TLS.
* configure.ac: Check for MIPS TLS.
	* configure: Regenerated.
	* config/mips/mips-protos.h (enum mips_symbol_type): Add
	SYMBOL_TLS, SYMBOL_TLSGD, SYMBOL_TLSLDM, SYMBOL_DTPREL,
	SYMBOL_GOTTPREL, and SYMBOL_TPREL.
	* config/mips/mips.c (mips_regno_to_class): Handle V1_REG.
	(TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
	(mips_classify_symbol, mips_symbolic_constant_p)
	(mips_symbolic_address_p, mips_symbol_insns): Handle TLS symbols.
	(mips_tls_operand_p, mips_call_tls_get_addr)
	(mips_legitimize_tls_address, mips_cannot_force_const_mem)
	(mips_tls_symbol_ref_1): New functions.
	(mips_legitimize_address, mips_legitimize_const_move): Call
	mips_legitimize_tls_address.
	(override_options): Handle V1_REG and TLS symbols.  Disable TLS
	for MIPS16.
	* config/mips/mips.h (enum reg_class, REG_CLASS_NAMES)
	(REG_CLASS_CONTENTS, GR_REG_CLASS_P): Include V1_REG.
	(mips_char_to_class): Document V1_REG.
	(HAVE_AS_TLS): Provide default.
	* config/mips/mips.md (UNSPEC_TLS_LDM, UNSPEC_TLS_GET_TP): New
	constants.
	(load_got<mode>): Renamed from *load_got<mode>.  Allow when
	!TARGET_ABICALLS.
	(tls_get_tp_<mode>): New instruction.

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

From-SVN: r96380
2005-03-13 18:03:25 +00:00
Daniel Jacobowitz b095fe2cd9 configure.ac: Update checks for target tools.
* configure.ac: Update checks for target tools.
	* configure: Regenerated.

From-SVN: r96379
2005-03-13 17:57:49 +00:00
Daniel Jacobowitz 0bfb33e513 * varasm.c (decl_tls_model): Check flag_shlib instead of flag_pic.
From-SVN: r96378
2005-03-13 17:56:14 +00:00
Roger Sayle 65dc935013 expmed.c (expand_mult): Use synthetic multiplication sequences for more classes of DImode...
* expmed.c (expand_mult): Use synthetic multiplication sequences for
	more classes of DImode multiplication by constant.  Allow both
	multiplication by small negative constants (by performing a
	multiplication by a positive constant and negating the result) and
	multiplications by large powers of two, by using a left shift.

From-SVN: r96377
2005-03-13 17:06:42 +00:00
Kazu Hirata 92c54d2c4e tree-ssa-phiopt.c (value_replacement): Remove local variable result.
* tree-ssa-phiopt.c (value_replacement): Remove local variable
	result.

From-SVN: r96376
2005-03-13 15:58:31 +00:00
Kazu Hirata 0b4961d01a tree-ssa-live.c (build_tree_conflict_graph): Remove local variable ann.
* tree-ssa-live.c (build_tree_conflict_graph): Remove local
	variable ann.

From-SVN: r96375
2005-03-13 15:57:31 +00:00
Kazu Hirata ed9cef2296 * tree-cfg.c (group_case_labels): Remove local variable type.
From-SVN: r96374
2005-03-13 15:55:32 +00:00
Kazu Hirata 30a6aaedd7 lambda-code.c (lambda_compute_auxillary_space): Remove local variable determinant.
* lambda-code.c (lambda_compute_auxillary_space): Remove local
	variable determinant.

From-SVN: r96373
2005-03-13 15:54:15 +00:00
Kazu Hirata b475548eeb builtins.c (expand_builtin_mathfn_3): Remove local variable before_call.
* builtins.c (expand_builtin_mathfn_3): Remove local variable
	before_call.

From-SVN: r96372
2005-03-13 15:53:13 +00:00
Kazu Hirata b87e6936ad builtins.c (fold_trunc_transparent_mathfn, [...]): Use TYPE (TYPE (fndecl)) instead of TREE_TYPE (exp).
* builtins.c (fold_trunc_transparent_mathfn,
	fold_fixed_mathfn, fold_builtin_atan, fold_builtin_trunc,
	fold_builtin_floor, fold_builtin_ceil, fold_builtin_round,
	fold_builtin_lround, fold_builtin_bitop, fold_builtin_memcpy,
	fold_builtin_strcpy, fold_builtin_strncpy,
	fold_builtin_signbit): Use TYPE (TYPE (fndecl)) instead of
	TREE_TYPE (exp).

From-SVN: r96371
2005-03-13 15:51:08 +00:00
Kazu Hirata 13d21cb725 c-decl.c (c_init_decl_processing): Remove useless calls to build_function_type.
* c-decl.c (c_init_decl_processing): Remove useless calls to
	build_function_type.

From-SVN: r96370
2005-03-13 14:23:31 +00:00
Kazu Hirata d4ff96d5fc builtin-attrs.def, [...]: Update copyright.
* builtin-attrs.def, c-lex.c, c-pragma.h, reg-stack.c,
	config/mips/vr.h: Update copyright.

From-SVN: r96369
2005-03-13 14:06:48 +00:00
Feng Wang 009bbd5a13 MAINTAINERS (Write After Approval): Add myself.
2005-03-13  Feng Wang  <fengwang@nudt.edu.cn>

        * MAINTAINERS (Write After Approval): Add myself.

From-SVN: r96368
2005-03-13 14:05:58 +00:00
Kazu Hirata d357720d41 tree-into-ssa.c (find_idf): Speed up by putting the indexes of basic blocks into work_stack.
* tree-into-ssa.c (find_idf): Speed up by putting the indexes
	of basic blocks into work_stack.

From-SVN: r96367
2005-03-13 13:31:01 +00:00
Andy Hutchinson 6bbaec0912 re PR target/18251 (unable to find a register to spill in class `POINTER_REGS')
PR target/18251
	* config/avr/avr.md (movmemhi): Rewrite as RTL loop.
	(*movmemqi_insn): Delete.
	(*movmemhi): Delete.

From-SVN: r96365
2005-03-13 10:09:53 +00:00
Kazu Hirata 5cb08bab24 builtins.c (fold_builtin_classify): Take decomposed arguments of CALL_EXPR.
* builtins.c (fold_builtin_classify): Take decomposed
	arguments of CALL_EXPR.
	(fold_builtin_1): Update a call to fold_builtin_classify.

From-SVN: r96364
2005-03-13 04:35:12 +00:00
Joseph Myers 67c2939d3e re PR c/20402 (gcc.dg/noncompile/920923-1.c ICE)
PR c/20402
	* c-parser.c (c_parser_struct_or_union_specifier): Don't fall
	through into call to parser_xref_tag after parse error.
	(c_parser_struct_declaration): Consistently return NULL_TREE on
	error.

testsuite:
	* gcc.dg/noncompile/920923-1.c: Detail expected diagnostics for
	new parser.

From-SVN: r96363
2005-03-13 01:09:47 +00:00
Daniel Berlin c75ab02281 In gcc/ada/ 2005-03-12 Daniel Berlin <dberlin@dberlin.org>
In gcc/ada/
2005-03-12  Daniel Berlin <dberlin@dberlin.org>

	* misc.c (gnat_post_options): Turn off structural
	aliasing for now.
In gcc/
2005-03-12  Daniel Berlin  <dberlin@dberlin.org>

	* tree-flow-inline.h (ref_contains_array_ref): New function.
	(lookup_subvars_for_var): Ditto.
	(get_subvars_for_var): Ditto.
	(var_can_have_subvars): Ditto.

	* tree-flow.h (mem_tag_kind): Add STRUCT_FIELD.
	(struct subvar): New type.

	* tree-dfa.c (okay_component_ref_for_subvars): New function.

	* tree-optimize.c (init_tree_optimization_passes): Call
	pass_create_structure_vars.

	* tree-ssa-alias.c: Include vec.h.
	(init_alias_info): Don't auto-clear call clobbered on struct-field
	tags.
	(compute_flow_insensitive_aliasing): Handle subvars.
	(group_aliases): Handle STRUCT_FIELD aliases.
	(setup_pointers_and_addressables): Ditto.
	Don't mark variables non-addressable if they still have
	addressable subvars.
	Also mark subvars addressable when the real variable is marked
	addressable.
	(add_pointed_to_var): Try to prune the pointed-to set by only
	pointing to subvars when possible.
	Otherwise, make sure we set addresses_needed and pt_vars to
	properly include subvars.
	(bitpos_of_field): New function.
	(push_fields_onto_fieldstack): Ditto.
	(get_or_create_used_part_for): Ditto.
	(create_overlap_variables_for): Ditto.
	(find_used_portions): Ditto.
	(create_structure_vars): Ditto.
	(pass_create_structure_vars): New structure.

	* tree-ssa-operands.c (finalize_ssa_v_must_defs): Remove assert.
	(get_expr_operands): Handle subvars.  Also try to turn
	COMPONENT_REF accesses into must-defs now that we can accurately
	portray it.
	(note_addressable): Try to only mark as addressable those subvars
	we know a COMPONENT_REF touches.
	(overlap_subvar): New function.

	* tree-vect-analyze.c (vect_object_analysis): Add new parameter.
	Handle subvar storing.
	(vect_address_analysis): Update caller of vect_object_analysis.

	* tree-vect-transform.c (vect_create_data_ref_ptr): Copy subvars.

	* tree-vectorizer.h (struct _stmt_vec_info): Add subvars member.
	(STMT_VINFO_SUBVARS): New macro.

	* common.opts: add flag_tree_salias.

	* opts.c (decode_options): flag_tree_salias defaults to on.

	* doc/invoke.texi: Document fdump-tree-svars and -ftree-salias.

	* doc/tree-ssa.texi: Document structural alias analysis.

From-SVN: r96362
2005-03-13 00:46:07 +00:00
GCC Administrator 23845f0220 Daily bump.
From-SVN: r96360
2005-03-13 00:16:54 +00:00
Tobias Schlüter c585afb363 Correct wrong date on ChangeLog entry
From-SVN: r96353
2005-03-12 22:48:48 +01:00
Tobias Schlüter bae88af67e re PR fortran/20361 (-fmax-stack-var-size=N not working for equivalence)
fortran/
PR fortran/20361
* trans-array.c (gfc_stack_space_left): Remove unused variable.
(gfc_can_put_var_on_stack): Move to trans-decl.c, remove #if 0'ed
code.
* trans-array.h (gfc_stack_space_left, gfc_can_put_var_on_stack):
Remove declaration / prototype.
* trans-common.c (build_equiv_decl): Give union a name.  Check if
it can be put on the stack.
* trans-decl.c (gfc_stack_space_left): Move function here.
(gfc_build_qualified_array): Fix comment typo.
* trans.h (gfc_put_var_on_stack): Add prototype.

testsuite/
PR fortran/20361
* gfortran.dg/largeequiv_1.f90: New test.

From-SVN: r96352
2005-03-12 22:44:44 +01:00
Steven Bosscher 7d3bf067e9 tree-cfg.c (make_goto_expr_edges): Don't use error_mark_node.
* tree-cfg.c (make_goto_expr_edges): Don't use error_mark_node.
	* tree-ssa-dce.c (mark_stmt_necessary): Don't check for it.
	* tree-ssa-operands.c (get_expr_operands): Likewise.
	(get_expr_operands): Likewise for ERROR_MARK.

From-SVN: r96351
2005-03-12 20:53:19 +00:00
Kazu Hirata f39b4c073a tree-ssa-live.c (create_ssa_var_map, [...]): Remove local variable snn.
* tree-ssa-live.c (create_ssa_var_map,
	calculate_live_on_entry): Remove local variable snn.

From-SVN: r96348
2005-03-12 18:38:17 +00:00
Kazu Hirata fb2a57478d tree-inline.c (expand_call_inline): Remove local variable decl.
* tree-inline.c (expand_call_inline): Remove local variable
	decl.

From-SVN: r96347
2005-03-12 18:37:18 +00:00
Kazu Hirata 2b74282d70 tree-if-conv.c (tree_if_convert_cond_expr): Remove local variable new_cond.
* tree-if-conv.c (tree_if_convert_cond_expr): Remove local
	variable new_cond.
	(combine_blocks): Remove local variables exits and new_e.

From-SVN: r96346
2005-03-12 18:35:48 +00:00
Kazu Hirata f7448d502c reg-stack.c (move_for_stack_reg): Remove local variable push_insn.
* reg-stack.c (move_for_stack_reg): Remove local variable
	push_insn.
	(compare_for_stack_reg): Remove local variable flags_user.
	(convert_regs_1): Remove local variable deleted.

From-SVN: r96345
2005-03-12 18:34:42 +00:00
Kazu Hirata 70e2829d25 gimplify.c (gimplify_expr): Remove local variables r0 and r1.
* gimplify.c (gimplify_expr): Remove local variables r0 and
	r1.

From-SVN: r96344
2005-03-12 18:33:25 +00:00
Kazu Hirata 9386194f13 c-decl.c (c_init_decl_processing): Remove local variables ptr_ftype_void and ptr_ftype_ptr.
* c-decl.c (c_init_decl_processing): Remove local variables
	ptr_ftype_void and ptr_ftype_ptr.

From-SVN: r96343
2005-03-12 18:32:26 +00:00
Kazu Hirata fba0892110 builtins.c (fold_builtin_logarithm): Take decomposed arguments of CALL_EXPR.
* builtins.c (fold_builtin_logarithm): Take decomposed
	arguments of CALL_EXPR.
	(fold_builtin_1): Update a call to fold_builtin_logarithm.

From-SVN: r96342
2005-03-12 16:14:42 +00:00
Kazu Hirata 7cfb2e1049 builtins.c (fold_builtin_exponent): Take decomposed arguments of CALL_EXPR.
* builtins.c (fold_builtin_exponent): Take decomposed
	arguments of CALL_EXPR.
	(fold_builtin_1): Update a call to fold_builtin_exponent.

From-SVN: r96341
2005-03-12 16:13:41 +00:00