Commit Graph

36401 Commits

Author SHA1 Message Date
Daniel Berlin
0021de69a6 cse.c (set_live_p): Take INSN argument for cc0; update callers.
* cse.c (set_live_p): Take INSN argument for cc0; update callers.
        (insn_live_p): Fix fall off end of function.
        (dead_libcall_p): Remove COUNTS argument; update callers.
        (delete_trivially_dead_insns): Remove unused variables.

Co-Authored-By: Richard Henderson <rth@redhat.com>

From-SVN: r44064
2001-07-16 23:44:57 -07:00
Andreas Jaeger
5158963212 Fix typo in my last entry.
From-SVN: r44063
2001-07-17 07:09:29 +02:00
Andreas Jaeger
b3bb645674 unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for x86-64 pic support.
* config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
        x86-64 pic support.

        * lcm.c (optimize_mode_switching): Avoid warning for unused
        variable if !NORMAL_MODE

        * flow.c (try_crossjump_to_edge): Remove unused variable.

From-SVN: r44062
2001-07-17 06:55:25 +02:00
Bruce Korb
b8d0bbf763 regenerate
From-SVN: r44061
2001-07-17 04:00:12 +00:00
Bruce Korb
583a70777d update the sample output
From-SVN: r44060
2001-07-17 03:59:18 +00:00
Peter Schmid
b5ca1dc724 * g++.old-deja/g++.robertl/eb130.C: Include the correct header file.
From-SVN: r44059
2001-07-17 03:26:34 +00:00
Bruce Korb
551051563c HPUX-es vsnprintf and Ultrix-es atexit declaration
From-SVN: r44058
2001-07-17 03:02:52 +00:00
Bryce McKinlay
f79ced717f LinkedList.java (clone): Clear the copy list with clear(), not by setting its size field.
* java/util/LinkedList.java (clone): Clear the copy list with clear(),
	not by setting its size field.

From-SVN: r44057
2001-07-17 02:56:38 +01:00
Jan Hubicka
4793dca158 basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
* basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
	* except.c (finish_eh_generation): Update call of cleanup_cfg;
	do rebuild_jump_labels instead of jump_optimize
	* sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
	* toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
	* flow.c (try_optimize_cfg): Remove unneeded code_labels.

	* flow.c: Include timevar.h
	(find_basic_block): Push/pop timevar;
	(cleanup_cfg): Likewise.
	* timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
	* Makefile: Add dependencies on timevar.h

	* integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
	(copy_insn_list): Avoid killing of BASIC_BLOCK notes.

	* rtl.h (delete_trivially_dead_insns): Add new parameter.
	* toplev.c (rest_of_compilation): Update calls.
	* cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
	(delete_trivially_dead_insns): ... here; accept new argument
	preserve_basic_blocks; preserve basic blocks if set.

	* reg-stack.c (stack_regs_mentioned): Return 0 if
	stack_regs_mentioned_data is not initialized.
	(reg_to_stack): Make stack_regs_mentioned survive after the
	reg-stack is completted; do not call cleanup_cfg.
	* toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
	make cleanup_cfg after bb-reorder to output to debug file.

From-SVN: r44056
2001-07-16 20:54:44 +00:00
Daniel Berlin
ccef9ef510 gcse.c: Update comment at top.
* gcse.c: Update comment at top.
        Update comment on mem handling.
        mem_last_set, mem_first_set, mem_set_in_block: gone.
        Declaration of reg_set_info: gone.
        (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
        pointless with load_killed_in_block_p (they are *more*
        conservative then it, not less, and less accurate).
        (oprs_not_set_p): Ditto.
        (alloc_gcse_mem): Don't allocate mem_set_in_block
        (free_gcse_mem): Don't free it, either.
        (record_last_mem_set_info): Update comment in front, remove
        mem_*set_* stuff. Note the reason we don't handle stores directly
        here.
        (compute_hash_table): Update comments to reflect reality. Remove
        mem_*set_* references.
        (reset_opr_set_tables): Remove mem_*set_* references.
        (mark_call): Ditto.
        (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
        (mark_clobber): Ditto (on both parts, we double set here too).
        (expr_killed_p): Remove mem_set_in_block test.
        (compute_transp): Remove mem_set_in_block test.

From-SVN: r44055
2001-07-16 14:02:08 -06:00
Richard Henderson
b85946fc65 regclass.c (init_reg_sets): Use only 32 bits per initializer from int_reg_class_contents.
* regclass.c (init_reg_sets): Use only 32 bits per initializer
        from int_reg_class_contents.

From-SVN: r44054
2001-07-16 10:57:11 -07:00
Richard Henderson
4e2db58460 hard-reg-set.h (regs_invalidated_by_call): Declare.
* hard-reg-set.h (regs_invalidated_by_call): Declare.
        * regclass.c (regs_invalidated_by_call): Move from cse.c.
        (init_reg_sets_1): Move initialization from cse_main.
        * cse.c (regs_invalidated_by_call): Move to regclass.c.
        (cse_main): Move its initialization also.
        * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
        * flow.c (propagate_one_insn): Likewise.
        * gcse.c (compute_hash_table): Likewise.
        (compute_kill_rd, compute_store_table): Likewise.
        * sched-deps.c (sched_analyze_1): Likewise.

From-SVN: r44053
2001-07-16 10:54:34 -07:00
Stephen M. Webb
fb124b992c acinclude.m4 (GLIBCPP_ENABLE_CHEADERS): Use glibcpp_srcdir when setting C_INCLUDE_DIR.
2001-07-16  Stephen M. Webb  <stephen@bregmasoft.com>

	* acinclude.m4 (GLIBCPP_ENABLE_CHEADERS):  Use glibcpp_srcdir when
	setting C_INCLUDE_DIR.
	* configure.in:  Revert yesterday's LN_S change.
	* aclocal.m4:  Regenerate.
	* configure:  Regenerate.

From-SVN: r44052
2001-07-16 17:43:54 +00:00
Rainer Orth
3d719162d0 20001229-1.c: Include <sys/proc.h> for UAC_SIGBUS, UAC_NOPRINT definitions.
* gcc.c-torture/execute/20001229-1.c: Include <sys/proc.h> for
	UAC_SIGBUS, UAC_NOPRINT definitions.

From-SVN: r44051
2001-07-16 17:20:58 +00:00
J"orn Rennecke
cccf0ae876 gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of gen_rtx_SET.
* gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
	gen_rtx_SET.

From-SVN: r44048
2001-07-16 18:18:48 +01:00
Rainer Orth
03a8de49b8 sysv.S: Avoid gas-only .balign directive.
* src/x86/sysv.S: Avoid gas-only .balign directive.
	Use C style comments.

From-SVN: r44046
2001-07-16 17:12:14 +00:00
Rainer Orth
92a0e6c6c8 re PR bootstrap/3563 (Error building libffi)
* src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
	Fixes PR bootstrap/3563.

From-SVN: r44045
2001-07-16 16:53:43 +00:00
Steve Ellcey
94fc7deae2 dominance.c (calc_dfs_tree_nonrec): Reverse order of tests in if statement so we don't access undefined memory.
* dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
        in if statement so we don't access undefined memory.

From-SVN: r44043
2001-07-16 10:48:31 -06:00
Daniel Berlin
978cf2fcf5 ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal of edge...
* ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
        of edge, and removal of phi alternative to dump file.
        (ssa_ccp_substitute_constants): Add note about register now being
        constant, and which uses were replaced in what insns to dump file.

From-SVN: r44042
2001-07-16 10:23:40 -06:00
Nicola Pero
55680aef7f Added two new objc tests
From-SVN: r44041
2001-07-16 11:38:13 +00:00
Nicola Pero
0a7a4face2 New tests
From-SVN: r44040
2001-07-16 11:37:23 +00:00
Nicola Pero
42d28de5b2 Fixed object_is_class and object_is_metaclass
From-SVN: r44039
2001-07-16 11:36:24 +00:00
Aldy Hernandez
0ae854922a config.sub: Fix mips64vr5000el typo in CPU-COMPANY.
2001-07-16  Aldy Hernandez  <aldyh@redhat.com>

        * config.sub: Fix mips64vr5000el typo in CPU-COMPANY.

From-SVN: r44034
2001-07-16 10:02:53 +00:00
Andreas Jaeger
23190837c6 gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output variables of type HOST_WIDEST_INT.
* gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
	variables of type HOST_WIDEST_INT.

	* libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
	(__bb_exit_func): Correct type of count_max to avoid overflow.
	(num_digits): Handle long long argument.

	* combine.c (gen_lowpart_for_combine): Remove unused variable.

From-SVN: r44033
2001-07-16 11:16:04 +02:00
GCC Administrator
cc385017aa Daily bump.
From-SVN: r44031
2001-07-16 07:16:10 +00:00
Neil Booth
f4dc8d96d4 output.h (sdb_begin_function_line): Restore as an extern variable.
* output.h (sdb_begin_function_line): Restore as an extern
	variable.
	* sdbout.c (sdb_begin_function_line): Make extern.

From-SVN: r44030
2001-07-16 06:01:40 +00:00
Richard Henderson
9e9f3eded6 machmode.def (Pmode): Redefine if GENERATOR_FILE.
* machmode.def (Pmode): Redefine if GENERATOR_FILE.
        * genrecog.c (maybe_both_true_mode): New.
        (maybe_both_true_2): Use it.
        (write_switch): Don't put Pmode in a switch.
        * rtl.c (mode arrays): Don't explicitly size them.

From-SVN: r44029
2001-07-15 17:28:20 -07:00
Phil Edwards
25dfa34d50 configure.in: Temporarily force LN_S to copy instead of symlink.
2001-07-15  Phil Edwards  <pme@sources.redhat.com>

	* configure.in:  Temporarily force LN_S to copy instead of symlink.
	* configure:  Regenerate.

From-SVN: r44028
2001-07-15 22:17:43 +00:00
Jan Hubicka
22fb740dcc toplev.c (rest_of_compilation): Fix register_life_up_to_date handling...
* toplev.c (rest_of_compilation): Fix register_life_up_to_date
	handling; move unconditional splitting before mode switching.

	* i386.md (type): Add fistp type.
	(i387, length_attr, scheduling definitions): Handle this type.
	(fix_trunc?f?i2): Revamp to use mode switching.
	(fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
	* i386.h (fp_cw_mode): New enum
	(OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
	MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.

From-SVN: r44027
2001-07-15 16:59:06 +00:00
Richard Kenner
135d50f10f Makefile.in (integrate.o): Add debug.h.
* Makefile.in (integrate.o): Add debug.h.
	* integrate.c (debug.h): Add.
	(output_inline_function): Save, reset, and restore debug_hooks.

From-SVN: r44026
2001-07-15 12:50:41 -04:00
Richard Henderson
b762a0ef44 alpha.c (alpha_emit_xfloating_compare): Use CCmode instead of COMPARE for the EQUIV expression.
* config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
        instead of COMPARE for the EQUIV expression.

From-SVN: r44024
2001-07-15 08:56:46 -07:00
Richard Henderson
c319629b9a flow.c (redirect_edge_and_branch_force): Initialize global_live_at_start and global_live_at_end.
* flow.c (redirect_edge_and_branch_force): Initialize
        global_live_at_start and global_live_at_end.
        (allocate_bb_life_data): Export.
        * basic-block.h (allocate_bb_life_data): Declare it.
        * toplev.c (rest_of_compilation): Call it.

From-SVN: r44023
2001-07-15 08:47:05 -07:00
Richard Henderson
25e21aed56 alpha.c (alpha_tablejump_addr_vec): New.
* config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
        (alpha_tablejump_best_label): New.
        * config/alpha/alpha-protos.h: Declare them.
        * config/alpha/alpha.md: Use braced strings for code blocks.
        (tablejump_osf): Break out add with r29.
        (tablejump_osf_internal): Remove.
        (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
        use alpha_tablejump_addr_vec and alpha_tablejump_best_label.

From-SVN: r44022
2001-07-15 08:38:52 -07:00
Toon Moene
09b495e503 f90-intrinsic-numeric.f: Fix pasto.
2001-01-15  Toon Moene  <toon@moene.indiv.nluug.nl>

	* g77.f-torture/execute/f90-intrinsic-numeric.f: Fix pasto.
	* g77.f-torture/execute/f90-intrinsic-mathematical.f: Fix pasto.

From-SVN: r44021
2001-07-15 15:30:04 +00:00
David Billinghurst
147424bf75 f90-intrinsic-numeric.f: New test.
2001-01-15  David Billinghurst <David.Billinghurst@riotinto.com>

	* g77.f-torture/execute/f90-intrinsic-numeric.f: New test.
	* g77.f-torture/execute/f90-intrinsic-mathematical.f: New test.

From-SVN: r44020
2001-07-15 12:50:14 +00:00
Jan Hubicka
03598deac8 loop.c (scan_loop): Add USEs inside PARALLELs into dependencies of the movable.
* loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
	of the movable.

	* toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.

	* i386-protos.h (ix86_split_fp_branch): Update prototype.
	(ix86_fp_jump_nontrivial_p): New.
	* i386.md (fp_jcc_?): Update call of split_fp_branch;
	use ix86_fp_jump_nontrivial_p.
	* i386.c (ix86_fp_jump_nontrivial_p): New.
	(ix86_split_fp_branch): Accept code instead of rtx.
	(ix86_expand_compare): Expand comparison early in case
	doing so is resonably cheap.

From-SVN: r44019
2001-07-15 12:00:34 +00:00
Nick Clifton
b8313db6c0 Assert 'endian' not 'machine' in endian specs
From-SVN: r44018
2001-07-15 10:22:51 +00:00
Neil Booth
e2a12aca42 dbxout.c (dbxout_source_line): Make static, update prototype.
* dbxout.c (dbxout_source_line): Make static, update prototype.
	(dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
	(dbxout_init, dbxout_finish, dbxout_source_line,
	dbxout_begin_block, dbxout_end_block): Update for new prototypes.
	* dbxout.h (dbxout_source_line): Delete.
	* debug.c (debug_nothing_file, debug_nothing_file_int,
	debug_nothing_file_charstar_rtx): New.
	(do_nothing_debug_hooks): Update.
	(debug_nothing_void, debug_nothing_charstar_rtx,
	dwarf2out_end_epilogue): New.
	(debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
	* debug.h (struct rtx_def): Declare.
	(gcc_debug_hooks): New hooks source_line, end_epilogue
	and end_function.
	(debug_nothing_void, debug_nothing_charstar_rtx,
	dwarf2out_end_epilogue): New.
	(debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
	* dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
	(dwarf2_debug_hooks): Update.
	(dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
	dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
	* dwarf2out.h (dwarf2out_source_line): Remove.
	* dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
	Make static, update prototype.
	(dwarfout_init, dwarfout_finish, dwarfout_source_line,
	dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
	(dwarf_debug_hooks): Update.
	* dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
	dwarfout_end_function): Remove.
	* final.c (profile_function): Use debug hooks for ending functions
	and epilogues.
	(output_source_line, final_end_function): Update prototype,
	use debug hooks.
	(final_start_function, final_scan_insn): Update.
	* output.h (sdb_begin_function_line): Remove.
	(final_end_function): Update prototype.
	* sdbout.c (sdb_begin_function_line): Make static.
	(PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
	(sdbout_source_line): New.
	(sdbout_end_epilogue, sdbout_end_function): Make static, update
	prototypes.
	(sdb_debug_hooks): Update.
	(sdbout_init, sdbout_source_line,
	sdbout_begin_block, sdbout_end_block): Update for new prototypes.
	* sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
	* toplev.c (compile_file, rest_of_compilation): Update.
	* tree.h (dwarf2out_end_epilogue): Move to debug.h.
	* xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
	xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
	Update for prototype changes.
	* xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
	xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.

From-SVN: r44017
2001-07-15 08:34:46 +00:00
Richard Henderson
be7b80f427 alpha.h (TARGET_ABI_OSF): New.
* config/alpha/alpha.h (TARGET_ABI_OSF): New.
        (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
        * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
        * config/alpha/alpha.c: Likewise.
        * config/alpha/alpha.md: Likewise.
        * config/alpha/alpha32.h: Likewise.
        * config/alpha/vms.h: Likewise.
        (OPEN_VMS): Remove.

From-SVN: r44016
2001-07-15 00:17:29 -07:00
GCC Administrator
4a82c9509d Daily bump.
From-SVN: r44015
2001-07-15 07:16:50 +00:00
Richard Henderson
736f566aea alpha.md: Use define_constants for unspec values.
* config/alpha/alpha.md: Use define_constants for unspec values.
        Substitute throughout.

From-SVN: r44012
2001-07-14 23:25:01 -07:00
Tim Josling
e6290e7425 * tree.def (EXPON_EXPR) remove. Never supported anyway.
* f/com.c (ffecom_overlap_): Remove references to EXPON_EXPR.
	(ffecom_tree_canonize_ref_): Likewise.

	* java/check-init.c (check_init): Remove references to EXPON_EXPR.

From-SVN: r44011
2001-07-14 19:16:35 -07:00
John David Anglin
3794967f34 * pa.md: Remove unused constraints from define_split's.
From-SVN: r44010
2001-07-15 00:54:21 +00:00
Richard Henderson
35cbdf6fef * ifcvt.c (find_cond_trap): Test for exit block.
From-SVN: r44009
2001-07-14 17:00:56 -07:00
Jan Hubicka
1e5fd09422 Re-install recently reverted patch.
* emit-rtl.c (try_split): Update mark_jump_label call.
	* flow.c (find_sub_basic_blocks): Likewise.
	* jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
	jump_back_p): Kill.
	(mark_all_labels): Kill second parameter.
	(jump_optimize, jump_optimize_1): Kill cross_jump parameter.
	(rebuild_jump_labels, jump_optimize_minimal): Update call
	of jump_optimize_1.
	(jump_optimize_1): Kill crossjumping code.
	(mark_jump_label): Kill cross_jump parameter.
	* rtl.h (mark_jump_label, jump_optimize): Update prototypes.
	(JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
	* reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
	 splitting.
	* toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
	DFI_bpro.
	(dump_file_info): Likewise.
	(rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
	reorganize passes to do reg-stack first, bb-reorder second.
	* invoke.texi (-d letters doc): Remove the jump2 pass.

From-SVN: r44008
2001-07-14 22:52:50 +00:00
Richard Henderson
999c066978 ifcvt.c (find_cond_trap): New.
* ifcvt.c (find_cond_trap): New.
        (find_if_header): Call it.
        (merge_if_block): Relax existing jump sanity check.
        * jump.c (jump_optimize_1): Remove conditional trap handling.

	* gcc.dg/iftrap-1.c: New.

From-SVN: r44006
2001-07-14 11:39:16 -07:00
GCC Administrator
386eda2e22 Daily bump.
From-SVN: r44004
2001-07-14 07:16:10 +00:00
Alan Modra
7d8b141211 pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit millicode.
* config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
	millicode.
	(insn_refs_are_delayed): Correct comment.
	* config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
	* config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
	instead of r31.  Make associated insn !TARGET_64BIT, and
	provide an additional 64-bit insn that clobbers r2.
	(divsi3): Likewise.
	(udivsi3): Likewise.
	(modsi3): Likewise.
	(umodsi3): Likewise.

From-SVN: r44003
2001-07-14 12:09:39 +09:30
Jan Hubicka
1ed672dd7c bb-reorder.c (skip_insn_after_block): Get past the line number notes.
* bb-reorder.c (skip_insn_after_block): Get past the line number notes.

	* flow.c (redirect_edge_and_branch_force, split_edge,
	try_crossjump_to_edge): Use set_block_for_new_insns.
	* bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.

From-SVN: r44002
2001-07-14 01:06:42 +00:00
H.J. Lu
c51f3aa110 elfos.h (UNIQUE_SECTION): Enable .bss section with the correct patch.
2001-07-13  H.J. Lu  (hjl@gnu.org)

	* config/elfos.h (UNIQUE_SECTION): Enable .bss section with
	the correct patch.

From-SVN: r44001
2001-07-13 16:33:37 -07:00