Commit Graph

24393 Commits

Author SHA1 Message Date
Mark Mitchell
7c56a6cef7 cplus-dem.c (do_type): Handle pointer to member types whose enclosing classes have namespace scope.
* cplus-dem.c (do_type): Handle pointer to member types whose
	enclosing classes have namespace scope.

From-SVN: r29901
1999-10-11 08:32:10 +00:00
Martin v. Löwis
ba33cb50d6 * newcvsroot: New file.
From-SVN: r29900
1999-10-11 07:07:39 +00:00
Martin v. Löwis
f4ae3f9bf1 New script to replace CVS/Root and CVS/Repository
From-SVN: r29899
1999-10-11 07:01:38 +00:00
Geoff Keating
b5d6a85051 mips.c (mips_build_va_list): Correct TREE_CHAIN setting when hard-float.
* config/mips/mips.c (mips_build_va_list): Correct
TREE_CHAIN setting when hard-float.
(mips_va_start): Use corrected setting.
(mips_va_arg): Likewise.  Also pass a tree to build of
POSTINCREMENT_EXPR rather than a naked 'int'.

From-SVN: r29898
1999-10-11 03:35:14 +00:00
Mark Mitchell
74c937ca61 ggc.h (ggc_push_context): Fix comment.
* ggc.h (ggc_push_context): Fix comment.
	(ggc_pop_context): Likewise.
	(mark_string_if_gcable): Likewise.
	* ggc-common.c (ggc_mark_rtx_children): Use
	ggc_mark_string_if_gcable.
	* ggc-page.c (ggc_lookup_page_table): New function.
	(ggc_allocated_p): Likewise.
	(mark_obj): Fix formatting.
	(ggc_mark_string_if_gcable): New function.
	* ggc-simple.c (ggc_allocated_strings): New variable.
	(ggc_strings_used): Likewise.
	(ggc_compare_addresses): New function.
	(ggc_pop_context): Pop the `any' memory too.
	(ggc_mark_string_if_gcable): New function.
	(ggc_collect): Initialize and tear down ggc_allocated_strings.

From-SVN: r29897
1999-10-11 02:11:21 +00:00
David Edelsohn
f9562f27ff rs6000.md (movstrsi_?reg): Use preferred rD/rS = r5 form.
* rs6000.md (movstrsi_?reg): Use preferred rD/rS = r5 form.
        (scc patterns): Disable most SImode variants if TARGET_POWERPC64.
        * rs6000.c (expand_block_move): Match movstrsi_?reg register
        changes.

From-SVN: r29895
1999-10-10 20:39:30 -04:00
Richard Henderson
c46a37c417 haifa-sched.c (sched_reg_n_calls_crossed): Delete.
* haifa-sched.c (sched_reg_n_calls_crossed): Delete.
        (sched_reg_live_length, sched_reg_basic_block): Delete.
        (current_block_num, bb_live_regs, old_live_regs): Delete.
        (dead_notes, struct sometimes): Delete.
        (sched_note_set, birthing_insn_p): Delete.
        (adjust_priority): Gut useless reg lifetime code.
        (create_reg_dead_note, attach_deaths): Delete.
        (attach_deaths_insn, new_sometimes_live): Delete.
        (finish_sometimes_live): Delete.
        (find_pre_sched_live, find_post_sched_live): Delete.
        (update_reg_usage): Delete.
        (find_insn_reg_weight): New, from corpse of find_pre_sched_live.
        (schedule_insns): Delete reg lifetime code.
        (sched_analyze): Use REG_SAVE_NOTE to stuff NOTE_INSN notes away.
        (unlink_other_notes): Adjust REG_NOTE commentary.
        (reemit_notes): Use REG_SAVE_NOTE.
        (schedule_block): Likewise.
        (schedule_region): Allocate bitmap of blocks in region.  Use
        count_or_remove_death_notes.  Use update_life_info.

        * rtl.h (REG_SAVE_NOTE): New.
        * rtl.c (reg_note_name): Update.

From-SVN: r29894
1999-10-10 16:45:27 -07:00
Richard Henderson
715e7fbc83 combine.c (refresh_blocks, [...]): New.
* combine.c (refresh_blocks, need_refresh): New.
        (combine_instructions): Allocate refresh_blocks.  Invoke
        update_life_info if needed.
        (distribute_notes): Mark refresh_blocks instead of installing
        USE insns.
        * flow.c (update_life_info): Remove notes if GLOBAL_RM_NOTES.
        * basic_block.h (enum update_life_extent): Add GLOBAL_RM_NOTES.

        * Makefile.in (recog.o): Depend on basic-block.h.

From-SVN: r29893
1999-10-10 16:34:17 -07:00
Jason Merrill
07b983cd71 checked in wrong version
From-SVN: r29892
1999-10-10 15:23:38 -04:00
Richard Henderson
c3693cb121 genrecog.c (add_to_sequence): Thinko last change: delete shadowing allow_const_int variable.
* genrecog.c (add_to_sequence): Thinko last change: delete
        shadowing allow_const_int variable.

From-SVN: r29891
1999-10-10 12:04:29 -07:00
Kaveh R. Ghazi
b30bce6b52 ansidecl.h (HAVE_GCC_VERSION): New macro.
include:
	* ansidecl.h (HAVE_GCC_VERSION): New macro.  Use instead of
	explicitly testing __GNUC__ and __GNUC_MINOR__.

	(ATTRIBUTE_PRINTF): Use `__format__', not `format'.

gcc:
	* cppinit.c: Use HAVE_GCC_VERSION instead of explicitly testing
	__GNUC__ and __GNUC_MINOR__.

	* gansidecl.h: Likewise.

	* rtl.c: Likewise.

	* rtl.h: Likewise.

	* toplev.h: Likewise.

	* tree.c: Likewise.

	* tree.h: Likewise.

	* varray.c: Likewise.

	* varray.h: Likewise.

cp:
	* cp-tree.h: Use HAVE_GCC_VERSION instead of explicitly testing
	__GNUC__ and __GNUC_MINOR__.

f:
	* proj.h: Use HAVE_GCC_VERSION instead of explicitly testing
	__GNUC__ and __GNUC_MINOR__.  Don't define BUILT_WITH_270.
	Define macro UNUSED in terms of ATTRIBUTE_UNUSED.

From-SVN: r29890
1999-10-10 13:02:41 +00:00
Bernd Schmidt
4724334af7 Fix a warning in copy_insn_1
From-SVN: r29889
1999-10-10 12:06:33 +00:00
Bernd Schmidt
f0f616824e Fix docs for ADDRESS rtx
From-SVN: r29888
1999-10-10 11:52:53 +00:00
Bernd Schmidt
17bec8eee7 Don't put things between tablejumps and jump tables in loop.c
From-SVN: r29887
1999-10-10 11:37:46 +00:00
Richard Henderson
85c45372dc Lost debug_decision_list from genrecog changelog.
From-SVN: r29886
1999-10-10 02:46:11 -07:00
Richard Henderson
ec1c89e60a genrecog.c (add_to_sequence): Move allow_const_int test outside known predicate block...
* genrecog.c (add_to_sequence): Move allow_const_int test outside
        known predicate block; default allow_const_int true.

From-SVN: r29885
1999-10-10 02:43:26 -07:00
Richard Henderson
8015b78d41 * i386.h (CC1_SPEC): Typo -- use cc1_cpu.
From-SVN: r29884
1999-10-10 00:44:13 -07:00
Marc Espie
cd32188bd6 * config.table: Provide a backup shell for executing move-if-change.
From-SVN: r29883
1999-10-10 01:27:40 -06:00
Jeffrey A Law
55f7891bb7 gcse.c (gcse_main): Avoid global optimizations if we have a large number of basic blocks and the...
* gcse.c (gcse_main): Avoid global optimizations if we have a
        large number of basic blocks and the ratio of edges to blocks
        is high.
        (delete_null_pointer_checks): Likewise.

From-SVN: r29882
1999-10-09 23:30:28 -06:00
Ken Raeburn
ba80674579 c-common.c (check_format_info): Warn if format string isn't a string literal.
* c-common.c (check_format_info): Warn if format string isn't a
        string literal.

From-SVN: r29881
1999-10-09 23:17:41 -06:00
Jonathan Larmour
7805bde9fa configure.in (arm*-*-*): Don't let autoconf remove brackets
* configure.in (arm*-*-*): Don't let autoconf remove brackets
        * configure: regenerate

From-SVN: r29880
1999-10-09 23:06:54 -06:00
Mark Mitchell
f301014645 cp-tree.h (make_rtl_for_local_static): New function.
* cp-tree.h (make_rtl_for_local_static): New function.
	* decl.c (make_rtl_for_nonlocal_decl): Move code to create RTL for
	local statics ...
	(make_rtl_for_local_static): Here.
	* semantics.c (expand_stmt): Use make_rtl_for_local_static.

From-SVN: r29879
1999-10-09 21:06:03 +00:00
Richard Henderson
ab61414260 alpha.md (extendsidi2): Turn into a splitter.
* alpha.md (extendsidi2): Turn into a splitter.  Allow f/f.
        If TARGET_FIX, allow r/f.  Remove cvtlq unspec pattern.
        (peepholes): Re-enable.

From-SVN: r29878
1999-10-09 13:18:48 -07:00
Richard Henderson
d3a923ee2e Makefile.in (flow.o): Depend on TREE_H.
* Makefile.in (flow.o): Depend on TREE_H.
	* basic-block.h (REG_SET_EQUAL_P): New.
	(XOR_REG_SET): New.
	(n_edges): Declare.
	(free_regset_vector): Remove declaration.
	(flow_delete_insn_chain): Declare.
	(enum update_life_extent): New.
	(update_life_info, count_or_remove_death_notes): Declare.
	* combine.c (distribute_notes) [REG_DEAD]: Stop search at bb->head.
	Verify register live at bb->global_live_at_start before adding USE.
	* flow.c (HAVE_epilogue, HAVE_prologue): Provide default.
	(CLEAN_ALLOCA): New.
	(n_edges): New.
	(PROP_*): New flags.
	(find_basic_blocks_1): Use alloc_EXPR_LIST.
	(clear_edges): Zero n_edges.
	(make_edge): Increment n_edges.
	(split_edge): Don't allocate bb->local_set.  Increment n_edges.
	(flow_delete_insn_chain): Export.
	(delete_block): Decrement n_edges.
	(merge_blocks_nomove): Likewise.
	(life_analysis): Give life_analysis_1 PROP flags.
	(verify_wide_reg_1, verify_wide_reg): New.
	(verify_local_live_at_start): New.
	(update_life_info): Rewrite to call into propogate_block.
	(mark_reg): New.
	(mark_regs_live_at_end): After reload, if epilogue as rtl,
	always mark stack pointer.  Conditionally mark PIC register.
	After reload, mark call-saved registers, return regsiters.
	(life_analysis_1): Accept PROP flags not remove_dead_code.
	Call mark_regs_live_at_end before zeroing regs_ever_live.
	Use calculate_global_regs_live.  Copy global_live_at_end before
	calling final propagate_block.  Zero reg_next_use on exit.
	(calculate_global_regs_live): New.
	(allocate_bb_life_data): Don't allocate bb->local_set.
	(init_regset_vector, free_regset_vector): Remove.
	(propagate_block): Accept FLAGS not FINAL or REMOVE_DEAD_CODE.
	Test flags before every operation.  Warn if prologue/epilogue insn
	would have been deleted.
	(mark_set_regs, mark_set_1): Accept and use FLAGS.
	Use alloc_EXPR_LIST.
	(mark_used_regs): Accept and use FLAGS, not FINAL.
	Remove special handling for RETURN.
	(try_pre_increment): Use alloc_EXPR_LIST.
	(dump_flow_info): Dump n_edges.
	(unlink_insn_chain, split_hard_reg_notes): Remove.
	(maybe_add_dead_note, maybe_add_dead_note_use): Remove.
	(find_insn_with_note, new_insn_dead_notes): Remove.
	(update_n_sets, sets_reg_or_subreg_1, sets_reg_or_subreg): Remove.
	(maybe_remove_dead_notes, prepend_reg_notes): Remove.
	(replace_insns): Remove.
	(count_or_remove_death_notes): New.
	(verify_flow_info): Abort on error after all checks.
	(remove_edge): Decrement n_edges.
	(remove_fake_edges): Tweek format.
	* haifa-sched.c (schedule_insns): Use split_all_insns.
	* output.h (update_life_info): Remove declaration.
	* recog.c (split_all_insns): From the corpse of split_block_insns,
	do the whole function block by block.  Use update_life_info.
	(recog_last_allowed_insn): New.
	(recog_next_insn): Mind it.
	(peephole2_optimize): Set it.  Walk backwards through blocks.
	Use update_life_info.
	* rtl.h (update_flow_info, replace_insns): Remove declarations.
	(split_all_insns): Declare.
	* toplev.c (rest_of_compilation): Thread prologue before flow2.
	Use split_all_insns.

	* i386.md (or -1 peep2s): Disable.

From-SVN: r29877
1999-10-09 12:47:18 -07:00
Richard Henderson
1640ef3802 Test commit.
From-SVN: r29876
1999-10-09 12:07:33 -07:00
Richard Henderson
7a5a60cf0f * mips.c (mips_va_arg) [EABI]: Return addr_rtx.
From-SVN: r29875
1999-10-09 12:03:29 -07:00
Richard Henderson
cf45bb0618 mips.md (movstrsi+[123]): Combine these into a single pattern.
* config/mips/mips.md (movstrsi+[123]) : Combine these into
	a single pattern.  Scrap the 'd' versions as unnecessary.

	* config/mips/mips.md (tablejump_internal3,tablejump_mips161,
	tablejump_mips162,tablejump_internal4): The operands to a
	label_ref must be VOIDmode.

From-SVN: r29874
1999-10-08 21:54:12 +00:00
Kaveh R. Ghazi
64fb023e4e * configure.in (c-mbchar): Append, don't overwrite, `extra_c_flags'.
From-SVN: r29873
1999-10-08 20:16:42 +00:00
Richard Henderson
455419a530 lists.c (init_EXPR_INSN_LIST_cache): Don't need to zap the cache every function if ggc_p.
* lists.c (init_EXPR_INSN_LIST_cache): Don't need to zap the
        cache every function if ggc_p.

From-SVN: r29872
1999-10-08 11:59:27 -07:00
Bernd Schmidt
a6de7040f8 New testcase
From-SVN: r29871
1999-10-08 18:00:01 +00:00
Bernd Schmidt
da43a810ca Add functions copy_insn/copy_insn_1; use them in jump.c
From-SVN: r29870
1999-10-08 17:39:10 +00:00
Kaveh R. Ghazi
b1afd7f4e0 Makefile.in (insn-recog.o): Depend on hard-reg-set.h and resource.h.
* Makefile.in (insn-recog.o): Depend on hard-reg-set.h and resource.h.

        * alpha.h (ASM_OUTPUT_MI_THUNK): Pass the correct number of
        arguments to `current_file_function_operand'.

        * genrecog.c: Include hard-reg-set.h and resource.h in the
        generated output file.

        * real.c: Include tm_p.h.

cp:
        * method.c: Include tm_p.h.

From-SVN: r29869
1999-10-08 17:10:19 +00:00
Bernd Schmidt
9d17a893d3 Fix bad constraints in prologue_allocate_stack in i386.md
From-SVN: r29868
1999-10-08 17:03:57 +00:00
Jeff Law
851a35a35b Daily bump.
From-SVN: r29867
1999-10-08 01:46:23 -06:00
Richard Henderson
a8af032191 rs6000.md (fix_truncdfsi2_internal+1): Emit a clobber before the fctiwz insn.
* rs6000.md (fix_truncdfsi2_internal+1): Emit a clobber
        before the fctiwz insn.

From-SVN: r29866
1999-10-07 23:07:50 -07:00
Franz Sirl
266f2faa84 cp-tree.h (cp_make_lake_type): Renamed from make_lang_type.
* cp-tree.h (cp_make_lake_type): Renamed from make_lang_type.
        * lex.c (cp_make_lake_type): Likewise.
        * tree.c (init_tree): Init make_lang_type_fn.

From-SVN: r29865
1999-10-08 05:50:44 +00:00
Franz Sirl
0f4fd75d9a tree.c (make_lang_type_fn): New funtion pointer.
* tree.c (make_lang_type_fn): New funtion pointer.
        (make_lang_type): Call it.
        * tree.h (make_lang_type): Declare.
        (make_lang_type_fn): Likewise.
        * rs6000.c (rs6000_build_va_list): Use make_lang_type.

Co-Authored-By: Mark Mitchell <mark@codesourcery.com>

From-SVN: r29864
1999-10-08 05:48:29 +00:00
Mark Mitchell
f8191e640d pt.c (tsubst_expr): Set DECL_TEMPLATE_INSTANTIATED for a catch paramter.
* pt.c (tsubst_expr): Set DECL_TEMPLATE_INSTANTIATED for a catch
	paramter.

	* semantics.c (expand_stmt): Don't pretend to have asmspecs for
	local statics if we don't really have them.

	* ir.texi: Improve documentation for STMT_EXPR.  Describe
	CLEANUP_POINT_EXPR.

From-SVN: r29863
1999-10-08 05:42:36 +00:00
Mark Mitchell
7d00586921 Fix test case
From-SVN: r29862
1999-10-08 05:35:02 +00:00
Diego Novillo
e6f5c0ed64 Moved ChangeLog entry for a recent change to gcc/config/rs6000 to
its proper place in gcc/ChangeLog.

From-SVN: r29861
1999-10-07 23:31:43 -04:00
Jason Merrill
6fbfac9226 expr.c (expand_expr, [...]): Set TREE_USED sooner.
* expr.c (expand_expr, TARGET_EXPR): Set TREE_USED sooner.

	* c-decl.c (finish_struct): Use simpler method of
	removing elements of a singly-linked list.

From-SVN: r29860
1999-10-07 20:10:09 -04:00
Jason Merrill
11028a5379 class.c (build_vtable_entry_ref): Use finish_asm_stmt.
* class.c (build_vtable_entry_ref): Use finish_asm_stmt.

	* class.c (finish_struct_1): Use simpler method of
	removing elements of a singly-linked list which doesn't
	lose for classes without data members.

From-SVN: r29859
1999-10-07 20:08:23 -04:00
Michael Meissner
45df366316 Comment out peepholes that generate buggy code
From-SVN: r29858
1999-10-07 19:25:54 +00:00
Richard Henderson
c2d9fa7b17 genrecog.c (add_to_sequence): Disable mode check for wildcard matches.
* genrecog.c (add_to_sequence): Disable mode check for
        wildcard matches.

From-SVN: r29857
1999-10-07 12:02:36 -07:00
Bernd Schmidt
ed23b2a950 Initialize empty_string in ggc-simple.
From-SVN: r29856
1999-10-07 18:28:15 +00:00
Mark Mitchell
c219b87877 friend.c (make_friend_class): Robustify.
* friend.c (make_friend_class): Robustify.

	* semantics.c (finish_object_call_expr): Reject calls to template
	types.

From-SVN: r29855
1999-10-07 16:41:48 +00:00
Anthony Green
ab150fb189 During class file generation...
During class file generation, generate_classfile occasionally writes
out a bunch of data and then skips backwards to fill in blanks.  When
configured with --enable-checking, this patching up will often trip
the checking code.  This change introduces UNSAFE_PUTx macros which
never use CHECK_PUT.  These should only be used in cases we know
CHECK_PUT will fail.

From-SVN: r29854
1999-10-07 13:26:01 +00:00
Richard Henderson
81bf3d9ed3 configure.in: Detect mmap.
* configure.in: Detect mmap.  Add --with-gc=foo to select
        garbage collector; default to page if mmap available.
        * Makefile.in (GGC): Substitute.

From-SVN: r29853
1999-10-07 01:15:19 -07:00
Jeff Law
bdf768134b Daily bump.
From-SVN: r29852
1999-10-07 01:45:09 -06:00
Richard Henderson
0f695c379e * c-decl.c (ggc_p): Enable.
From-SVN: r29851
1999-10-06 23:57:07 -07:00