Commit Graph

34575 Commits

Author SHA1 Message Date
Richard Henderson
04f378ce1e Makefile.in (insn-recog.o): Depend on toplev.h.
* Makefile.in (insn-recog.o): Depend on toplev.h.
        (insn-emit.o, doloop.o): Likewise.
        * genrecog.c, genemit.c: Include toplev.h in generated file.
        * doloop.c: Include toplev.h.

From-SVN: r41261
2001-04-11 11:36:50 -07:00
Mark Mitchell
f1fa37ff6b Makefile.in (gcse.o): Depend on params.h.
* Makefile.in (gcse.o): Depend on params.h.
	* gcse.c: Include params.h.
	(gcse_main): Don't do GCSE if doing so will take inordinate
	amounts of memory.
	* params.def (PARAM_MAX_GCSE_MEMORY): New  parameter.
	* params.h (MAX_GCSE_MEMORY): New macro.

From-SVN: r41260
2001-04-11 18:22:46 +00:00
Kaveh R. Ghazi
f3a8030a5b Makefile.in (insn-output.o): Depend on $(EXPR_H).
* Makefile.in (insn-output.o): Depend on $(EXPR_H).

	* genoutput.c (output_prologue): Include expr.h in insn-output.c.

From-SVN: r41258
2001-04-11 15:57:31 +00:00
Kaveh R. Ghazi
68896bf9a2 output.h (assemble_real): Declare if REAL_VALUE_TYPE is defined.
* output.h (assemble_real): Declare if REAL_VALUE_TYPE is defined.

	* real.h (ereal_atof, real_value_truncate, target_isnan,
	target_isinf, target_negative, assemble_real, debug_real): Delete
	redundant prototypes.

From-SVN: r41257
2001-04-11 15:53:46 +00:00
Kaveh R. Ghazi
d6684bc856 Makefile.in (ifcvt.o): Depend on toplev.h.
* Makefile.in (ifcvt.o): Depend on toplev.h.

	* c-semantics.c: Include expr.h.

	* ifcvt.c: Include toplev.h.

	* expr.h (rtx_equal_p): Delete prototype.

	* rtl.h (exact_log2_wide, floor_log2_wide, permalloc,
	protect_from_queue, gen_jump, gen_beq, gen_bge, gen_ble,
	eliminate_constant_term, expand_complex_abs, find_single_use,
	make_tree, init_expr_once, init_optabs, supports_one_only):
	Likewise.

	* tree.h (exact_log2_wide, floor_log2_wide, expand_null_return,
	rest_of_type_compilation, emit_queue, do_pending_stack_adjust,
	expand_assignment, store_expr, emit_line_note_after,
	emit_line_note_force, split_specs_attrs, label_rtx): Likewise.

	* toplev.h (exact_log2_wide, floor_log2_wide): Add prototype.

cp:
	* Make-lang.in (cp/semantics.o): Depend on $(EXPR_H).

	* semantics.c: Include expr.h.

java:
	* Make-lang.in (java/boehm.o): Depend on toplev.h.

	* boehm.c: Include toplev.h.

From-SVN: r41256
2001-04-11 15:51:55 +00:00
Kaveh R. Ghazi
2ef56a41e6 * sparc-protos.h: Delete redundant prototypes.
From-SVN: r41255
2001-04-11 15:48:45 +00:00
Vladimir Makarov
550d794297 reload.c (push_reload): Add condition missed in SUBREG byte offset patch.
2001-04-11  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>

	* reload.c (push_reload):  Add condition missed in SUBREG byte
	offset patch.

From-SVN: r41253
2001-04-11 14:13:13 +00:00
Rainer Orth
8fe879c7ad * sparc/sol2-sld-64.h (STARTFILE_SPEC): Added missing blank.
From-SVN: r41251
2001-04-11 15:00:49 +02:00
Jan Hubicka
037f20f168 i386.md (floatsisf_sse): Fix output template
* i386.md (floatsisf_sse): Fix output template
	* i386.c (ix86_expand_fp_movcc)

	* reg-stack.c (emit_pop_insn): Handle complex modes.
	(move_for_stack_reg): Emit proper move mode.
	(subst_stack_regs_pat): Handle complex modes.

From-SVN: r41250
2001-04-11 12:10:22 +00:00
Jakub Jelinek
01ef656387 * cpplex.c (_cpp_lex_token): Only warn if -Wcomment.
From-SVN: r41247
2001-04-11 11:43:10 +02:00
Alan Modra
876684fea3 update my mail address
From-SVN: r41246
2001-04-11 18:32:47 +09:30
Nathan Sidwell
a209577830 method.c (implicitly_declare_fn): Commonize code for copy ctor and assignment op.
cp:
	* method.c (implicitly_declare_fn): Commonize code for copy ctor
	and assignment op. Set TREE_USED for parameter.
testsuite:
	* g++.old-deja/g++.other/warn6.C: New test.

From-SVN: r41243
2001-04-11 08:43:16 +00:00
GCC Administrator
45ea80f710 Daily bump.
From-SVN: r41241
2001-04-11 07:16:10 +00:00
Richard Henderson
706701afa0 libgcc2.h (__terminate_func_ptr): Remove typedef.
* libgcc2.h (__terminate_func_ptr): Remove typedef.
        (__pure_virtual, __terminate, __terminate_set_func,
        __default_terminate, __throw_type_match, __empty,
        __get_eh_context, __get_eh_info, __get_dynamic_handler_chain,
        __eh_rtime_match, __unwinding_cleanup, __rethrow,
        __sjthrow, __sjpopnthrow, __eh_alloc, __eh_free):
        Remove prototypes of deleted functions.

From-SVN: r41240
2001-04-10 23:16:18 -07:00
Peter Schmid
3a1727303c 22001-04-11 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
* g++.old-deja/g++.robertl/eb42.C: Same.

From-SVN: r41239
2001-04-11 05:43:51 +00:00
Loren J. Rittle
06729913c7 ltcf-cxx.sh: Support creation of C++ shared libraries on recent versions of FreeBSD (release...
2001-04-10  Loren J. Rittle  <ljrittle@acm.org>

	* ltcf-cxx.sh: Support creation of C++ shared libraries on
	recent versions of FreeBSD (release 3 or later).
	* ltconfig: On FreeBSD, -lc must not be provided when building
	a shared library or else the standard -pthread gcc option is
	rendered worthless to later users of the built library.

From-SVN: r41237
2001-04-11 05:25:00 +00:00
Mike Stump
585f3871e9 * Makefile.in (clean): Remove built leftovers.
From-SVN: r41236
2001-04-11 00:05:16 +00:00
Richard Henderson
a14fd7f564 libstdc++.exp (dg-test): Explicitly run the program in the current directory.
* testsuite/lib/libstdc++.exp (dg-test): Explicitly run
        the program in the current directory.

From-SVN: r41234
2001-04-10 17:03:51 -07:00
Per Bothner
ab9fa4b5d4 natString.cc (_Jv_NewStringUtf8Const): Register finalizer.
* java/lang/natString.cc (_Jv_NewStringUtf8Const):  Register finalizer.
	Recalculate hash, since Utf8Const's hash is only 16 bits.

	* java/lang/natString.cc (_Jv_StringFindSlot, rehash):  Use high-order
	bits of hash to calculate step for chaining.

	* java/lang/natString.cc (intern, _Jv_NewStringUtf8Const):  Rehash
	when 2/3 full, rather than 3/4 full.

From-SVN: r41233
2001-04-10 15:46:11 -07:00
Kaveh R. Ghazi
03829ad289 c-typeck.c (convert_arguments): -Wtraditional now activates -Wconversion warnings...
* c-typeck.c (convert_arguments): -Wtraditional now activates
	-Wconversion warnings, except for changes in signed-ness.
	Detect complex<->int & int<->complex conversions as well.

	* invoke.texi (-Wtraditional): Document it.

testsuite:
	* gcc.dg/wtr-conversion-1.c: New testcase.

From-SVN: r41232
2001-04-10 22:40:48 +00:00
Richard Henderson
5a01d63496 New.
From-SVN: r41231
2001-04-10 15:22:06 -07:00
Richard Henderson
45b6f9c99d New.
[[Split portion of a mixed commit.]]

From-SVN: r41230.2
2001-04-10 15:22:06 -07:00
Richard Kenner
c57718d3fe gcse.c (update_ld_motion_stores): Don't use variable I for an insn.
* gcse.c (update_ld_motion_stores): Don't use variable I for an insn.
	* flow.c (set_block_for_new_insns): Remove needless cast and
	properly check for unset block number.

From-SVN: r41227
2001-04-10 17:45:12 -04:00
Mark Mitchell
78b45a2404 class.c (find_final_overrider_data): Add `candidates'.
* class.c (find_final_overrider_data): Add `candidates'.
	(dfs_find_final_overrider): Don't issue error messages
	prematurely.
	(find_final_overrider): Issue error messages here.
	(build_base_field): Don't warn about amgibuous direct bases here.
	(warn_about_ambiguous_direct_bases): New function.
	(layout_class_type): Use it.

From-SVN: r41224
2001-04-10 18:06:26 +00:00
Richard Henderson
0450d74d53 typeck.c (build_array_ref): Push the array reference inside COMPOUND_EXPR and COND_EXPR.
* typeck.c (build_array_ref): Push the array reference inside
        COMPOUND_EXPR and COND_EXPR.

From-SVN: r41223
2001-04-10 09:49:29 -07:00
Jason Merrill
c050ec51a4 tweak comments
From-SVN: r41222
2001-04-10 11:48:11 -04:00
Tom Tromey
4f75c18024 testsuite: libjava: remove some xfail markers.
* libjava.lang/pr83.xfail: Removed.
	* libjava.lang/Shazam.xfail: Removed.
	* libjava.lang/PR162.xfail: Removed.
	* libjava.compile/PR375.xfail: Removed.
	* libjava.compile/PR208.xfail: Removed xfail-byte.
	* libjava.compile/PR207.xfail: Removed xfail-byte.

From-SVN: r41220
2001-04-10 14:27:41 +00:00
GCC Administrator
d12a5d1dac Daily bump.
From-SVN: r41218
2001-04-10 07:16:07 +00:00
Andrew MacLeod
55107ee39c function.c (purge_single_hard_subreg_set): Only check REGNO if the subreg was a hard register.
2001-04-10  Andrew MacLeod  <amacleod@redhat.com>

	* function.c (purge_single_hard_subreg_set): Only check REGNO if
	the subreg was a hard register. Pseudos are left as subregs.

From-SVN: r41217
2001-04-10 02:47:32 +00:00
Franz Sirl
fa9518de02 Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro.
2001-04-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

        * Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro.
        (LIB2ADD_ST): New macro, pass it to mklibgcc.
        * mklibgcc.in (libgcc2_st_objs): New variable, set it from LIB2ADD_ST.
        (libgcc_st_objs): New, set from libgcc2_st_objs. Use it for libgcc.a.
        * config/rs6000/t-ppccomm (LIB2FUNCS_STATIC_EXTRA): New macro.

From-SVN: r41215
2001-04-09 23:43:06 +00:00
Bo Thorsen
d4f33f6c82 i386.md: "TARGET_64BIT && TARGET_64BIT": Removed one.
2001-04-09  Bo Thorsen  <bo@suse.co.uk>

	* config/i386/i386.md: "TARGET_64BIT && TARGET_64BIT": Removed one.

From-SVN: r41211
2001-04-09 18:54:58 +00:00
Andrew MacLeod
5b3ad99f27 output.h (set_block_num): Missed it earlier, remove deprecated prototype.
2001-04-09  Andrew MacLeod  <amacleod@redhat.com>

	* output.h (set_block_num): Missed it earlier, remove deprecated
	prototype.

From-SVN: r41210
2001-04-09 17:30:06 +00:00
Andrew MacLeod
e2d2ed72a7 gcse.c (oprs_unchanged_p): Pass basic_block to load_killed_in_block_p.
2001-04-09  Andrew MacLeod  <amacleod@redhat.com>

	* gcse.c (oprs_unchanged_p): Pass basic_block to load_killed_in_block_p.
	(load_killed_in_block_p): Change bb parameter from int to basic_block.
	(oprs_not_set_p): Pass basic_blocks instead of ints as parameters.
	(handle_rd_kill_set): Change bb parameter from int to basic_block.
	(compute_kill_rd): Pass basic_blocks instead of ints as parameters.
	(expr_killed_p): Change bb parameter from int to basic_block, pass
	basic_blocks instead of ints as parameters.
	(compute_ae_kill): Pass basic_blocks instead of ints as parameters.
	(expr_reaches_here_p_work, expr_reaches_here_p): Change bb parameter
	from int to basic_block, pass basic_blocks instead of ints as parms.
	(pre_expr_reaches_here_p_work, pre_expr_reaches_here_p): Change bb
	parameter from int to basic_block, pass basic_blocks instead of ints.
	(process_insert_insn): Pass basic_blocks instead of ints as parameters.
	(insert_insn_end_bb): Change bb parameter from int to basic_block,
	pass basic_blocks instead of ints.
	(pre_edge_insert, pre_insert_copy_insn, pre_insert_copies): Pass
	basic_blocks instead of ints as parameters.
	(pre_delete): Pass basic_blocks instead of ints as parameters.
	(hoist_expr_reaches_here_p): Change bb parameter from int to
	basic_block, pass basic_blocks instead of ints.
	(hoist_code): Pass basic_blocks instead of ints as parameters.
	(reg_set_info, store_ops_ok, store_killed_after, store_killed_before):
	Change bb parameter from int to basic_block.
	(build_store_vectors): Pass basic_blocks instead of ints as parameters.
	(insert_insn_start_bb): Change bb parameter from int to basic_block,
	pass basic_blocks instead of ints.
	(insert_store): Pass basic_blocks instead of ints as parameters.
	(replace_store_insn, delete_store): Change bb parameter from int to
	basic_block, pass basic_blocks instead of ints.
	(store_motion): Pass basic_blocks instead of ints as parameters.

From-SVN: r41209
2001-04-09 15:20:26 +00:00
Andrew MacLeod
ccbaf064ff basic-block.h (set_new_block_for_insns): New Prototype.
2001-04-09  Andrew MacLeod  <amacleod@redhat.com>

	* basic-block.h (set_new_block_for_insns): New Prototype.
	(set_block_num): Delete prototype.
	* flow.c (set_block_num): Remove obsolete function.
	(set_block_for_new_insns): Set BB for single or multiple insns.
	* gcse.c (handle_avail_expr): Use set_block_for_new_insns.
	(process_insn_end_bb): Use set_block_for_new_insns or
	set_block_for_insn instead of set_block_num.
	(pre_insert_copy_insn): Use set_block_for_new_insns.
	(update_ld_motion_stores): Use set_block_for_new_insns.
	(insert_insn_start_bb): Use set_block_for_new_insns.
	(replace_store_insn): Use set_block_for_new_insns.

From-SVN: r41208
2001-04-09 15:17:08 +00:00
Andrew MacLeod
a13d4ebfc3 alias.c (get_addr): Externalize.
2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
	    Jeff Law  <law@cygnus.com>

	* alias.c (get_addr): Externalize.
	(canon_true_dependence): New function. Behaves like true_dependance
	except it already assumes a MEM has been canonicalized.
	* flags.h (flag_gcse_lm, flag_gcse_sm): New optimization flags.
	* gcse.c (struct ls_expr): Add load/store expressions structure.
	(modify_mem_list, canon_modify_mem_list): New variable.
	(gcse_main): Initialize & finalize alias analysis. Use enhanced
	load motion and store motion if requested.
	(alloc_gcse_mem): Allocate space for modify_mem_list array.
	(free_gcse_mem): Free the modify_mem_list array.
	(oprs_unchanged_p): Use load_killed_in_block_p.
	(gcse_mems_conflict_p, gcse_mem_operand): New variables.
	(mems_conflict_for_gcse_p): New function.  Don't kill loads
	with stores to themselves if its in the load/store expression list.
	(load_killed_in_block_p): New function.
	(canon_list_insert): New Function.
	(record_last_mem_set_info): Keep a list of all instructions which
	can modify memory for each basic block.
	(compute_hash_table, reset_opr_set_tables): Clear modify_mem_list.
	(oprs_not_set_p): Use load_killed_in_block_p.
	(mark_call, mark_set, mark_clobber): Use record_last_mem_set_info.
	(expr_killed_p): Use load_killed_in_block_p.
	(compute_transp): Do not pessimize memory references.
	(pre_edge_insert): Update stores for a load motion expression.
	(one_pre_gcse_pass): Check loads/stores for extra load motion.
	(ldst_entry): Find or create a ldst_expr structure.
	(free_ldst_entry): Free memory for an individual item.
	(free_ldst_mems): Free entire load/store expression list.
	(print_ldst_list): Print debug info.
	(find_rtx_in_ldst): Try to find an rtx expression in the ldst list.
	(enumerate_ldsts): Assign integer values to each entry in list.
	(first_ls_expr): First expression in the list.
	(next_ls_expr): Next expression in the list.
	(simple_mem): Check if expression qualifies for ld/st expression list.
	(invalidate_any_buried_refs): Remove from expression list if its
	used in some other way we dont understand.
	(compute_ld_motion_mems): Find all potential enhanced load motion
	expression.
	(trim_ld_motion_mems): Remove any expressions which are invalid.
	(update_ld_motion_stores): Copy store values to registers for loads
	which have been moved.
	(regvec, st_antloc, num_store): New global statics.
	(reg_set_info): Marks registers as set.
	(store_ops_ok): Verfies registers expressions are valid in a block.
	(find_moveable_store): Look for moveable stores in a pattern.
	(compute_store_table): Find stores in a function worth moving, maybe.
	(load_kills_store): Check dependance of a load and store.
	(find_loads): Find any loads in a pattern.
	(store_killed_in_insn): Check if a store is killed in an insn.
	(store_killed_after): Check is store killed after an insn in a block.
	(store_killed_before): Check is store killed before an insn in a block.
	(build_store_vectors): Generate the antic and avail vectors.
	(insert_insn_start_bb): Insert at the start of a BB, update BLOCK_HEAD.
	(insert_store): Add a store to an edge.
	(replace_store_insn): Replace a store with a SET insn.
	(delete_store): Delete a store insn.
	(free_store_memory): Free memory.
	(store_motion): Perform store motion.
	* invoke.texi: Add documentation for -fcse-lm and -fgcse-sm.
	* rtl.h (get_addr, canon_true_dependence): Add prototypes.
	* toplev.c (flag_gcse_lm, flag_gcse_sm): New Variables.
	(f_options): Add gcse-lm and gcse-sm.

Co-Authored-By: Jeff Law <law@redhat.com>

From-SVN: r41207
2001-04-09 14:27:05 +00:00
Jan Hubicka
92d0fb0938 i386.c (expand_fp_movcc): Fix condition reversal code.
* i386.c (expand_fp_movcc): Fix condition reversal code.

	* i386.c (ix86_register_move_cost): Fix handling of reformating penalty
	* i386.h (INTEGER_CLASS_P, MAYBE_INTEGER_CLASS_P): New.
	(CLASS_MAX_NREGS): Use it.

	* i386.h (HARD_REGNO_NREGS): Handle properly TF and TCmodes on 64bit;
	handle properly complex values.
	(CLASS_MAX_NREGS): Likewise; update comment.

From-SVN: r41206
2001-04-09 14:22:37 +00:00
Christopher Faylor
600254fc5e (oops.
(oops.  only checked in ChangeLog previously)
* config/i386/xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete function.
Remove include of sys/cygwin.h.

From-SVN: r41205
2001-04-09 14:20:13 +00:00
Bernd Schmidt
68340ae9e7 Speed up ia64 compilations
From-SVN: r41204
2001-04-09 13:54:08 +00:00
Jan Hubicka
46ed79630c i386.md (truncdfsf2_*): Add i387->int/sse reg alternatives...
* i386.md (truncdfsf2_*): Add i387->int/sse reg alternatives;
	Do not require source to match destination anymore;
	Add abort to the nontrivial cases that should be handled by split.
	(fix_trunc?fdi): Add SSE case for x86_64.
	(floatdi?f): Likewise.
	(floatdi?f_sse): New.
	(fix_trunc?fdi_sse): New.

From-SVN: r41203
2001-04-09 13:10:22 +00:00
Richard Sandiford
0444812842 dwarfout.c (DEBUG_ARANGES_BEGIN_LABEL): New label.
* dwarfout.c (DEBUG_ARANGES_BEGIN_LABEL): New label.
        (DEBUG_ARANGES_END_LABEL): Ditto.
        (dwarfout_init): Generate length and version fields at the start
        of the .debug_aranges info.  Insert DEBUG_ARANGES_BEGIN_LABEL
        after the length field.
        (dwarfout_finish): Insert DEBUG_ARANGED_END_LABEL at the end of
        the .debug_aranges info.

From-SVN: r41202
2001-04-09 07:56:21 -04:00
Jan Hubicka
39d0436305 i386.c (call, call_value): Make sure that resulting call_insn does have proper second operand.
* i386.c (call, call_value): Make sure that resulting call_insn
	does have proper second operand.

From-SVN: r41201
2001-04-09 11:18:39 +00:00
GCC Administrator
a6b9fb7a34 Daily bump.
From-SVN: r41200
2001-04-09 07:16:39 +00:00
Christopher Faylor
ab762be5aa xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete function.
* config/i386/xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete function.
Remove include of sys/cygwin.h.

From-SVN: r41197
2001-04-09 02:52:11 +00:00
Christopher Faylor
9a33d5056d cygwin.h (STARTFILE_SPEC): search */lib/w32api by default.
* config/i386/cygwin.h (STARTFILE_SPEC): search */lib/w32api by default.
(CPP_SPEC): Always search */include/w32api for header files.
(ASM_OUTPUT_SECTION_NAME): Avoid testing NULL DECL.
(LINK_SPEC): Add "cyg" to the library search prefixes.

From-SVN: r41196
2001-04-09 02:50:34 +00:00
Franz Sirl
9b38026f18 20010408-1.c: New test.
2001-04-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
        * gcc.c-torture/compile/20010408-1.c: New test.

From-SVN: r41193
2001-04-08 23:49:43 +00:00
Philip Blundell
d4206a103e arm.h (ASM_OUTPUT_LABELREF): Use asm_fprintf.
2001-04-08  Philip Blundell  <philb@gnu.org>

	* config/arm/arm.h (ASM_OUTPUT_LABELREF): Use asm_fprintf.

From-SVN: r41191
2001-04-08 19:55:04 +00:00
Gabriel Dos Reis
0f7190689e std_valarray.h (valarray<>::operator[]): Make inline.
* include/bits/std_valarray.h(valarray<>::operator[]): Make
      inline.

From-SVN: r41190
2001-04-08 16:20:49 +00:00
Neil Booth
2f878973cd cpperror.c (print_location): Don't special case <stdin>.
* cpperror.c (print_location): Don't special case <stdin>.
	(_cpp_begin_message): Handle WARNING_SYSHDR the same as
	WARNING, but we don't check if we're in system headers.
	* cpplib.h (enum error_type): WARNING_SYSHDR: New.
	* cpplib.c (do_warning): Warn in system headers.

From-SVN: r41186
2001-04-08 10:01:18 +00:00
GCC Administrator
e542e61832 Daily bump.
From-SVN: r41185
2001-04-08 07:16:37 +00:00
Mumit Khan
f02250991d * mbchar.c: Include config.h first.
From-SVN: r41182
2001-04-07 22:39:10 +00:00