+2000-04-28 Richard Henderson <rth@cygnus.com>
+
+ * toplev.c (rest_of_type_compilation): Fix sdb TIMEVAR typo.
+
+2000-04-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * timevar.c (init_timevar): DeANSIfy function definition.
+
+2000-04-27 Alex Samuel <samuel@codesourcery.com>
+
+ * Makefile.in (timevar.o): Depend on flags.h.
+ * timevar.c (unused_stack_instances): New variable.
+ (timevar_push): Take a timevar_stack_def from
+ unused_stack_instances if available.
+ (timevar_pop): Push the popped timevar_stack_def onto
+ unused_stack_instances.
+ (TIMEVAR_ENABLE): New macro.
+ (timevar_def): Make standalone a 1-bit field. Add field used.
+ (get_time): Rename parameter to now. Return after clearing it if
+ not TIMEVAR_ENABLE.
+ (init_timevar): Do nothing if not TIMEVAR_ENABLE.
+ (timevar_pop): Likewise.
+ (timevar_stop): Likewise.
+ (timevar_push): Likewise. Mark the timing variable as used.
+ (timevar_start): Likewise.
+ (timevar_print): Do nothing if not TIMEVAR_ENABLE. Don't print
+ timevars that were never used.
+
+2000-04-27 Mark Mitchell <mark@codesourcery.com>
+
+ * c-commom.c (c_apply_type_quals_to_decl): REFERENCE_TYPES are
+ always TREE_READONLY.
+
+2000-04-27 Ulrich Drepper <drepper@cygnus.com>
+
+ * i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Generate mem reference
+ for call instruction with mode QImode.
+
+2000-04-27 Alex Samuel <samuel@codesourcery.com>
+
+ * 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.
+
+2000-04-27 Mark Mitchell <mark@codesourcery.com>
+
+ * calls.c (combine_pending_stack_adjustment_and_call): New function.
+ (expand_call): Use it.
+
+2000-04-27 Jan Hubicka <jh@suse.cz>
+
+ * flow.c (mark_set_1): Handle MEMs in ZERO_EXTRACT/SIGN_EXTRACT
+ fields.
+
+Thu Apr 27 12:47:00 2000 Alexandre Oliva <aoliva@cygnus.com>
+
+ * config/mn10300/mn10300.md (movhi): Simplify. Prefer data
+ registers.
+
+Thu Apr 27 17:33:05 MET DST 2000 Jan Hubicka <jh@suse.cz>
+
+ * function.c (epilogue_done): Pass whole insn to record_insns.
+
+Thu Apr 27 16:55:28 MET DST 2000 Jan Hubicka <jh@suse.cz>
+
+ * 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.
+
+Thu Apr 27 11:45:16 2000 Alexandre Oliva <aoliva@cygnus.com>
+
+ * config/mn10300/mn10300.md (movqi): Simplify. Prefer data
+ registers.
+
+Thu Apr 27 16:11:00 MET DST 2000 Jan Hubicka <jh@suse.cz>
+
+ * expr.c (store_expr): Use clear_storage instead of direct memset
+ libcall.
+
+Thu Apr 27 10:36:51 2000 Alexandre Oliva <aoliva@cygnus.com>
+
+ * config/mn10300/mn10300.c (mn10300_address_cost): Test
+ ASHIFT, AND and LABEL_REF.
+
+Thu Apr 27 15:08:46 MET DST 2000 Jan Hubicka <jh@suse.cz>
+
+ * invoke.texi (-foptimize-sibling-calls): Fix.
+
+Thu Apr 27 14:54:22 MET DST 2000 Jan Hubicka <jh@suse.cz>
+
+ * 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
+
+2000-04-27 Richard Henderson <rth@cygnus.com>
+
+ * 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.
+
+2000-04-26 Richard Henderson <rth@cygnus.com>
+
+ * flow.c (allocate_reg_life_data): Set max_regno here ...
+ (life_analysis): ... not here.
+
+ * flow.c (calculate_global_regs_live): Force stack pointer
+ live at end.
+
+2000-04-26 Richard Henderson <rth@cygnus.com>
+
+ * 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.
+
+2000-04-26 Richard Henderson <rth@cygnus.com>
+
+ * 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.
+
+2000-04-26 Alex Samuel <samuel@codesourcery.com>
+
+ * invoke.texi: Document -fssa flag.
+
+2000-04-26 Richard Henderson <rth@cygnus.com>
+
+ * 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.
+
+2000-04-26 Richard Henderson <rth@cygnus.com>
+
+ * 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.
+
+2000-04-26 Richard Henderson <rth@cygnus.com>
+
+ * flow.c (tidy_fallthru_edge): Don't delete the jump when it's
+ a still-valid conditional jump.
+
+2000-04-26 Richard Henderson <rth@cygnus.com>
+
+ * 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.
+
+2000-04-26 Neil Booth <NeilB@earthling.net>
+
+ * cpplib.h: "~=" is not a single pp-token.
+ * cpplex.c: Correct commentary.
+
2000-04-26 Richard Henderson <rth@cygnus.com>
* flow.c (mark_set_1): New arguments code and flags; update all
2000-04-26 Andreas Jaeger <aj@suse.de>
- * extend.texi (Function Attributes): Fix description of pure
- attribute.
+ * extend.texi (Function Attributes): Fix description of pure
+ attribute.
2000-04-26 Jason Merrill <jason@casey.cygnus.com>
2000-04-25 Richard Henderson <rth@cygnus.com>
- * cse.c (cse_insn): Emit barrier after unconditional jump.
+ * cse.c (cse_insn): Emit barrier after unconditional jump.
* calls.c (expand_call): Disable tail call generation once
rtx_equal_function_value_matters is false.
2000-04-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * acconfig.h (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
+ * 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,
+ * 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.