Commit Graph

29694 Commits

Author SHA1 Message Date
Richard Henderson
5527bf14a5 Makefile.in (OBJS): Add doloop.o.
* Makefile.in (OBJS): Add doloop.o.
	* doloop.c: New file.

	* final.c (insn_current_reference_address): Return 0 before final.
	* flags.h (flag_branch_on_count_reg): Fix typos in commentary.
	* jump.c (any_uncondjump_p): Likewise.
	* loop.c (indirect_jump_in_function): Make static.
	(strength_reduce): Call doloop_optimize.
	(insert_bct, instrument_loop_bct): Remove.
	* loop.h (doloop_optimize): Prototype.
	* recog.c (split_all_insns): Split all INSN_P.
	* toplev.c (flag_branch_on_count_reg): Default on.

	* config/c4x/c4x.c (c4x_optimization_options): Don't set
	flag_branch_on_count_reg.
	* config/i386/i386.c (override_options): Likewise.
	* config/rs6000/rs6000.c (optimization_options): Likewise.

	* config/i386/i386.md (decrement_and_branch_on_count): Remove.
	(doloop_end): New.
	(dbra_ge): Remove, as well as all it's splitters.

	* config/rs6000/rs6000.md (decrement_and_branch_on_count): Remove.
	(doloop_end): New.

	* config/ia64/ia64-protos.h (ar_lc_reg_operand): Declare.
	(ia64_register_move_cost): Declare.
	* config/ia64/ia64.c (ar_lc_reg_operand): New.
	(struct ia64_frame_info): Add ar_size.
	(ia64_compute_frame_size): Set it.
	(save_restore_insns): Save and restore ar.lc.
	(ia64_register_move_cost): New, moved from header file.  Handle
	application registers.
	(REG_AR_PFS, REG_AR_EC): Remove.  Replace with AR_*_REGNUM numbers.
	(emit_insn_group_barriers): Special case doloop_end_internal.
	(ia64_epilogue_uses): Mark ar.lc live at end.
	* config/ia64/ia64.h (AR_CCV_REGNUM, AR_LC_REGNUM): New registers.
	(AR_EC_REGNUM, AR_PFS_REGNUM): New registers.
	(FIRST_PSEUDO_REGISTER): Make room.
	(AR_M_REGNO_P, AR_I_REGNO_P, AR_REGNO_P): New.
	(FIXED_REGISTERS, CALL_USED_REGISTERS): Update.
	(REG_ALLOC_ORDER): Update.
	(HARD_REGNO_MODE_OK): Update.
	(REGISTER_NAMES): Update.
	(enum reg_class): Add AR_M_REGS and AR_I_REGS.
	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
	(REGNO_REG_CLASS): Update.
	(LEGITIMATE_ADDRESS_DISP): Displacement range is 9 bits, not 10.
	(REGISTER_MOVE_COST): Move out of line.
	(PREDICATE_CODES): Update.
	* config/ia64/ia64.md (movdi patterns): Handle ar register classes.
	(addsi3_plus1_alt, adddi3_plus1_alt): New.
	(shladd_elim splitter): Allow constants in the predicate.
	(doloop_end, doloop_end_internal): New.

From-SVN: r35358
2000-07-30 16:58:03 -07:00
Richard Henderson
1cf0acdd19 c90-digraph-1.c: Don't xfail.
* gcc.dg/c90-digraph-1.c: Don't xfail.
        * gcc.dg/compare2.c (case 10): Xfail.
        * gcc.dg/noncompile/redecl-1.c: Fix expected error message.

From-SVN: r35357
2000-07-30 16:54:59 -07:00
Richard Henderson
a4cad54432 genattrtab.c (struct insn_def): Add lineno member.
* genattrtab.c (struct insn_def): Add lineno member.
        (struct insn_ent): Likewise.
        (struct attr_desc): Likewise.
        (struct delay_desc): Likewise.
        (struct function_unit_op): Likewise.
        (struct function_unit): Likewise.
        (check_attr_value): Use message_with_line.
        (check_defs): Likewise.
        (expand_units): Likewise.
        (check_attr_test): Take a lineno argument.
        (gen_attr): Likewise.
        (gen_insn): Likewise.
        (gen_delay): Likewise.
        (gen_unit): Likewise.
        (main): Give it to them.
        (convert_set_attr_alternative): Take an insn_def argument
        instead of num_alt and insn_index.
        (convert_set_attr): Likewise.
        (write_test_expr): Protect INSN_ADDRESSES load
        with INSN_ADDRESSES_SET_P.

From-SVN: r35356
2000-07-30 16:38:26 -07:00
Alex Samuel
722bed0f9c mangle.c (DECL_TEMPLATE_ID_P): Remove.
* mangle.c (DECL_TEMPLATE_ID_P): Remove.
	(CLASSTYEP_TEMPLATE_ID_P): Check template info, and context when
	ascertaining primaryness.
	(G): Remove template_args.
	(decl_is_template_id): New function.
	(write_encoding): Use decl_is_template_id.
	(write_name): Likewise.  Handle type_decls.  Get main variant of
	type decls.
	(write_nested_name): Likewise.
	(write_prefix): Likewise.
	(write_template_prefix): Likewise.
	(write_special_name_constructor): Remove defunct production from
	comment.
	(write_bare_function_type): Remove comment about absent parameter.
	(write_template_template_arg): Add missing grammar production to
	comment.

From-SVN: r35355
2000-07-30 23:37:04 +00:00
Tom Tromey
4e07a9eadb Container.java (remove(int)): Wrote.
* java/awt/Container.java (remove(int)): Wrote.
	(remove(Component)): Wrote.
	(add(Component)): Wrote.
	(add(Component,int)): Wrote.
	(removeAll): Wrote.
	(addNotify): Set our own peer.
	* java/awt/Scrollbar.java (listeners): Changed type.
	(Scrollbar): Don't initialize listeners.
	(addNotify): Wrote.
	(setValue): Call setValues.
	(setMinimum): Likewise.
	(setMaxPriority): Likewise.
	(setVisibleAmount): Likewise.
	(setValues): Wrote.
	(setUnitIncrement): Forward to peer.
	(setLineIncrement): Call setUnitIncrement.
	(setPageIncrement): Call setBlockIncrement.
	(setBlockIncrement): Forward to peer.
	(addAdjustmentListener): Rewrote.
	(removeAdjustmentListener): Rewrote.
	(processAdjustmentEvent): Rewrote.
	(paramString): Wrote.
	* Makefile.in: Rebuilt.
	* Makefile.am (awt_java_source_files): Added Button.java.
	* java/awt/Button.java: New file.
	* java/awt/Toolkit.java (createLabel): Declare.
	(createButton): Likewise.
	(createScrollbar): Likewise.
	(createContainer): Likewise.
	* java/awt/Label.java (addNotify): Wrote.
	(setAlignment): Call setAlignment in the peer.
	(setText): Call setText in the peer.

From-SVN: r35354
2000-07-30 23:19:57 +00:00
Richard Henderson
3a8c5c77d5 * flow.c (init_propagate_block_info): Use pc_set.
From-SVN: r35353
2000-07-30 16:05:52 -07:00
Anthony Green
9145715ca3 Test case for gcj/295.
From-SVN: r35352
2000-07-30 21:50:24 +00:00
Jan Hubicka
587870645c * i386.md (*lea_general_[123]) New insns and splits.
(addsi3 to lea splitter): Handle other modes too.
	(shlsi3 to lea splitter): Likewise.
	(addhi_1_lea, shlhi_1_lea): New patterns.
	(addhi_1, shlhi_1): Conditionize by PARTIAL_REG_STALL.

From-SVN: r35351
2000-07-30 18:59:56 +00:00
Jan Hubicka
8acb2f2414 recog.c (general_operand, [...]): Accept any mode for VOIDmode CONSTANT_P operands.
* recog.c (general_operand, nonimmediate_operand): Accept
	any mode for VOIDmode CONSTANT_P operands.

From-SVN: r35350
2000-07-30 18:53:33 +00:00
Jan Hubicka
e251e2a27f gcse.c (try_replace_reg): Use validate_replace_rtx_subexp instead of replace_rtx.
* gcse.c (try_replace_reg): Use validate_replace_rtx_subexp
	instead of replace_rtx.
	* recog.c (validate_replace_rtx_subexp): New function.
	* recog.h (validate_replace_rtx_subexp): Declare.

From-SVN: r35349
2000-07-30 18:44:13 +00:00
Jan Hubicka
e8dc6d5074 combine.c (simplify_set, [...]): Use full mask instead of GET_MODE_MASK (mode) as force_to_mode argument.
* combine.c (simplify_set, make_extraction, make_compound_operation
	make_field_assignment): Use full mask instead of GET_MODE_MASK (mode)
	as force_to_mode argument.

From-SVN: r35348
2000-07-30 18:40:12 +00:00
Jan Hubicka
4921989511 * combine.c (if_then_else_cond): Be sure that mode fits in HOST_WIDE_INT
From-SVN: r35347
2000-07-30 18:35:53 +00:00
Jan Hubicka
25af74a0a7 combine.c (record_promoted_value): Allow bitsize of mode to be equivalent to HOST_BITS_PER_WISE_INT.
* combine.c (record_promoted_value):  Allow bitsize of mode
	to be equivalent to HOST_BITS_PER_WISE_INT.

From-SVN: r35346
2000-07-30 18:30:05 +00:00
Jan Hubicka
dbab7b72b5 function.c (assign_stack_local_1, [...]): Do not call gen_mode_alignment when mode is BLKmode.
* function.c (assign_stack_local_1, assign_stack_temp_for_type):
	Do not call gen_mode_alignment when mode is BLKmode.

From-SVN: r35345
2000-07-30 18:26:46 +00:00
Jan Hubicka
0ca90ba6b4 * loop.c (express_from_1): Fix call of simplify_gen_binary.
From-SVN: r35344
2000-07-30 18:23:54 +00:00
Jan Hubicka
47b1e19b64 simplify-rtx.c (simplify_relational_operation): Verify that mode == VOIDmode implies both operands to be VOIDmode.
* simplify-rtx.c (simplify_relational_operation): Verify that mode ==
	VOIDmode implies both operands to be VOIDmode.
	(simplify_ternary_operation): Compute properly the mode of comparison.
	* combine.c (combine_simplify_rtx): Likewise.

From-SVN: r35343
2000-07-30 18:13:10 +00:00
Michael Hayes
c34d53740a basic-block.h (struct loops): New field rc_order.
* basic-block.h (struct loops): New field rc_order.
	* flow.c (flow_loops_cfg_dump): Dump rc_order if computed.
	(flow_loops_free): Free rc_order.
	(flow_depth_first_order_compute): New parameter rc_order.
	(flow_loops_find): Allocate rc_order and swap usage with
 	dfs_order.

From-SVN: r35342
2000-07-30 10:35:03 +00:00
Herman A.J. ten Brugge
52695ce05b c4x.md (set_ldp_prologue): Add for RTL prologue/epilogue.
* config/c4x/c4x.md (set_ldp_prologue): Add for RTL prologue/epilogue.
	(push_st, push_dp, pop_st, pop_dp, popqi_unspec): Likewise.
	(nodb_call, return_from_epilogue): Likewise.
	(return_from_interrupt_epilogue, prologue, epilogue): Likewise.
	* config/c4x/c4x.c (c4x_expand_prologue, c4x_expand_eplilogue): Add.
	* config/c4x/c4x-protos.h (c4x_interrupt_function_p): Add.
	(c4x_expand_prologue, c4x_expand_epilogue): Likewise.
	(c4x_valid_type_attribute_p): Likewise.
	* config/c4x/c4x.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Delete.
	(FUNCTION_BLOCK_PROFILER_EXIT): Convert to emit RTL.

Co-Authored-By: Michael Hayes <m.hayes@elec.canterbury.ac.nz>

From-SVN: r35341
2000-07-30 09:12:46 +00:00
Michael Hayes
8d485e2d2f c4x.c (c4x_emit_move_sequence): Use loadqi_big_constant and loadhi_big_constant if applicable.
* config/c4x/c4x.c (c4x_emit_move_sequence): Use loadqi_big_constant
	and loadhi_big_constant if applicable.
	* config/c4x/c4x.md (loadqi_big_constant, loadhi_big_constant): Tweak
	and add new splitter.s

From-SVN: r35339
2000-07-30 08:42:57 +00:00
Michael Hayes
b864825e85 * config/c4x/c4x.c (c4x_rptb_insert): Make more robust.
From-SVN: r35338
2000-07-30 08:29:01 +00:00
Michael Hayes
b61ba1ef51 * config/c4x/c4x.h (ASM_FORMAT_PRIVATE_NAME): Output $ in label.
From-SVN: r35337
2000-07-30 08:25:57 +00:00
Michael Hayes
25cd0db18f * config/c4x/c4x.h (IS_XXX_REGNO): Rewrite to avoid unsigned warnings.
From-SVN: r35336
2000-07-30 08:21:43 +00:00
Michael Hayes
0ea1f6b69f * config/c4x/libgcc.S: (divqf3): Improve accuracy.
From-SVN: r35335
2000-07-30 08:12:12 +00:00
Jeff Law
00c9e66354 Daily bump.
From-SVN: r35334
2000-07-30 01:45:07 -06:00
Ovidiu Predescu
fb2a508138 Added to test Objective-C strings.
From-SVN: r35333
2000-07-30 05:45:10 +00:00
Alexandre Oliva
d4eb109cb1 configure.in (CC_FOR_TARGET, [...]): Do not override if already set in the environment or in configure.
* configure.in (CC_FOR_TARGET, CHILL_FOR_TARGET, CXX_FOR_TARGET):
Do not override if already set in the environment or in configure.
Don't duplicate $(FLAGS_FOR_TARGET) if it already appears in them.
(FLAGS_FOR_TARGET): Don't use host directories on Canadian crosses.

From-SVN: r35332
2000-07-30 05:35:14 +00:00
Mark Mitchell
c09cda19a6 Revert previous checkin.
From-SVN: r35331
2000-07-29 19:45:41 +00:00
Mark Mitchell
b3e247b811 Makefile.in: Generate objc parser along with the C parser.
* Makefile.in: Generate objc parser along with the C parser.
        * objc/Make-lang.in:  Remove generation of objc parser.

From-SVN: r35330
2000-07-29 19:33:55 +00:00
Nicola Pero
c161c99b43 Added libtool support for building libobjc.
From-SVN: r35329
2000-07-29 19:19:43 +00:00
Andreas Jaeger
6ed6b84a6f configure.in (mips*-*-linux*): Use mips*el to check for little endian MIPS, add tmake_file.
* configure.in (mips*-*-linux*): Use mips*el to check for little
	endian MIPS, add tmake_file.

	* config/mips/linux.h (TARGET_VERSION): Use GNU/Linux.
	(SUBTARGET_CPP_SPEC): Default MIPS_ISA is 1.
	Patches by Maciej W. Rozycki <macro@ds2.pg.gda.pl>.

From-SVN: r35328
2000-07-29 12:36:20 +02:00
Jeff Law
c5c854e397 Daily bump.
From-SVN: r35327
2000-07-29 01:45:08 -06:00
Ovidiu Predescu
9c14a607e8 Removed the explicit prototypes for strlen and memcpy on 64-bit
platforms (Suggested by Rodney Brown <rdb@cup.hp.com>).

From-SVN: r35326
2000-07-29 07:11:04 +00:00
Warren Levy
2dacb3e9ce ObjectOutputStream.java (writeObject): Per spec, call NotSerializableException with just the class name.
* java/io/ObjectOutputStream.java (writeObject): Per spec, call
	NotSerializableException with just the class name.

From-SVN: r35325
2000-07-28 23:48:19 +00:00
Richard Henderson
08012cdae4 ia64.c (ia64_print_operand): Fix typos.
* config/ia64/ia64.c (ia64_print_operand): Fix typos.
        Sign extend mode size before negating.

From-SVN: r35324
2000-07-28 12:46:18 -07:00
Alexandre Oliva
4f4caf92a3 libtool.m4, [...]: New files from the libtool CVS tree multi-language branch.
2000-07-28  Alexandre Oliva  <aoliva@redhat.com>

        * libtool.m4, ltcf-c.sh, ltcf-cxx.sh, ltcf-gcj.sh: New files from
	the libtool CVS tree multi-language branch.
	* ltconfig, ltmain.sh: Updated.

From-SVN: r35323
2000-07-28 18:04:21 +00:00
Alexandre Oliva
3df6463367 acinclude.m4: Include ../libtool.m4.
2000-07-28  Alexandre Oliva  <aoliva@redhat.com>

	* acinclude.m4: Include ../libtool.m4.
	* aclocal.m4, configure: Rebuilt.

From-SVN: r35322
2000-07-28 17:56:27 +00:00
Richard Henderson
4b983fdc50 cse.c (canon_hash): Handle PRE_MODIFY/POST_MODIFY.
* cse.c (canon_hash): Handle PRE_MODIFY/POST_MODIFY.
	(cse_insn): Likewise.
	(addr_affects_sp_p): Likewise.
	* expr.c (move_by_pieces): Likewise.
	(clear_by_pieces): Likewise.
	* gcse.c (oprs_unchanged_p): Likewise.
	* haifa-sched.c (sched_analyze_2): Likewise.
	* recog.c (offsettable_address_p): Likewise.
	* regclass.c (record_address_regs): Likewise.
	* reload.c (find_reusable_reload): Likewise.
	(push_reload): Likewise.
	(operands_match_p): Likewise.
	(decompose): Likewise.
	(find_reloads_address_1): Likewise.
	(find_inc_amount): Likewise.
	* reload1.c (elimination_effects): Likewise.
	* resource.c (mark_set_resources): Likewise.
	* flow.c (attempt_auto_inc): New function; mostly broken out
	of find_auto_inc.
	(find_auto_inc): Split into two functions and enhanced to
	generate POST_MODIFY.
	* rtl.def (PRE_MODIFY, POST_MODIFY): Adjust comment.
	* rtl.h (count_all_occurrences):  Declare.
	(HAVE_{PRE,POST}_MODIFY_{DISP,REG}): Provide default of 0 if not
	defined.
	* rtlanal.c (count_all_occurrences): New function.
	* tm.texi (HAVE_POST_MODIFY_DISP, HAVE_PRE_MODIFY_DISP,
	HAVE_POST_MODIFY_REG, HAVE_PRE_MODIFY_REG): Document.

	* config/ia64/ia64-protos.h (destination_operand): Declare.
	* config/ia64/ia64.c (destination_operand): New function.
	(ia64_print_operand): Handle POST_MODIFY.
	(rtx_needs_barrier): Likewise.
	* config/ia64/ia64.h (HAVE_POST_MODIFY_DISP): Define to 1.
	(HAVE_POST_MODIFY_REG): Define to 1.
	(MAX_REGS_PER_ADDRESS): Change to 2.
	(GO_IF_LEGITIMATE_ADDRESS): Accept POST_MODIFY too.
	(LEGITIMATE_ADDRESS_REG): New helper macro.
	(LEGITIMATE_ADDRESS_DISP): Likewise.
	(PREDICATE_CODES): Add entry for destination_operand.
	* config/ia64/ia64.md (all mov patterns): Use destination_operand
	predicate for operand 0.

From-SVN: r35321
2000-07-28 10:46:18 -07:00
Richard Henderson
777ba8d110 * emit-rtl.c (gen_lowpart_common): Add missing 'c' variable.
From-SVN: r35320
2000-07-28 10:41:00 -07:00
Kaveh R. Ghazi
63bc1d05cc dwarf2out.c: Indent #error directive.
* dwarf2out.c: Indent #error directive.

	* gbl-ctors.h: Fix typo in comment.
	(__do_global_ctors): Prototype.

	* gcse.c (record_one_set, pre_delete): Remove unused variables.

	* rs6000.c (rs6000_maybe_dead): Delete unused prototype.
	(print_operand): Initialize variable `t'.

From-SVN: r35319
2000-07-28 16:08:54 +00:00
Aldy Hernandez
60dd1b7be9 removed constraints in expander.
split =rf constraints into =r,f

From-SVN: r35318
2000-07-28 16:03:17 +00:00
Philipp Thomas
69fe169e59 install.texi (--enable-nls): Change the description of the NLS related configure options to match the...
2000-07-28  Philipp Thomas  <pthomas@suse.de>

	* install.texi (--enable-nls): Change the description of the NLS
	related configure options to match the current state.
	(--with-included-gettext): Likewise.
	(--enable-maintainer-mode): New description added.
	* extend.texi (-fstrict-prototype): Add missing '.'.

From-SVN: r35317
2000-07-28 13:24:20 +00:00
Andrew Haley
99f7658d7c interpret.cc (continue1): Insert missing break into switch.
2000-07-26  Andrew Haley  <aph@cygnus.com>

        * interpret.cc (continue1): Insert missing break into switch.

From-SVN: r35316
2000-07-28 13:11:45 +00:00
Warren Levy
614ee7902b ObjectStreamException.java: Made constructors protected.
* java/io/ObjectStreamException.java: Made constructors protected.

Adjusts serialVersionUID.

From-SVN: r35315
2000-07-28 11:58:03 +00:00
Jeff Law
66c29aeb8b Daily bump.
From-SVN: r35314
2000-07-28 01:45:07 -06:00
Tom Tromey
13107ec07c class.c (make_class_data): Create vtable for abstract classes.
2000-07-27  Tom Tromey  <tromey@cygnus.com>
            Anthony Green  <green@cygnus.com>
	    Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* class.c (make_class_data): Create vtable for abstract classes.
	(get_dispatch_table): Changed to cope with abstract classes.

Co-Authored-By: Alexandre Petit-Bianco <apbianco@cygnus.com>
Co-Authored-By: Anthony Green <green@cygnus.com>

From-SVN: r35313
2000-07-28 06:57:31 +00:00
Jason Merrill
acacca1023 new
From-SVN: r35312
2000-07-28 02:08:21 -04:00
Jason Merrill
9076e2922f decl.c (duplicate_decls): If common_type produces a non-typedef type for a typedef, just use the old type.
* decl.c (duplicate_decls): If common_type produces a non-typedef
        type for a typedef, just use the old type.

        * pt.c (for_each_template_parm_r, case RECORD_TYPE): Use
        TYPE_PTRMEMFUNC_P.
        * cp-tree.h (TYPE_TEMPLATE_INFO): Check for TYPE_LANG_SPECIFIC.

From-SVN: r35311
2000-07-28 02:05:11 -04:00
Jim Wilson
fb41a10659 Fix dwarf2out abort found while compiling PlumHall on IA-64.
* dwarf2out.c (gen_decl_die): Don't call gen_abstract_function if
	DECL_INITIAL (decl) == NULL_TREE.

From-SVN: r35310
2000-07-27 20:43:13 -07:00
Tom Tromey
8fec62b138 OutputStreamWriter.java (close): Only flush if not closed.
* java/io/OutputStreamWriter.java (close): Only flush if not
	closed.

From-SVN: r35309
2000-07-28 02:54:16 +00:00
Alexandre Oliva
1670d1ea21 Makefile.in (clean-target-libgcc): Remove gcc/libgcc.
* Makefile.in (clean-target-libgcc): Remove gcc/libgcc.
(clean-target): Depend on it.

From-SVN: r35308
2000-07-28 02:22:17 +00:00