Commit Graph

24636 Commits

Author SHA1 Message Date
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
Diego Novillo 201b6183d2 rs6000.c (secondary_reload_class): For TARGET_ELF make sure that HIGH instructions are copied into BASE_REGS.
* config/rs6000/rs6000.c (secondary_reload_class): For
	TARGET_ELF make sure that HIGH instructions are copied
	into BASE_REGS.

From-SVN: r29850
1999-10-07 02:38:15 -04:00
Mark Mitchell 56934d5c71 * dump.c (dequeue_and_dump): Dump all three operands to a COND_EXPR.
From-SVN: r29849
1999-10-07 03:34:58 +00:00
Tom Tromey f2646bf2fa configure.in (GCJ): Define as "target-gcj", not "target/gcj" when building Canadian cross.
* configure.in (GCJ): Define as "target-gcj", not "target/gcj"
	when building Canadian cross.
	(NATIVE): Don't define when cross-compiling.

From-SVN: r29848
1999-10-06 23:13:37 +00:00
Kaveh R. Ghazi dd6d68a933 * flow.c (verify_flow_info): Make it extern & unconditionally define.
From-SVN: r29847
1999-10-06 21:23:52 +00:00
Brendan Kehoe 129a720f0a sp86x-elf.h (SUBTARGET_SWITCHES): Add missing doc string for little-endian-data.
* sparc/sp86x-elf.h (SUBTARGET_SWITCHES): Add missing doc
	string for little-endian-data.

From-SVN: r29846
1999-10-06 16:20:15 -04:00
Michael Meissner 319d943479 Fix sanity check
From-SVN: r29845
1999-10-06 20:14:28 +00:00
Richard Henderson 2224ac3c4e genrecog.c (add_to_sequence): Verify operand to label_ref is VOIDmode.
* genrecog.c (add_to_sequence): Verify operand to label_ref is
        VOIDmode.

From-SVN: r29844
1999-10-06 12:24:28 -07:00