+2001-07-30 H.J. Lu (hjl@gnu.org)
+
+ * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
+ (ASM_DECLARE_FUNCTION_SIZE): Likewise.
+ (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
+
+2001-07-30 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
+ as -mthumb-interwork when -mcpu=arm7 is specified.
+
+Mon Jul 30 17:44:43 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * predict.def (noreturn, loop branch, loop exit): Mark as first
+ match heuristics.
+
+Mon Jul 30 12:52:11 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * combine.c (try_combine): Avoid barrier after noop jumps.
+
+2001-07-29 Neil Booth <neil@cat.daikokuya.demon.co.uk>
+
+ * cpphash.h (struct cpp_reader): Remove import_warning.
+ * cpplib.c (skip_rest_of_line): Don't bother turning off
+ macro expansion.
+ (parse_include): Move include handling to...
+ (do_include_common): ... here. Move import warning from...
+ (do_import): ... here.
+ (do_pragma_poison): Don't do a callback for poison identifiers.
+ * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
+ * cppmain.c (setup_callbacks): Similarly.
+
+Sun Jul 29 23:26:50 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
+ handle multiple sets.
+ * except.c (sjlj_mark_call_sites): .... here.
+ * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
+
+Sun Jul 29 21:38:45 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ Suggested by Richard Henderson and Richard Kenner:
+ * combine.c (recog_for_combine): Use the fake recog
+ only if instruction does not match.
+ * rtl.h (NOOP_MOVE_INSN_CODE): New.
+ * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
+
+ * combine.c (try_combine): Discover noop jump as direct jump.
+
+2001-07-29 Daniel Berlin <dan@cgsoftware.com>
+
+ * df.c (df_rd_global_compute): Add successors to worklist, not
+ current item.
+ (df_ru_global_compute): Ditto.
+
+2001-07-27 Daniel Berlin <dan@cgsoftware.com>
+
+ * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
+ increment REG_N_SETS.
+
+2001-07-26 Daniel Berlin <dan@cgsoftware.com>
+
+ * sbitmap.h: New prototype for sbitmap_a_xor_b.
+
+ * sbitmap.c (sbitmap_a_xor_b): New function.
+ ifdef the basic block stuff on IN_GCC.
+
+2001-07-29 Neil Booth <neil@cat.daikokuya.demon.co.uk>
+
+ * cppexp.c (parse_defined): Always record the macro name.
+ (lex): Don't worry about identifiers, or special-case
+ CPP_NOT here.
+ (_cpp_parse_expr): Figure out at the end of the routine
+ whether we saw a valid !defined() expression.
+ * cppfiles.c (stack_include_file): Update for mi_valid.
+ (_cpp_pop_file_buffer): Similarly.
+ * cpplex.c (_cpp_lex_token): Similarly.
+ * cpphash.h (enum mi_state, enum mi_ind, mi_state,
+ mi_if_not_defined, mi_lexed): Remove.
+ (mi_valid): New.
+ * cpplib.c (do_if): Simplify.
+ (do_endif, push_conditional, _cpp_handle_directive): Update
+ for renaming of mi_state to mi_valid.
+doc:
+ * cpp.texi: Add index entries for digraphs, and add comment
+ that C++ refers to them as alternative tokens.
+
+Sun Jul 29 18:59:13 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * basic-block.h (CLEANUP_PRE_LOOP): New.
+ * except.c (finish_eh_generation): Update call of cleanup_cfg.
+ * sibcall.c (optimize_sibling_calls): Likewise.
+ * toplev.c (rest_of_compilation): Likewise.
+ * flow.c (try_forward_edges): Take argument MODE;
+ do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
+ (try_optimize_cfg): Update call of try_forward_edges.
+
+Sun Jul 29 18:59:56 CEST 2001 Roman Zippel <zippel@linux-m68k.org>
+ Jan Hubicka <jh@suse.cz>
+
+ * (validate_replace_rtx_1): Fix simplification of MINUS.
+
+2001-07-29 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ PR preprocessor/3669
+ * cppinit.c (init_dependency_output): Turn off dump requests
+ if sending dependencies to stdout.
+
+2001-07-28 Richard Henderson <rth@redhat.com>
+
+ * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
+ not optimizing.
+
+2001-07-28 Golubev I. N. <gin@mo.msk.ru>
+
+ * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
+
+2001-07-28 Kazu Hirata <kazu@hxi.com>
+
+ * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
+ is VAR_DECL first to prevent an ICE.
+
+2001-07-28 Richard Henderson <rth@redhat.com>
+
+ * varasm.c (immed_real_const_1): Don't elide special cases for
+ nested functions.
+ (clear_const_double_mem): Clear const_tiny_rtx too.
+
+2001-07-28 Richard Henderson <rth@redhat.com>
+
+ * dwarf2out.c (dw_val_class_offset): New.
+ (struct dw_ranges_struct, dw_ranges_ref): New.
+ (ranges_table, ranges_table_allocated): New.
+ (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
+ (add_AT_offset, add_ranges, output_ranges): New.
+ (print_die, output_die): Handle dw_val_class_offset.
+ (attr_checksum, size_of_die, value_format): Likewise.
+ (gen_lexical_block_die): Handle non-contiguous blocks.
+ (gen_block_die): Likewise.
+ (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
+ if needed. Dump the ranges table.
+ * final.c (final_start_function): Remove unnecessary notes and
+ rebuild the block tree before numbering the blocks.
+ * function.c (reorder_blocks_0): Walk the existing block tree
+ to unmark all blocks.
+ (reorder_blocks_1): Create block fragments when duplicate block
+ notes are seen.
+ (reorder_fix_fragments): New.
+ (reorder_blocks): Call it.
+ * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
+
+2001-07-28 Richard Henderson <rth@redhat.com>
+
+ * emit-rtl.c (adjust_address): Make a copy of the memory address.
+
+2001-07-28 Richard Henderson <rth@redhat.com>
+
+ * flow.c (add_to_mem_set_list): New function.
+ (init_propagate_block_info): Use it.
+ (mark_set_1): Likewise.
+ (insn_dead_p): Canonicalize memory address for dead store
+ comparison. Allow wider mode stores to kill narrower mode stores.
+ (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
+ (invalidate_mems_from_set): Don't handle MEMs.
+
+2001-07-28 Kazu Hirata <kazu@hxi.com>
+
+ * config/h8300/h8300.h: Fix formatting.
+
+Sat Jul 28 23:35:22 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * basic-block.h (EDGE_FREQUENCY): New macro.
+ * bb-reorder (fixup_reorder_chain): Set counts and frequencies
+ for new BB/edges.
+ * flow.c (find_sub_basic_blocks): Likewise.
+ (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
+ (redirect_edge_and_branch): Use EDGE_FREQUENCY.
+
+ * predict.c (DEF_PREDICTOR): New argument FLAGS.
+ (HITRATE): New macro.
+ (PRED_FLAG_FIRST_MATCH): New constant.
+ (predictor_info): New field flgags.
+ (combine_predictions_for_insn): Use DS theory to combine
+ probabilities; set the edge probabilities when finished.
+ (estimate_probability): Avoid duplicated matches
+ of LOOP_BRANCH heuristics for nested loops; update comment.
+ * predict.def: Add flags for each prediction, set probabilities
+ according to B&L paper.
+ * predict.h (DEF_PREDICTOR): New argument FLAGS.
+
+ * profile.c (compute_branch_probabilities): Cleanup way the edge
+ probabilities are computed and REG_BR_PROB notes are dropped; if
+ values does not match, emit error.
+ (init_branch_prob): Do error instead of warning when profile driven
+ feedback is missing or corrupt.
+
+2001-07-27 DJ Delorie <dj@redhat.com>
+
+ * ifcvt.c (noce_get_alt_condition): If the condition is a compare
+ against a constant, try to adjust the compare to have the desired
+ constant in it so that min/max optimizations happen more often.
+
+Fri Jul 27 17:53:00 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * flow.c (last_loop_beg_note): New function.
+ (redirect_edge_and_branch): Use it.
+ (split_edge): Likewise.
+
+ * alias.c (loop_p): Avoid uninitialized memory access.
+
+ * flow.c (try_forward_edges): Avoid accessing freed memory.
+
+ * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
+ variable access.
+
+2001-07-27 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/install.texi (Configuration): Properly link the host
+ specific instructions also when generating HTML.
+
+Fri Jul 27 00:33:35 EDT 2001 John Wehle (john@feith.com)
+
+ * flow.c (redirect_edge_and_branch_force): Test
+ target->global_live_at_start.
+
+2001-07-26 Richard Henderson <rth@redhat.com>
+
+ * simplify-rtx.c (avoid_constant_pool_reference): Export.
+ * rtl.h (avoid_constant_pool_reference): Declare it.
+ * dwarf2out.c (add_location_or_const_value_attribute): Use it.
+ (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
+
+Thu Jul 26 22:30:22 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * rtl.h (cleanup_barriers): Declare.
+ * jump.c (cleanup_barriers): New function.
+ * toplev.c (rest_of_compilation): Call cleanup_barriers
+ before loop optimizer and after bb_reorder.
+
+ * flow.c (back_edge_of_syntactic_loop_p): New.
+ (split_edge): Use it.
+
+2001-07-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * glimits.h (_MACH_MACHLIMITS_H_): Delete.
+
+Thu Jul 26 22:22:21 2001 Denis Chertykov <denisc@overta.ru>
+
+ * cse.c (cse_process_notes): Replace any registers if the address
+ remains valid.
+
+Thu Jul 26 14:04:03 EDT 2001 John Wehle (john@feith.com)
+
+ * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
+ (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
+ (propagate_block): Update prototype.
+ * flow.c (update_life_info): Simplify the CFG and
+ recalculate the global regs which are alive when
+ removing dead code during a global update.
+ (propagate_block): Return non-zero if an INSN is
+ deleted.
+
+2001-07-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * Makefile.in (LIBICONV): Define.
+
2001-07-26 Catherine Moore <clm@redhat.com>
* config/v850/v850.h (ENCODE_SECTION_INFO): Change order