Commit graph

63383 commits

Author SHA1 Message Date
Paul Brook
cfa01aaba5 arm.c (arm_compute_save_reg0_reg12_mask): Save PIC register if current_function_uses_pic_offset_table is set.
* config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Save PIC
	register if current_function_uses_pic_offset_table is set.

From-SVN: r90465
2004-11-11 01:24:07 +00:00
GCC Administrator
ed50f1785b Daily bump.
From-SVN: r90462
2004-11-11 00:16:33 +00:00
Joseph Myers
3f8882a200 * objc.dg/desig-init-2.m: New test.
From-SVN: r90459
2004-11-10 22:44:24 +00:00
David Edelsohn
0676d23702 Add 2004 to copyright notices.
From-SVN: r90457
2004-11-10 17:00:27 -05:00
David Edelsohn
943c15ed46 rs6000.md (define_attr "type"): Add two and three.
* config/rs6000/rs6000.md (define_attr "type"): Add two and three.
        Change multi-instruction sequences to new attribute.
        * config/rs6000/{40x.md,440.md,603.md,6xx.md,
        7450.md,7xx.md,8540.md,mpc.md,power4.md,power5.md,
        rios1.md,rios2.md,rs64.md}: Add descriptions for two and three.

From-SVN: r90456
2004-11-10 16:57:14 -05:00
Daniel Berlin
8b41b1b24f tree-data-ref.c (build_classic_dist_vector): If either loop is outside of the nest we asked about, the dependence can't matter.
2004-11-10  Daniel Berlin  <dberlin@dberlin.org>

	* tree-data-ref.c (build_classic_dist_vector): If either loop
	is outside of the nest we asked about, the dependence can't
	matter.
	(build_classic_dir_vector): Ditto.

From-SVN: r90454
2004-11-10 21:32:10 +00:00
Adam Nemet
78e54994ff re PR middle-end/18160 (ICE on taking register variable address)
PR middle-end/18160
	* g++.dg/warn/register-var-1.C: New test.
	* g++.dg/warn/register-var-2.C: New test.

From-SVN: r90453
2004-11-10 21:09:58 +00:00
Adam Nemet
1b8d7c9a2f re PR middle-end/18160 (ICE on taking register variable address)
PR middle-end/18160
	* typeck.c (cxx_mark_addressable): Issue an error if address of an
	explicit register variable is requested.

From-SVN: r90452
2004-11-10 21:09:25 +00:00
Zdenek Dvorak
7299dbfbf1 tree-ssa-loop-ivopts.c (get_address_cost): Add address elements in right order.
* tree-ssa-loop-ivopts.c (get_address_cost): Add address elements in
	right order.
	(force_var_cost): Determine cost of addition and multiplication more
	precisely.
	(get_computation_cost_at): Add cost for computing address elements to
	the final cost.

	* fold-const.c (fold): Attempt to use ptr_difference_const whenever
	one of the arguments of MINUS_EXPR is an address.
	(split_address_to_core_and_offset): New function.
	(ptr_difference_const): Handle case when one of the operands is a
	pointer.
	* tree-ssa-loop-ivopts.c (determine_base_object): Fold &*addr.
	(ptr_difference_cost): Pass addresses instead of objects to
	ptr_difference_const.

From-SVN: r90451
2004-11-10 20:49:55 +00:00
Paul Brook
9665466484 re PR fortran/18375 (ICE when compiling spec benchmark fma3d)
PR fortran/18375
	* trans-expr.c (gfc_trans_subarray_assign): Free shape before ss.
	* trans-io.c (transfer_array_component): Ditto.

From-SVN: r90449
2004-11-10 20:03:21 +00:00
Fariborz Jahanian
fdc7e5d00e Test for PR tree-optimization/17892.
From-SVN: r90447
2004-11-10 19:06:53 +00:00
Janis Johnson
9e5712a5c3 * MAINTAINERS: Add myself as gcc testsuite maintainer.
From-SVN: r90401
2004-11-10 18:21:08 +00:00
Nathan Sidwell
ea1763b1e4 re PR c++/18143 (Duplicated thunk with a huge member in the hierarchy)
.:	* tree.c (tree_check_failed): Emit general error if the list of
	node types is empty.
cp:
	PR c++/18143
	* cp-tree.h (NON_THUNK_FUNCTION_CHECK, THUNK_FUNCTION_CHECK): New.
	(struct lang_decl_flags): Add thunk_p flag.
	(struct lang_decl): Remove separate fixed_offset. Place
	cloned_function and fixed_offset into union.
	(DECL_CLONED_FUNCTION_P, DECL_CLONED_FUNCTION): Adjust.
	(DECL_THUNK_P, SET_DECL_THUNK_P): Adjust.
	(THUNK_FIXED_OFFSET): Adjust.
	* method.c (make_thunk): Adjust.

From-SVN: r90399
2004-11-10 17:34:47 +00:00
Eric Botcazou
22d8d62798 sparc.c (function_arg_union_value): New 'slotno' argument.
* config/sparc/sparc.c (function_arg_union_value): New 'slotno'
	argument.  When the union is passed in the 6th slot, build a
	PARALLEL with only one element.
	(function_arg): Adjust call to function_arg_union_value.
	(function_value): Likewise.

From-SVN: r90396
2004-11-10 17:24:19 +00:00
Fariborz Jahanian
d05f9c39a3 re PR tree-optimization/17892 (gcc-4.0 should not reassociate floating point add or multiplication)
Fix for PR tree-optimization/17892.
OKed by Roger Sayle.

From-SVN: r90395
2004-11-10 17:17:48 +00:00
Mark Mitchell
d746e87d41 re PR c++/18369 (Segfault on braced new)
PR c++/18369
	* init.c (build_new_1): Handle parenthesized type-ids that name an
	array type.  Tidy.

	PR c++/18369
	* g++.dg/init/new12.C: New test.

From-SVN: r90394
2004-11-10 17:01:00 +00:00
James A. Morrison
8393a290d2 re PR target/18230 (SPARC VIS instructions are not generated by GCC)
PR target/18230
	(addsi3, subsi3): Set "fptype" attribute.
	(addv2si, addv4hi, addv2hi, subv2si, subv4hi, subv2hi): New
	patterns.

From-SVN: r90391
2004-11-10 10:14:36 +00:00
Steven Bosscher
dda49b66a4 basic-block.h (XMALLOC_REG_SET, [...]): New.
* basic-block.h (XMALLOC_REG_SET, XFREE_REG_SET): New.
	(struct basic_block_def): Remove local_set and cond_local_set
	fields.  Update comment for global_live_at_start.
	* flow.c (calculate_global_regs_live): Allocate local_sets and
	cond_local_sets here as arrays of bitmaps previously stored in
	bb->local_set and bb->cond_local_set.  Use xmalloc instead of
	obstack allocated bitmaps.

From-SVN: r90390
2004-11-10 09:28:29 +00:00
H.J. Lu
780f9446a9 re PR target/18380 (_Unwind_FindTableEntry shouldn't be exported from libunwind.so.7)
2004-11-09  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/18380
	* config/ia64/unwind-ia64.h (_Unwind_FindTableEntry): Mark it
	hidden.

	* unwind-dw2.c (_Unwind_FindTableEntry): Removed.

From-SVN: r90387
2004-11-09 22:33:28 -08:00
Jeff Law
24c75ec69c cfganal.c (flow_dfs_compute_reverse_execute): Accept new argument holding last unvisited block.
* cfganal.c (flow_dfs_compute_reverse_execute): Accept new
        argument holding last unvisited block.  Start search for
        unvisited blocks at LAST_UNVISITED rather than EXIT_BLOCK.
        (connect_infinite_loops_to_exit): Supply last unvisited block
        to flow_dfs_compute_reverse_execute.

From-SVN: r90386
2004-11-09 22:03:10 -07:00
Paul Brook
9686c8110e Committed wrong version of previous patch.
From-SVN: r90384
2004-11-10 02:44:39 +00:00
Paul Brook
851739ea17 * invoke.texi: Fix typo.
From-SVN: r90383
2004-11-10 02:35:05 +00:00
Paul Brook
2cbcdebaf9 re PR fortran/18218 (Miscompare in sixtrack benchmark caused by loss of precision)
PR fortran/18218
	* configure.ac: Check for strtof.
	* configure: Regenerate.
	* config.h.in: Regenerate.
	* io/read.c (convert_real): Use strtof if available.
	(convert_precision_real): Remove.
	(read_f): Avoid poor exponentiation algorithm.
gcc/testsuite/
	* gfortran.dg/list_read.c: New test.

From-SVN: r90382
2004-11-10 02:19:27 +00:00
Paul Brook
4ef509c058 MAINTAINERS: Add self as arm maintainer.
2004-11-11  Paul Brook  <paul@codesourcery.com>

	* MAINTAINERS: Add self as arm maintainer.  Update email address.

From-SVN: r90381
2004-11-10 02:10:24 +00:00
Aldy Hernandez
99176a91bd rs6000.md (fix_truncdfsi2): Handle e500 doubles.
* config/rs6000/rs6000.md (fix_truncdfsi2): Handle e500
	doubles.
	(floatunssidf2): Same.
	(floatsidf2): Same.
	("extendsfdf2"): New expander.
	(*extendsfdf2_fpr): Rename.
	(*truncdfsf2_fpr): Same.
	(*negdf2_fpr): Same.
	(*absdf2_fpr): Same.
	(*nabsdf2_fpr): Same.
	(*adddf3_fpr): Same.
	(*subdf3_fpr): Same.
	(*muldf3_fpr): Same.
	(*divdf3_fpr): Same.

	* config/rs6000/spe.md ("spe_extendsfdf2"): Remove FIXME comment.
	("spe_fix_truncdfsi2"): Same.
	(spe_floatunssidf2): Same.
	(spe_floatsidf2): Same.

From-SVN: r90379
2004-11-10 01:08:22 +00:00
GCC Administrator
df2ae6e216 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r90377.2
2004-11-10 00:16:21 +00:00
GCC Administrator
2c2ba7c120 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r90375.2
2004-11-10 00:16:16 +00:00
Joseph Myers
793387fa35 inclhack.def (hpux8_bogus_inlines): Bypass on __GNUG__.
* inclhack.def (hpux8_bogus_inlines): Bypass on __GNUG__.
	(int_abort_free_and_exit, sun_malloc, sysv68_string): Bypass on
	_CLASSIC_ANSI_TYPES.
	(sun_auth_proto): Bypass on __cplusplus.
	* fixincl.x: Regenerate.

From-SVN: r90371
2004-11-09 23:14:06 +00:00
Tom Tromey
cdf87ecb60 * include/jni.h: Added FIXME.
From-SVN: r90370
2004-11-09 22:42:01 +00:00
Joseph Myers
d34aacdfff * cpplib.pot: Regenerate.
From-SVN: r90369
2004-11-09 22:02:09 +00:00
Joseph Myers
50f47ee0cd Makefile.in ($(PACKAGE).pot): New rule.
* Makefile.in ($(PACKAGE).pot): New rule.  Depend on
	po/$(PACKAGE).pot.
	(po/$(PACKAGE).pot): Use ":" instead of "," in --keyword
	arguments.  Add keywords _, N_, SYNTAX_ERROR and SYNTAX_ERROR2.
	Remove local srcdir path from generated file.

From-SVN: r90368
2004-11-09 21:58:43 +00:00
Joseph Myers
c043fab83a * exgettext: Remove local srcdir and objdir paths from gcc.pot.
From-SVN: r90367
2004-11-09 21:57:17 +00:00
Joseph Myers
8b17a9d698 re PR c/18322 (__func__ diagnostic in bad location)
PR c/18322
	* c-common.c (fname_decl): Don't use line number of decl in
	diagnostic.

testsuite:
	* gcc.dg/func-outside-1.c, gcc.dg/func-outside-2.c: Correct
	expected diagnostic location.

From-SVN: r90365
2004-11-09 21:22:27 +00:00
Ulrich Weigand
e221ef54b8 s390-protos.h (s390_pool_operand): Remove.
ChangeLog:

	* config/s390/s390-protos.h (s390_pool_operand): Remove.
	* config/s390/s390.c (s390_pool_operand): Likewise.
	(s390_extra_constraint_str): Handle 'B' constraints.
	* config/s390/s390.h (CONSTRAINT_LEN): Handle 'B' constraints.
	* config/s390/s390.md: Document 'B' constraints.
	("*cmpdi_cct", "*cmpsi_cct"): Use 'B' constraint instead of
	s390_pool_operand to prevent insns with two literal pool
	references.  Make pattern commutative.
	("*cmpdi_ccu", "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use
	'B' constraint instead of s390_pool_operand.

testsuite/ChangeLog:

	* gcc.dg/20041109-1.c: New test.

From-SVN: r90364
2004-11-09 20:46:19 +00:00
Andrew Pinski
3172e26ca4 re PR objc/18406 (ICE compiling Objective C code with long double arguments)
2004-11-09  Andrew Pinski  <pinskia@physics.uc.edu>

        PR objc/18406
        * obj-act.c (encode_type): 96bits doubles are encoded the
        same way as 64bit and 128bit doubles are.

2004-11-09  Andrew Pinski  <pinskia@physics.uc.edu>

        PR objc/18406
        * objc/compile/pr18406.m: New test.

From-SVN: r90361
2004-11-09 11:44:38 -08:00
Kazu Hirata
27fd69fada * tree-cfg.c (create_bb): Remove unnecessary memset.
From-SVN: r90360
2004-11-09 19:33:58 +00:00
Kazu Hirata
6c99d79fbf tree-ssa-threadupdate.c (copy_phis_to_block): Remove.
* tree-ssa-threadupdate.c (copy_phis_to_block): Remove.
	(thread_block): Call flush_pending_stmt instead of
	copy_phis_to_block.

From-SVN: r90359
2004-11-09 19:25:04 +00:00
Kazu Hirata
e3715ebdd3 loop-iv.c (iv_number_of_iterations): Make it static.
* loop-iv.c (iv_number_of_iterations): Make it static.
	* cfgloop.h: Remove the corresponding prototype.

From-SVN: r90358
2004-11-09 19:21:29 +00:00
Kazu Hirata
6fe79279b7 function.c (combine_temp_slots, [...]): Make them static.
* function.c (combine_temp_slots, assign_parms,
	expand_pending_sizes): Make them static.
	* tree.h: Remove the corresponding prototypes.

From-SVN: r90357
2004-11-09 19:19:41 +00:00
Kazu Hirata
3f5d8b4b19 emit-rtl.c (copy_most_rtx): Remove.
* emit-rtl.c (copy_most_rtx): Remove.
	* rtl.h: Remove the corresponding prototype.

From-SVN: r90356
2004-11-09 17:46:06 +00:00
Kazu Hirata
9d3fe3556a cfgloop.c (flow_loops_update): Remove.
* cfgloop.c (flow_loops_update): Remove.
	* cfgloop.h: Remove the corresponding prototype.

From-SVN: r90355
2004-11-09 17:43:41 +00:00
Kazu Hirata
2223a9984d conflict.c (mark_reg, [...]): Remove.
* conflict.c (mark_reg, conflict_graph_compute): Remove.
	* basic-block.h: Remove the prototype for
	conflict_graph_compute.

From-SVN: r90354
2004-11-09 17:41:23 +00:00
Kazu Hirata
9965c9c737 tree-if-conv.c (add_to_dst_predicate_list): Change the second argument to basic_block.
* tree-if-conv.c (add_to_dst_predicate_list): Change the
	second argument to basic_block.
	(tree_if_convert_cond_expr): Update call sites.

From-SVN: r90353
2004-11-09 17:39:18 +00:00
Kazu Hirata
49995c8ed1 fold-const.c (pedantic_non_lvalue): Make it static.
* fold-const.c (pedantic_non_lvalue): Make it static.
	* tree.h: Remove the corresponding prototype.

From-SVN: r90352
2004-11-09 17:36:26 +00:00
Kazu Hirata
6db0fb0ed3 optabs.c (prepare_operand): Make it static.
* optabs.c (prepare_operand): Make it static.
	* optabs.h: Remove the corresponding prototype.

From-SVN: r90351
2004-11-09 17:34:03 +00:00
Kazu Hirata
bf9a0db3c8 reload1.c (reloads_conflict, gen_reload): Make them static.
* reload1.c (reloads_conflict, gen_reload): Make them static.
	* reload.h: Remove the corresponding prototypes.

From-SVN: r90350
2004-11-09 17:31:06 +00:00
Kazu Hirata
10015a27fd reload.c (refers_to_mem_for_reload_p, [...]): Make them static.
* reload.c (refers_to_mem_for_reload_p,
	refers_to_regno_for_reload_p): Make them static.
	* reload.h: Remove the corresponding prototypes.

From-SVN: r90349
2004-11-09 17:29:03 +00:00
James A. Morrison
c75d6010b0 re PR target/18230 (SPARC VIS instructions are not generated by GCC)
PR target/18230
	* doc/md.texi (SPARC constraints): Document 'Y' constraint.
	* config/sparc/sparc-modes.def: Add vector modes of 4 and 8 bytes.
	* config/sparc/sparc.c (sparc_vector_mode_supported_p): New function.
	(TARGET_VECTOR_MODE_SUPPORTED_P): Set to sparc_vector_mode_supported_p.
	(fp_zero_operand): Accept MODE_VECTOR_INT modes.
	(input_operand): Accept CONST_VECTOR with MODE_VECTOR_INT modes.
	(sparc_cannot_force_const_mem): Return false for CONST_VECTOR.
	(sparc_init_modes): Set sparc_mode_class to SF_MODE or DF_MODE for
	MODE_VECTOR_INT modes.
	(sparc_extra_constraint_check): Add new constraint 'Y'.
	* config/sparc/sparc.h: Define UNITS_PER_SIMD_WORD to 8 for TARGET_VIS.
	* config/sparc/sparc.md (V32): New mode macro for 32-bit modes.
	(V64): New mode macro for 64-bit modes.
	(movsf): Use V32 for mode instead of SF.
	(movsf_insn_vis): Use V32 for mode instead of SF.  Add 'Y' constraint
	alongside 'G' constraint.
	(movdf): Use V64 for mode instead of DF.
	(movdf_insn_v9only_vis, modf_insn_sp64_vis): Use V64 for mode instead
	of DF.  Add 'Y' constraint alongside 'G' constraint.
	(multi-isn and misaligned mems DFmode splitters): Use V64 for mode
	instead of DF.

Co-Authored-By: Eric Botcazou <ebotcazou@libertysurf.fr>

From-SVN: r90348
2004-11-09 17:06:03 +00:00
Ulrich Weigand
26a8930190 s390.c (s390_select_ccmode): Return CCAPmode for integer NEG and ABS.
* config/s390/s390.c (s390_select_ccmode): Return CCAPmode for
	integer NEG and ABS.
	* config/s390/s390.md ("*negdi2_64"): Fix op_type attribute.
	("*negdi2_31"): Reimplement using a splitter.
	("*negdi2_cc", "*negdi2_cconly"): New insns.
	("*negdi2_sign", "*negdi2_sign_cc"): Likewise.
	("*negsi2_cc", "*negsi2_cconly"): Likewise.
	("*negdf2_cc", "*negdf2_cconly"): Likewise.
	("*negsf2_cc", "*negsf2_cconly"): Likewise.
	("*absdi2_cc", "*absdi2_cconly"): New insns.
	("*absdi2_sign", "*absdi2_sign_cc"): Likewise.
	("*abssi2_cc", "*abssi2_cconly"): Likewise.
	("*absdf2_cc", "*absdf2_cconly"): Likewise.
	("*abssf2_cc", "*abssf2_cconly"): Likewise.
	("*negabsdi2_cc", "*negabsdi2_cconly"): New insns.
	("*negabsdi2_sign", "*negabsdi2_sign_cc"): Likewise.
	("*negabssi2_cc", "*negabssi2_cconly"): Likewise.
	("*negabsdf2_cc", "*negabsdf2_cconly"): Likewise.
	("*negabssf2_cc", "*negabssf2_cconly"): Likewise.

From-SVN: r90347
2004-11-09 16:46:45 +00:00
Ulrich Weigand
0288742581 s390.c (s390_canonicalize_comparison): Reverse condition when eliminating an UNSPEC_CMPINT.
* config/s390/s390.c (s390_canonicalize_comparison): Reverse condition
	when eliminating an UNSPEC_CMPINT.
	(s390_secondary_input_reload_class): Fix test for CC register reload.
	(s390_secondary_output_reload_class): Likewise.
	(s390_expand_cmpmem): Swap operands.  Use gen_cmpint.
	* config/s390/s390.md ("*cmpint_si", "*cmpint_di"): Remove.
	("cmpint", "*cmpint_cc", "*cmpint_sign", "*cmpint_sign_cc"): New
	insn patterns with splitters.

From-SVN: r90346
2004-11-09 15:47:48 +00:00