+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
+ of conditional to avoid tree checking errors.
+
+2001-07-26 Kazu Hirata <kazu@hxi.com>
+
+ * regmove.c (regmove_optimize): Don't replace a reg with
+ another reg of a different mode.
+
+2001-07-26 Andrew MacLeod <amacleod@redhat.com>
+
+ * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
+ limit length of dependancy flush list.
+ * params.h (MAX_PENDING_LIST_LENGTH): Define.
+ * sched-int.h (struct deps): Add pending_flush_length field.
+ * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
+ has 1 element in it.
+ (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
+ (sched_analyze): After a jump, if the pending memory flush list is too
+ large, flush the pending lists.
+ (init_deps): Initialize pending_flush_length to 0.
+ * doc/invoke.texi (max_pending_list_length): Document parameter.
+
+2001-07-26 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
+ * dbxout.c (dbxout_global_decl): Move outside #ifdef.
+ * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
+
+2001-07-26 Neil Booth <neil@cat.daikokuya.demon.co.uk>
+
+ * cpphash.h (struct_lexer_state): Delete was_skipping.
+ Move skipping here from struct cpp_reader.
+ * cpplex.c (parse_identifier): Update.
+ (_cpp_lex_token): Don't skip tokens in a directive.
+ * cpplib.c (struct if_stack): Update.
+ (start_directive, end_directive): Don't change skipping state.
+ (_cpp_handle_directive): Update.
+ (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
+ (do_else, do_endif): Update; only check for excess tokens if not
+ in a skipped conditional block.
+ (push_conditional): Update for new struct if_stack.
+
+2001-07-26 Graham Stott <grahams@redhat.com>
+
+ * function.c (locate_and_pad_parm): Also pad initial offset
+ so that the total argument size also includes the padding.
+
+2001-07-26 Graham Stott <grahams@redhat.com>
+
+ * gensupport.c (alter_output_for_insn): Correct enable checking failure
+ change XSTR to XTMPL.
+
+ (process_one_cond_exec): Likewise
+
+2001-07-25 Richard Henderson <rth@redhat.com>
+
+ * varasm.c (assemble_variable): Create DECL_RTL before setting
+ TREE_ASM_WRITTEN.
+
+Thu Jul 26 00:19:30 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * predict.c (estimate_probability): Avoid duplicated predictions.
+
+ * loop.c (find_and_verify_loops): Grok multiple barriers.
+
+Wed Jul 25 18:00:05 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
+
+ * dbxout.c: Consistently use putc instead of fputc.
+ (print_wide_int): New function; call instead of direct fprintf.
+ (dbxout_type_index): Adjust calls of CHARS to be more accurate.
+ (dbxout_type_fields, dbxout_type_method_1): Likewise.
+ (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
+ (print_int_cst_octal): Likewise.
+ (print_octal): Show we wrote characters.
+ (dbxout_type): Set have_used_extensions in more places.
+
+2001-07-25 Catherine Moore <clm@redhat.com>
+
+ * config/v850/v850.c (v850_va_arg): Use addr
+ instead of valist to build incr.
+
+Wed Jul 25 22:48:59 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * flow.c (delete_dead_jumptables): New function.
+ (life_analyzis): Call it.
+ * bb-reorder.c (skip_insns_after_block): Handle contradictory
+ sequences.
+
+2001-07-25 Richard Henderson <rth@redhat.com>
+
+ * except.c (reachable_handlers): Handle a region being removed
+ out from under a RESX.
+
+2001-07-25 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (alpha_emit_conditional_move): Always
+ swap GE/GT if it is an fp comparison.
+
+2001-07-25 Andrew Haley <aph@cambridge.redhat.com>
+
+ * alias.c (rtx_equal_for_memref_p): Allow strings as types in
+ operands.
+
+Wed Jul 25 08:25:01 2001 Jeffrey A Law (law@cygnus.com)
+
+ * ssa.c (rename_insn_1): Do not wrap an assignment to a
+ paradoxical SUBREG inside a SEQUENCE. Fix minor formatting
+ glitch.
+
+ * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
+ throw an exception.
+ (visit_expression): When attempting to simplify an expression,
+ retrieve any modes for arguments before they are simplified
+ to constants.
+
+2001-07-25 Andrew MacLeod <amacleod@redhat.com>
+ Janis Johnson <janis@us.ibm.com>
+
+ * stmt.c (expand_goto): A nonlocal goto can be a call too.
+ * builtins.c (expand_builtin_longjmp): Reverse label and static chain
+ pointer parameters to match documented usage of nonlocal_goto.
+ * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
+ parameters to their correct order.
+ * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
+ parameters to their correct order.
+
+2001-07-25 Andrew MacLeod <amacleod@redhat.com>
+
+ * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
+
+2001-07-25 Jan Hubicka <jh@suse.cz>
+ Richard Henderson <rth@redhat.com>
+
+ * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
+ the sequence.
+ (make_edges): New argument update_p; populate the edge cache if set.
+ (find_basic_blocks): Update make_edges invocation.
+
+2001-07-24 Joel Sherrill <joel@OARcorp.com>
+
+ * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
+
+2001-07-24 Joel Sherrill <joel@OARcorp.com>
+
+ * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
+ -Acpu and -Amachine.h.
+ * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
+ Corrected header to say ELF not a.out.
+ * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
+ when given -msoft-float.
+
+2001-07-24 Joel Sherrill <joel@OARcorp.com>
+
+ * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
+ extra multilib parts like arm-elf.
+ (i960-*-coff*, i960-*-rtems): Should not use collect2.
+ (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
+ crtfini.o as extra multilib parts.
+
+2001-07-24 Joel Sherrill <joel@OARcorp.com>
+
+ * configure.in: Add rtems as a supported thread model.
+ * gthr-rtems.h: Add missing entry point __gthread_active_p.
+ * configure: Rebuilt.
+
+2001-07-24 Lars Brinkhoff <lars@nocrew.org>
+
+ * stor-layout.c (get_mode_alignment): make it work when
+ BITS_PER_UNIT is not a power of two.
+ * builtins.c (get_pointer_alignment): Likewise.
+
+2001-07-24 Richard Henderson <rth@redhat.com>
+
+ * simplify-rtx.c (avoid_constant_pool_reference): Coerce
+ the retrieved constant into the expected mode.
+
Wed Jul 25 01:41:27 CEST 2001 Jan Hubicka <jh@suse.cz>
* flow.c (try_simplify_condjump): Avoid duplicated edges.
2001-07-18 Andrew Haley <aph@cambridge.redhat.com>
- * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
- (ashlsi3_n splitter): Likewise.
- (lshrsi3_n splitter): Likewise.
+ * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
+ (ashlsi3_n splitter): Likewise.
+ (lshrsi3_n splitter): Likewise.
- (GOTaddr2picreg): Make const SImode.
- (sym_label2reg): Likewise.
- (symGOT2reg): Likewise.
- (symGOTOFF2reg) Likewise.
+ (GOTaddr2picreg): Make const SImode.
+ (sym_label2reg): Likewise.
+ (symGOT2reg): Likewise.
+ (symGOTOFF2reg) Likewise.
- (casesi_worker_0): Make unspec SImode.
+ (casesi_worker_0): Make unspec SImode.
2001-07-18 Andrew Haley <aph@cambridge.redhat.com>
- * config/sh/sh.c (barrier_align): Check that an operand really is
- an insn before extracting its INSN_CODE.
+ * config/sh/sh.c (barrier_align): Check that an operand really is
+ an insn before extracting its INSN_CODE.
2001-07-24 Andrew Haley <aph@cambridge.redhat.com>
2001-07-13 Andrew Haley <aph@redhat.com>
- * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
- * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
- * config/sh/sh.c (sh_can_redirect_branch): New function.
- * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
- * reorg.c (steal_delay_list_from_target): Use
- MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
+ * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
+ * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
+ * config/sh/sh.c (sh_can_redirect_branch): New function.
+ * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
+ * reorg.c (steal_delay_list_from_target): Use
+ MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
Mon Jul 23 17:20:18 CEST 2001 Jan Hubicka <jh@suse.cz>