Gerald Pfeifer
b9550bfbc6
gcc_update: Refer to GCC and gcc_update instead of egcs and egcs_update.
...
* gcc_update: Refer to GCC and gcc_update instead of egcs and
egcs_update.
From-SVN: r33497
2000-04-28 01:23:47 +00:00
Alex Samuel
2a9a326b17
Makefile.in (OBJS): Add timevar.o.
...
hangeLog:
* Makefile.in (OBJS): Add timevar.o.
(toplev.o): Depend on timevar.h.
(ggc-simple.o): Likewise.
(ggc-page.o): Likewise.
(timevar.o): New rule.
(timevar.h): New rule.
* timevar.h: New file.
* timevar.c: Likewise.
* timevar.def: Likewise.
* toplev.h (gc_time, parse_time, varconst_time): Remove.
* toplev.c: Use timevar_push and timevar_pop instead of TIMEVAR
throughout.
(TIMEVAR): Remove macro.
(gc_time, parse_time, varconst_time, integration_time, jump_time,
cse_time, gcse_time, loop_time, cse2_time, branch_prob_time,
flow_time, combine_time, regmove_time, sched_time,
local_alloc_time, global_alloc_time, flow2_time, peephole2_time,
sched2_time, dbr_sched_time, reorder_blocks_time,
rename_registers_time, shorten_branch_time, stack_reg_time,
to_ssa_time, from_ssa_time, final_time, symout_time, dump_time,
all_time): Remove.
(compile_file): Don't initialize time variables. Call
init_timevar and start TV_TOTAL timer. Call timevar_print instead
of many calls to print_time.
(rest_of_compilation): Add timing for reload_cse_regs.
(get_run_time): Removed to timevar.c.
(print_time): Likewise.
(get_run_time): Implement using TV_TOTAL time variable.
(print_time): Get total run time from get_run_time.
* ggc-page.c (ggc_collect): Push and pop TV_GC instead of
computing elapsed time explicitly.
* ggc-simple.c (ggc_collect): Likewise.
(gc_time): Remove declaration.
cp/ChangeLog:
* lex.c (my_get_run_time): Remove.
(init_filename_times): Use get_run_time instead of my_get_run_time.
(check_newline): Likewise.
(dump_time_statistics): Likewise.
* decl2.c (finish_file): Push and pop timevar TV_VARCONST instead
of computing elapsed time explicitly.
From-SVN: r33496
2000-04-28 00:59:40 +00:00
Tom Tromey
e815887f4d
re GNATS gcj/2 (Method call on null instance should throw NullPointerException)
...
Fix for PR gcj/2:
* expr.c (expand_invoke): Generate check to see if object pointer
is null in nonvirtual invocation case.
* java-tree.h (soft_nullpointer_node): Declare.
* decl.c (soft_nullpointer_node): New global.
(init_decl_processing): Initialize soft_nullpointer_node.
* parse.y (invocation_mode): Return INVOKE_NONVIRTUAL for `final'
or `private' methods.
(patch_invoke): Handle INVOKE_NONVIRTUAL case.
From-SVN: r33495
2000-04-28 00:21:06 +00:00
Jonathan Larmour
db6a1df0e0
* index-prop: Fix occasional problem when using cvs diff -p
...
From-SVN: r33494
2000-04-27 18:15:34 -06:00
Alexandre Petit-Bianco
ad81223cbf
decl.c (complete_start_java_method): Don't call _Jv_InitClass from <clinit>
...
Wed Apr 26 14:29:33 2000 Alexandre Petit-Bianco <apbianco@cygnus.com>
* decl.c (complete_start_java_method): Don't call _Jv_InitClass
from <clinit>
From-SVN: r33493
2000-04-27 16:25:18 -07:00
Tom Tromey
40f4ae3280
Runtime support for PR gcj/2:
...
* prims.cc (_Jv_ThrowNullPointerException): New function.
* include/jvm.h (_Jv_ThrowNullPointerException): Declare.
From-SVN: r33492
2000-04-27 23:13:31 +00:00
Mark Mitchell
739fb04929
calls.c (combine_pending_stack_adjustment_and_call): New function.
...
* calls.c (combine_pending_stack_adjustment_and_call): New function.
(expand_call): Use it.
From-SVN: r33491
2000-04-27 16:44:23 +00:00
Jan Hubicka
d582732678
Jan Hubicka <jh@suse.cz>
...
* flow.c (mark_set_1): Handle MEMs in ZERO_EXTRACT/SIGN_EXTRACT
fields.
From-SVN: r33490
2000-04-27 09:28:56 -07:00
Alexandre Oliva
b340d2b8de
mn10300.md (movhi): Simplify.
...
* config/mn10300/mn10300.md (movhi): Simplify. Prefer data
registers.
From-SVN: r33489
2000-04-27 15:49:20 +00:00
Jan Hubicka
1b513b7711
* function.c (epilogue_done): Pass whole insn to record_insns.
...
From-SVN: r33488
2000-04-27 15:34:16 +00:00
Jan Hubicka
8e02c4d08d
hashtab.c (htab_expand): Add prototype.
...
* hashtab.c (htab_expand): Add prototype.
(find_empty_slot_for_expand): Likewise.
From-SVN: r33487
2000-04-27 14:59:55 +00:00
Jan Hubicka
01329426bf
cse.c (CSE_ADDRESS_COST): Remove.
...
* cse.c (CSE_ADDRESS_COST): Remove.
(find_best_addr): Add new parameter "MODE", use address_cost instead
of CSE_ADDRESS_COST
(address_cost): New.
(fold_rtx): Update call of find_best_addr.
* rtl.h (address_cost): Declare.
* loop.c (general_induction_var): Add new parameter "MODE", use
address_cost instead of ADDRESS_COST
(init_loop): Use address_cost instead of ADDRESS_COST.
(check_insn_for_givs): Update call of general_induction_var.
(find_mem_givs): Likewise.
(consec_sets_giv): Likewise.
* config/i386/i386.h (ADDRESS_COST): Call ix86_address_cost.
* i386.c (ix86_address_cost): New.
* i386-protos.h (ix86_address_cost): Declare.
From-SVN: r33486
2000-04-27 14:56:47 +00:00
Alexandre Oliva
5e849f6e86
mn10300.md (movqi): Simplify.
...
* config/mn10300/mn10300.md (movqi): Simplify. Prefer data
registers.
From-SVN: r33485
2000-04-27 14:46:55 +00:00
Jan Hubicka
2a5b96fdb1
expr.c (store_expr): Use clear_storage instead of direct memset libcall.
...
* expr.c (store_expr): Use clear_storage instead of direct memset
libcall.
From-SVN: r33484
2000-04-27 14:13:48 +00:00
Jan Hubicka
6d84422547
20000427-1.c: New test for loop hoisting code and hard registers.
...
* compile/20000427-1.c: New test for loop hoisting code
and hard registers.
From-SVN: r33483
2000-04-27 14:05:09 +00:00
Alexandre Oliva
d82704fbb1
mn10300.c (mn10300_address_cost): Test ASHIFT, AND and LABEL_REF.
...
* config/mn10300/mn10300.c (mn10300_address_cost): Test
ASHIFT, AND and LABEL_REF.
From-SVN: r33482
2000-04-27 13:39:09 +00:00
Jan Hubicka
1aaef9c19a
* invoke.texi (-foptimize-sibling-calls): Fix.
...
From-SVN: r33481
2000-04-27 13:14:10 +00:00
Jan Hubicka
28b6b9b2d3
* loop.c (load_mems) Don't use hard registers for the hoisting.
...
* unroll.c (unroll_loop): Avoid overflow in the n_iterations
calculation; rename const_equiv array in the preconditioning code
from loop_unroll to loop_unroll_precondition
From-SVN: r33480
2000-04-27 12:57:35 +00:00
Bryce McKinlay
af4464eb46
prims.cc (_Jv_NewObjectArray): Fix typo.
...
2000-04-27 Bryce McKinlay <bryce@albatross.co.nz>
* prims.cc (_Jv_NewObjectArray): Fix typo.
From-SVN: r33479
2000-04-27 12:47:13 +01:00
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