Commit Graph

27671 Commits

Author SHA1 Message Date
Richard Henderson
9785c68dd5 flow.c (struct propagate_block_info): Remove new_dead, new_live; add new_set.
* flow.c (struct propagate_block_info): Remove new_dead, new_live;
        add new_set.
        (propagate_one_insn): Clear it.  Don't update reg_live here.
        (init_propagate_block_info): Update for pbi member changes.
        (free_propagate_block_info): Likewise.
        (mark_set_1): Know that zero_extract, sign_extract, and
        strict_low_part don't kill their argument.  Alter hard subregs.
        Update new_set for non-CLOBBER sets.  Update reg_live.
        (find_auto_inc): Update reg_live, not new_dead.
        (mark_used_reg): Update reg_live, not new_live.  Examine new_set
        to determine if the reg in question was set this insn.  Only update
        reg info with PROP_REG_INFO.

From-SVN: r33478
2000-04-27 04:17:04 -07:00
Jeff Law
077f1f8e14 Daily bump.
From-SVN: r33477
2000-04-27 01:45:07 -06:00
Richard Henderson
83a67d12b2 flow.c (calculate_global_regs_live): Force stack pointer live at end.
* flow.c (calculate_global_regs_live): Force stack pointer
        live at end.

From-SVN: r33476
2000-04-27 00:39:51 -07:00
Richard Henderson
a9f531a60b flow.c (allocate_reg_life_data): Set max_regno here ...
* flow.c (allocate_reg_life_data): Set max_regno here ...
        (life_analysis): ... not here.

From-SVN: r33475
2000-04-27 00:38:40 -07:00
Richard Henderson
2ea64f10c8 jump.c (redirect_exp_1): Rework from old redirect_exp.
* jump.c (redirect_exp_1): Rework from old redirect_exp.  Never
        commit change group changes.
        (invert_exp_1): Similarly.
        (redirect_exp, invert_exp): Use them.
        (redirect_jump_1): New.
        (invert_jump_1): New.
        (jump_optimize_1): Remove code subsumed by condexec.c.
        * rtl.h (invert_jump_1, redirect_jump_1): Declare.

From-SVN: r33474
2000-04-27 00:20:29 -07:00
Richard Henderson
0a2287bf89 rtlanal.c (dead_or_set_regno_p): Use find_regno_note.
* rtlanal.c (dead_or_set_regno_p): Use find_regno_note.
        * genconfig.c (main): Set all HAVE_foo to 1.
        * graph.c (node_data): Use GET_NOTE_INSN_NAME instead of local array.

From-SVN: r33473
2000-04-27 00:18:08 -07:00
Richard Henderson
f77046bbf9 Fix commentary.
From-SVN: r33472
2000-04-27 00:14:46 -07:00
Alex Samuel
4bae0b4749 * invoke.texi: Document -fssa flag.
From-SVN: r33471
2000-04-27 07:10:55 +00:00
Richard Henderson
f134997fac flow.c (count_reg_sets_1): Remove.
* flow.c (count_reg_sets_1): Remove.
        (count_reg_sets, count_reg_references): Remove.
        (recompute_reg_usage): Implement with update_life_info.
        Reallocate life data.

From-SVN: r33470
2000-04-27 00:07:34 -07:00
Richard Henderson
693d9e2fe7 flow.c (update_life_info): Consider blocks null to mean the universal set.
* flow.c (update_life_info): Consider blocks null to mean the
        universal set.
        (calculate_global_regs_live): Likewise.
        (life_analysis): Do that instead of collecting all_blocks.

From-SVN: r33469
2000-04-27 00:01:04 -07:00
Richard Henderson
56aba4a8b5 flow.c (tidy_fallthru_edge): Don't delete the jump when it's a still-valid conditional jump.
* flow.c (tidy_fallthru_edge): Don't delete the jump when it's
        a still-valid conditional jump.

From-SVN: r33468
2000-04-26 23:47:16 -07:00
Richard Henderson
604617ba2a jump.c (invert_jump): Always invert REG_BR_PROB.
* jump.c (invert_jump): Always invert REG_BR_PROB.  Do it correctly.

        * bb-reorder.c (reorder_basic_blocks): Don't run estimate_probability.
        * flow.c (calculate_loop_depth): Remove.
        * output.h (calculate_loop_depth): Don't declare.
        * toplev.c (rest_of_compilation): Expand calculate_loop_depth
        inline; run estimate_probability at the same time.

From-SVN: r33464
2000-04-26 22:58:05 -07:00
Neil Booth
6777db6d4a cpplib.h: "~=" is not a single pp-token.
2000-04-26  Neil Booth  <NeilB@earthling.net>

	* cpplib.h: "~=" is not a single pp-token.
	* cpplex.c: Correct commentary.

From-SVN: r33463
2000-04-27 05:49:33 +00:00
Richard Henderson
b4593d17c0 flow.c (mark_set_1): New arguments code and flags; update all callers.
* flow.c (mark_set_1): New arguments code and flags; update all
        callers.  Track regno_first and regno_last; do HARD_REGNO_NREGS
        test in one place.  Tidy flags tests.  Don't bias REG_N_REFS by
        loop_depth when optimizing for size.  Do new_dead update after
        emitting REG_UNUSED notes.  Merge mark_set_reg code.
        (mark_set_reg): Remove.
        (propagate_one_insn): Use mark_set_1 for call-clobbered registers;
        arrange to not emit REG_UNUSED notes.

From-SVN: r33462
2000-04-26 22:42:25 -07:00
Richard Henderson
443b75c925 flow.c (find_auto_inc): Use pbi->bb instead of BLOCK_FOR_INSN.
* flow.c (find_auto_inc): Use pbi->bb instead of BLOCK_FOR_INSN.
        * ssa.c (convert_from_ssa): Don't run compute_bb_for_insn.

From-SVN: r33461
2000-04-26 22:12:26 -07:00
Richard Henderson
292f38694a flow.c (propagate_one_insn): Break out from propagate_block.
* flow.c (propagate_one_insn): Break out from propagate_block.
        (init_propagate_block_info): Likewise.
        (free_propagate_block_info): Likewise.
        (propagate_block): Use them.  Export.
        * basic-block.h: Declare them all.

From-SVN: r33460
2000-04-26 22:03:35 -07:00
Richard Henderson
7f8a79ba7e basic-block.h (life_analysis): Declare here ...
* basic-block.h (life_analysis): Declare here ...
        * output.h: ... not here.
        * flow.c (life_analysis): Remove nregs parameter; replace
        remove_dead_code with flags.  Remove ssa dead code check.
        Only init alias analysis if we'll use it.
        * reg-stack.c (reg_to_stack): Update life_analysis arguments.
        * ssa.c (convert_to_ssa): Likewise.
        (convert_from_ssa): Likewise.
        * toplev.c (rest_of_compilation): Likewise.

From-SVN: r33459
2000-04-26 21:42:09 -07:00
Richard Henderson
5229452121 flow.c (flow_delete_block): Rename from delete_block.
* flow.c (flow_delete_block): Rename from delete_block.  Export.
        * basic-block.h (flow_delete_block): Declare.

From-SVN: r33458
2000-04-26 21:26:47 -07:00
David S. Miller
9485c46e30 http://gcc.gnu.org/ml/gcc-patches/2000-04/msg01057.html
From-SVN: r33457
2000-04-26 21:26:08 -07:00
Neil Booth
cfd5b8b852 cpplex.c (spell_other, spell_char): Remove.
* cpplex.c (spell_other, spell_char): Remove.
	(SPELL_CHAR): New.
	(token_spelling, trigraph_map): Use unsigned chars.
	(_cpp_lex_line): Tidy up the switch statement.
	* cpplib.h: Implement spell_char with spell_string.
	(C): New.

From-SVN: r33454
2000-04-27 00:58:50 +00:00
Tom Tromey
72a107fe0a Fixed ChangeLog merge snafu
From-SVN: r33453
2000-04-27 00:45:13 +00:00
Jakub Jelinek
70635f1e04 <<<<<<< ChangeLog
2000-04-26  Jakub Jelinek  <jakub@redhat.com>

	* gcconfig.h (SPARC): Define ALIGNMENT to 8 for 64bit SPARC.
	(SPARC/LINUX): Use GC_SysVGetDataStart instead of LINUX_DATA_START
	- sparc glibc does not provide it.
	(SAVE_CALL_CHAIN, ASM_CLEAR_CODE): Define on sparc*-linux*.
	Make STACKBOTTOM depend on the wordsize.
	* os_dep.c (GC_SysVGetDataStart): Compile in on sparc*-linux*.
	(struct frame): Declare on sparc*-linux*.
	(GC_save_callers): Bias the frame pointers if needed (sparc64).
	* mach_dep.c (GC_save_regs_in_stack): Optimize on sparc32.
	Implement on sparc64.
	(GC_clear_stack_inner): Implement on sparc64.
	* gc_priv.h (GC_test_and_set): Implement for sparc.
	* linux_threads.c (GC_suspend_handler, GC_push_all_stacks): Use

From-SVN: r33452
2000-04-27 00:43:33 +00:00
Tom Tromey
f1acc01e2d zextract.c (find_zip_file_start): New function.
* zextract.c (find_zip_file_start): New function.
	(read_zip_archive): Use it.

From-SVN: r33451
2000-04-27 00:18:41 +00:00
Geoff Keating
f4c150e50b * execute/loop-5.c: New test.
From-SVN: r33450
2000-04-27 00:11:52 +00:00
Rodney Brown
466d45de58 pa32-regs.h (HARD_REGNO_MODE_OK): Warning removal.
* pa/pa32-regs.h (HARD_REGNO_MODE_OK): Warning removal.
        * pa/pa64-regs.h (HARD_REGNO_MODE_OK): Warning removal.

From-SVN: r33449
2000-04-26 13:07:28 -06:00
Kaveh R. Ghazi
d3e3972c5c dwarf2out.c (dw_cfi_oprnd_struct, [...]): Constify a char*.
* dwarf2out.c (dw_cfi_oprnd_struct, dw_fde_struct, add_fde_cfi,
        reg_save, dwarf2out_frame_debug_expr, dwarf2out_def_cfa,
        dwarf2out_window_save, dwarf2out_args_size, dwarf2out_reg_save,
        dwarf2out_return_save, dwarf2out_return_reg,
        dwarf2out_stack_adjust, dwarf2out_frame_debug, primary_filename,
        add_AT_lbl_id, add_AT_lbl_offset, type_tag, decl_start_label,
        gen_compile_unit_die, dwarf2out_init): Constify a char*.

        * dwarf2out.h (dwarf2out_init): Likewise.

        * dwarfout.c (filename_entry, primary_filename, last_filename,
        type_tag, output_compile_unit_die, dwarfout_init): Likewise.

        * tree.h (dwarf2out_def_cfa, dwarf2out_window_save,
        dwarf2out_args_size, dwarf2out_reg_save, dwarf2out_return_save,
        dwarf2out_return_reg): Likewise.

From-SVN: r33448
2000-04-26 18:31:55 +00:00
Tom Tromey
09acb3e19d Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am (AM_CXXFLAGS): Added -fasynchronous-exceptions.

From-SVN: r33447
2000-04-26 17:29:05 +00:00
Mark Mitchell
fc611ce0f5 cp-tree.h (TREE_READONLY_DECL_P): Use DECL_P.
* cp-tree.h (TREE_READONLY_DECL_P): Use DECL_P.
	* init.c (decl_constant_value): Check TREE_READONLY_DECL_P.
	* call.c (convert_like_real): Don't test TREE_READONLY_DECL_P
	before calling decl_constant_value.
	* class.c (check_bitfield_decl): Likewise.
	* cvt.c (ocp_convert): Likewise.
	(convert): Likewise.
	* decl.c (compute_array_index_type): Likewise.
	(build_enumerator): Likewise.
	* decl2.c (check_cp_case_value): Likewise.
	* pt.c (convert_nontype_argument): Likewise.
	(tsubst): Likewise.
	* typeck.c (decay_conversion): Likewise.
	(build_compound_expr): Likewise.
	(build_reinterpret_cast): Likewise.
	(build_c_cast): Likewise.
	(convert_for_assignment): Likewise.

From-SVN: r33446
2000-04-26 15:43:50 +00:00
Andreas Jaeger
d4047e241e extend.texi (Function Attributes): Fix description of pure attribute.
2000-04-26  Andreas Jaeger  <aj@suse.de>

        * extend.texi (Function Attributes): Fix description of pure
        attribute.

From-SVN: r33445
2000-04-26 16:21:36 +02:00
Neil Booth
c2e25d51a6 * cpplex.c: fix typos in comment
From-SVN: r33444
2000-04-26 10:28:36 +00:00
Neil Booth
d6d5f7955b * cpplex.c: add comment describing lexer algorithm.
From-SVN: r33443
2000-04-26 10:17:32 +00:00
Jeff Law
6f0ae5b4f2 Daily bump.
From-SVN: r33442
2000-04-26 01:45:07 -06:00
Jason Merrill
7d2e8eff6f integrate.c (output_inline_function): Do clear DECL_DEFER_OUTPUT before calling rest_of_compilation.
* integrate.c (output_inline_function): Do clear DECL_DEFER_OUTPUT
        before calling rest_of_compilation.

From-SVN: r33441
2000-04-26 03:22:10 -04:00
Andreas Jaeger
70576b754e linux.h: Remove erroneous commit of #if 0/#endif in last patch.
2000-04-26  Andreas Jaeger  <aj@suse.de>

	* config/mips/linux.h: Remove erroneous commit of #if 0/#endif in
	last patch.

From-SVN: r33440
2000-04-26 09:18:26 +02:00
Nathan Myers
f17d6c73de cpu: Atomicity cleanups.
2000-04-24  Nathan Myers  <ncm@cantrip.org>

	* config/cpu: Atomicity cleanups.
	* config/cpu/alpha/bits: New directory.
	* config/cpu/arm/bits: New directory.
	* config/cpu/generic/bits: New directory.
	* config/cpu/i386/bits: New directory.
	* config/cpu/powerpc/bits: New directory.
	* config/cpu/sparc/sparc32/bits: New directory.
	* config/cpu/sparc/sparc32/bits: New directory.
	* config/cpu/*/bits: Move atomicity.h files to here.

From-SVN: r33438
2000-04-26 02:51:12 +00:00
Richard Henderson
369edff185 * cse.c (cse_insn): Emit barrier after unconditional jump.
From-SVN: r33433
2000-04-25 18:10:35 -07:00
Richard Henderson
e2ee991277 calls.c (expand_call): Disable tail call generation once rtx_equal_function_value_matters is false.
* calls.c (expand_call): Disable tail call generation once
        rtx_equal_function_value_matters is false.

        * reg-stack.c (convert_regs_1): Treat EDGE_ABNORMAL_CALL edges
        like EDGE_EH edges.

From-SVN: r33431
2000-04-25 17:43:09 -07:00
Jason Merrill
1cfdcc15ef dwarf2out.c (add_bound_info): Don't crash on an unexpanded SAVE_EXPR.
* dwarf2out.c (add_bound_info): Don't crash on an unexpanded SAVE_EXPR.

        * dwarfout.c (output_decl): Ignore NAMESPACE_DECLs.

        * dwarf2out.c (gen_subprogram_die): The class-scope declaration DIE
        is the primary DIE for a member function.
        (gen_decl_die): Call set_decl_origin_self here.
        * dwarfout.c (output_decl): And here.
        * integrate.c (output_inline_function): Not here.
        Don't clear DECL_INLINE until after calling rest_of_compilation.
        (set_decl_origin_self): No longer static.
        * tree.h: Add prototype.
        * toplev.c (note_deferral_of_defined_inline_function): Only write
        out abstract instance for actual inlines.

        * cp/decl.c (finish_function): Don't play games with DECL_INLINE.

From-SVN: r33430
2000-04-25 20:36:56 -04:00
Alexandre Oliva
d25ed420a2 mn10300.h (REG_CLASS_FROM_LETTER): Return EXTENDED_REGS only if TARGET_AM33.
* config/mn10300/mn10300.h (REG_CLASS_FROM_LETTER): Return
EXTENDED_REGS only if TARGET_AM33.
* config/mn10300/mn10300.md (movsi, addsi): Avoid exposing
SP_REGS to register allocation and reloading unless absolutely
necessary.
(movsi3): Remove special-case of adding non-constants to SP.

From-SVN: r33429
2000-04-26 00:09:52 +00:00
Kaveh R. Ghazi
86cf1cbd5f aclocal.m4 (gcc_AC_NEED_DECLARATION): This macro now requires INCLUDES to search and does not provide any of its own.
* aclocal.m4 (gcc_AC_NEED_DECLARATION): This macro now requires
       INCLUDES to search and does not provide any of its own.  Also it
       now accepts optional ACTION-IF-NEEDED and ACTION-IF-NOT-NEEDED
       parameters.  Also it does not call AC_DEFINE.
       (gcc_AC_NEED_DECLARATIONS): Likewise.  Also this macro now calls
       AC_DEFINE and provides for automatic entries for autoheader.
       (gcc_AC_FUNC_PRINTF_PTR): Cleanup C code in test.

       * configure.in (gcc_AC_NEED_DECLARATIONS): Save and restore CFLAGS
       so we can pass -I flags and include gansidecl.h/system.h in this
       test.

       * acconfig.h: Delete all NEED_DECLARATION_* entries.

From-SVN: r33428
2000-04-26 00:03:37 +00:00
Kaveh Ghazi
62076024ce Oops, missed ChangeLog in last checkin...
* acconfig.h (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
        ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
        ENABLE_GC_ALWAYS_COLLECT): Delete entries.

        * configure.in (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
        ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
        ENABLE_GC_ALWAYS_COLLECT): Use three argument form of AC_DEFINE
        for these macros.  Clean up spacing and linewraps.

From-SVN: r33427
2000-04-25 23:54:38 +00:00
Jason Merrill
39b0dce71c calls.c (expand_call): Use get_callee_fndecl.
* calls.c (expand_call): Use get_callee_fndecl.

        * print-tree.c (print_node): Print the chain of an _EXPR.

From-SVN: r33426
2000-04-25 19:31:50 -04:00
Jason Merrill
89a75b6d83 correct comment
From-SVN: r33425
2000-04-25 19:23:41 -04:00
Andrew MacLeod
0c96007e77 Add partial support for IA-64 unwind sections.
* config/ia64/crtbegin.asm: Add IA-64 unwind support.  Correct alloc
	and gp save/restore problems.
	* config/ia64/crtend.asm: Add IA-64 unwind support.
	* config/ia64/ia64.c (ia64_compute_frame_size): Don't include pr_size
	in fr_pad_size calculation.
	...

Co-Authored-By: Andrew Haley <aph@cygnus.com>
Co-Authored-By: Jim Wilson <wilson@cygnus.com>

From-SVN: r33424
2000-04-25 16:16:20 -07:00
Bruce Korb
7d7f30cfa0 use install-bin and install-sh in fixinc's makefile
From-SVN: r33423
2000-04-25 23:03:49 +00:00
Alexandre Petit-Bianco
932207025a re GNATS gcj/181 (gcj crashes on inner classes/interfaces definition/usage.)
Mon Apr 24 14:59:36 2000  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * parse.y (end_class_declaration): Reset the interface number
        counter.

(This fixes the Java PR #181:
 http://sourceware.cygnus.com/ml/java-prs/2000-q1/msg00207.html)

From-SVN: r33422
2000-04-25 15:14:53 -07:00
Nick Clifton
b36f4ed354 Define FUNCTION_ATTRIBUTE_INLINABLE_P, a target macro to allow functions with
target specific attributes to be inlined.

From-SVN: r33421
2000-04-25 21:10:26 +00:00
Kaveh Ghazi
119d24d17a acconfig.h (ENABLE_STD_NAMESPACE, [...]): Delete entries.
* acconfig.h (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
        ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
        ENABLE_GC_ALWAYS_COLLECT): Delete entries.

        * configure.in (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
        ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
        ENABLE_GC_ALWAYS_COLLECT): Use three argument form of AC_DEFINE
        for these macros.  Clean up spacing and linewraps.

From-SVN: r33420
2000-04-25 20:30:16 +00:00
Zack Weinberg
c5a047348d [multiple changes]
2000-04-25  Zack Weinberg  <zack@wolery.cumb.org>

	* cpplib.h (struct cpp_buffer): Add 'mapped' flag; fix
	commentary.

2000-04-25  Neil Booth  <NeilB@earthling.net>

	Restore previous patch, plus the following fixes:

	* cpphash.c (_cpp_create_definition): Test PREV_WHITESPACE in
	flags, not CPP_OPEN_PAREN.
	* cpplex.c (expand_token_space, init_token_list,
	cpp_free_token_list): Put the dummy token at list->tokens[-1].
	(_cpp_lex_line, _cpp_lex_file): token list is 0-based.

From-SVN: r33419
2000-04-25 19:32:36 +00:00
Jakub Jelinek
e0075d846d * execute/va-arg-20.c: New test.
From-SVN: r33418
2000-04-25 21:09:01 +02:00