OSDN Git Service

For PR java/2812:
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 242c491..87d56d4 100644 (file)
@@ -1,3 +1,562 @@
+2001-07-18  Tom Tromey  <tromey@redhat.com>
+
+       For PR java/2812:
+       * configure: Rebuilt.
+       * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
+       instead.
+       * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
+
+Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
+                              Jan Hubicka  <jh@suse.cz>
+
+       * flow.c (redirect_edge_and_branch): Bail out on complex edges.
+       (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
+       * jump.c (mark_jump_label): Do not forward branches.
+
+Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * cse.c (delete_trivially_dead_insns): Delete the libcall block
+       when return value is unused.
+
+Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
+
+Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
+
+       * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
+       on error.  We can't blindly return the result of
+       pthread_mutex_trylock because it returns a positive number on
+       error, while we must return -1 on error.
+       (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
+       fixes.  
+       Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
+
+2001-07-18  Andreas Jaeger  <aj@suse.de>
+
+       * integrate.c (output_inline_function): Correct type of debug_hooks.
+
+2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * combine.c (combine_simplify_rtx): DIV can be treated
+       associatively for floats if unsafe math optimisations are enabled.
+
+2001-07-17  Richard Henderson  <rth@redhat.com>
+
+       * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
+
+2001-07-17  Richard Henderson  <rth@redhat.com>
+
+       * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
+       don't force the function address into a register.
+       (expand_call, emit_library_call_value_1): Update callers.
+       * builtins.c (expand_builtin_apply): Likewise.
+       * expr.h (prepare_call_address): Update decl.
+
+2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
+
+       * config.gcc: For *-*-chorusos triplet, get chorus.h file from
+       config directory.
+       * config/i386/chorus.h: Move up.
+       * config/sparc/chorus.h: Likewise.
+       * config/rs6000/chorus.h: Likewise.
+       * config/chorus.h: Moved here.
+
+2001-07-17  Andreas Schwab  <schwab@suse.de>
+
+       * configure.in  (assembler eh_frame optimization): Handle big
+       endian.
+       * configure: Regenerated.
+
+Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * expr.c (epxand_expr): Convert divisions into multiplications by
+       reciprocals if -ffast-math.
+
+2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * dbxout.c (dbxout_really_begin_function): Rename to
+       dbxout_begin_function.
+       (dbx_debug_hooks, xcoff_debug_hooks): Update.
+       (dbxout_begin_function): Remove.
+       (dbxout_function): Update.
+       (dbxout_source_line): Update prototype.
+       * dbxout.h (dbxout_begin_function): Remove.
+       * debug.c (do_nothing_debug_hooks): Update.
+       (debug_nothing_tree): Update.
+       (debug_nothing_charstar_rtx): Remove.
+       * debug.h (union tree_node): Declare.
+       (struct rtx_def): Remove.
+       (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
+       begin_function.  Change source_line prototype.
+       (debug_nothing_tree): New.
+       (debug_nothing_charstar_rtx): Delete.
+       (dwarf2out_begin_prologue): Moved from ...
+       * tree.h: ... here.
+       * dwarf2out.c (dwarf2_debug_hooks): Update.
+       (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
+       debug info, call dwarf2out_source_line.
+       (dwarf2out_souce_line): Update prototype.
+       * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
+       Change prototype, make static.
+       (dwarfout_source_line): Update prototype.
+       (dwarf_debug_hooks): Update.
+       * dwarfout.h (dwarfout_begin_function): Remove.
+       * final.c (final_start_function, final_scan_insn): Use appropriate
+       debug hooks, update to use notice_source_line.
+       (output_source_line): Rename notice_source_line.  Don't call the
+       source_line debug hook.
+       * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
+       make static, update prototype.
+       (sdbout_mark_begin_function): Rename sdbout_begin_function, update
+       prototype.
+       (sdbout_end_prologue): New.
+       (sdbout_source_line): Update prototype.
+       (sdbout_debug_hooks): Update.
+       (sdbout_symbol): Remove unused var.
+       * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
+       Delete.
+       * varasm.c: Include debug.h.
+       (assemble_start_function): Use begin_function debug_hook.
+       * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
+       update with prototype.
+       (xcoffout_source_line): Update prototype.
+       * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
+       update prototype.
+       (xcoffout_source_line): Update prototype.
+
+2001-07-17  Richard Henderson  <rth@redhat.com>
+
+       * c-typeck.c (build_binary_op): Do not shorten unsigned
+       right shift after sign extension.
+
+Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * combine.c (combine_simplify_rtx): Attempt to simplify
+       a*(b/c) as (a*b)/c for floats in unsafe_math mode.
+
+       * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
+       (simplify_binary_operation, simplify_unary_operation,
+        simplify_relational_operation): Use it.
+
+       * combine.c (combine_simplify_rtx): Don't do associative law
+       on divisions; allow associative law on floats.
+
+2001-07-17  H.J. Lu <hjl@gnu.org>
+           Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+       * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
+       ASM_OUTPUT_WEAK_ALIAS are defined.
+       * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
+       * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
+       Moved ...
+       * config/mips/iris5.h: ... here.
+       (HANDLE_SYSV_PRAGMA): Defined as 1.
+       * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
+       * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
+       symbol.
+
+2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-parse.in (all_prefix_attributes): New variable.
+       (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
+       (maybe_resetattrs): New production.
+       (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
+       maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
+       notype_initdcl, nested_function, notype_nested_function,
+       component_decl, components, components_notype,
+       component_declarator, component_notype_declarator,
+       absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
+       ivars, mydecl, myparm): Update.  Avoid prefix attributes just
+       after a comma being applied to more than one declarator.
+       * doc/extend.texi (Attribute Syntax): Update.  Remove
+       documentation of bugs that are no longer present.
+
+2001-07-13  Eric Christopher  <echristo@redhat.com>
+
+       * config/mips/mips.h: Change TUNE_MIPS* options to use
+       mips_tune.
+       (EXTRA_SPECS): Add cc1_cpu_spec.
+       * config/mips/mips.md (muldf3): Fix typo.
+
+2001-07-16  Richard Henderson  <rth@redhat.com>
+
+       * config/m68k/m68k.c: Include expr.h and reload.h.
+       (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
+       [general int]: Use HOST_WIDE_INT_PRINT_DEC.
+
+2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
+           Richard Henderson  <rth@redhat.com>
+
+       * 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.
+
+2001-07-17  Andreas Jaeger  <aj@suse.de>
+
+       * 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.
+
+2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
+       atexit declaration in stdlib.h.
+
+2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
+
+       * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
+
+Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * 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.
+
+2001-07-16  Richard Henderson  <rth@redhat.com>
+
+       * regclass.c (init_reg_sets): Use only 32 bits per initializer
+       from int_reg_class_contents.
+
+2001-07-16  Richard Henderson  <rth@redhat.com>
+
+       * 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.
+
+Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
+
+       * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
+       gen_rtx_SET.
+
+2001-07-16  Steve Ellcey <sje@cup.hp.com>
+
+       * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
+       in if statement so we don't access undefined memory.
+
+2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
+
+       * 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.
+
+       * 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.
+
+2001-07-16  Andreas Jaeger  <aj@suse.de>
+
+       * 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.
+
+2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
+
+       * output.h (sdb_begin_function_line): Restore as an extern
+       variable.
+       * sdbout.c (sdb_begin_function_line): Make extern.
+
+2001-07-15  Richard Henderson  <rth@redhat.com>
+
+       * 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.
+
+Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * 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.
+
+Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * Makefile.in (integrate.o): Add debug.h.
+       * integrate.c (debug.h): Add.
+       (output_inline_function): Save, reset, and restore debug_hooks.
+
+2001-07-15  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
+       instead of COMPARE for the EQUIV expression.
+
+2001-07-15  Richard Henderson  <rth@redhat.com>
+
+       * 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.
+       * toplev.c (rest_of_compilation): Call it.
+
+2001-07-15  Richard Henderson  <rth@redhat.com>
+
+       * 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.
+
+Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * 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.
+
+2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
+       not 'machine'.
+       (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
+       (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
+
+2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * 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.
+
+2001-07-15  Richard Henderson  <rth@redhat.com>
+
+       * 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.
+
+2001-07-14  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.md: Use define_constants for unspec values.
+       Substitute throughout.
+
+2001-07-14  Tim Josling  <tej@melbpc.org.au>
+
+       * tree.def (EXPON_EXPR) remove. Never supported anyway.
+
+2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * pa.md: Remove unused constraints from define_split's.
+
+2001-04-14  Richard Henderson  <rth@redhat.com>
+
+       * ifcvt.c (find_cond_trap): Test for exit block.
+
+Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       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.
+
+2001-07-14  Richard Henderson  <rth@redhat.com>
+
+       * 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.
+
+2001-07-14  Alan Modra  <amodra@bigpond.net.au>
+
+       * 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.
+
+Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * 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.
+
+2001-07-13  H.J. Lu  (hjl@gnu.org)
+
+       * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
+       the correct patch.
+
+2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
+
+       Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
+
+2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-common.c (decl_attributes): Take a pointer to the node to
+       which attributes are to be attached, and a flags argument.
+       * c-common.h (enum attribute_flags): New.
+       (decl_attributes): Update prototype.
+       * c-decl.c (start_decl, push_parm_decl, finish_struct,
+       finish_enum, start_function): Update calls to decl_attributes.
+       * c-parse.in (component_declarator, component_notype_declarator,
+       label): Update calls to decl_attributes.
+
+Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
+
+       * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
+       * config/avr/avr.c (legitimate_address_p): Return value changed
+       from letter to register classes. For better debugging.
+
+2001-07-13  Kazu Hirata  <kazu@hxi.com>
+
+       * jump.c (reversed_comparison_code_parts): Fix comment typos.
+
 2001-07-13  H.J. Lu  (hjl@gnu.org)
 
        * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
 
 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
 
-        * config.gcc: Add configuration for s/390. 
-        * config/s390/s390.c: New. Subroutines for code generation.
+       * config.gcc: Add configuration for s/390.
+       * config/s390/s390.c: New. Subroutines for code generation.
        * config/s390/s390.h: New. Definitions for s/390.
        * config/s390/s390-protos.h: New. Prototypes.
        * config/s390/linux.h: New. Definitions for linux for s/390.
        * config/s390/linux64.h: New. Definitions for linux for zSeries.
-        * config/s390/t-linux: New. Makefile fragment.
-        * config/s390/s390.md: New. Machine description for s/390 and zSeries.
+       * config/s390/t-linux: New. Makefile fragment.
+       * config/s390/s390.md: New. Machine description for s/390 and zSeries.
        * config/s390/fixdfdi.h: New. Fix L_fix*di.
-       
+
 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
 
        * emit-rtl.c (try_split): Update mark_jump_label call.
@@ -111,12 +670,12 @@ Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
 
 2001-07-11  Timothy Wall  <twall@redhat.com>
 
-        * config.gcc: Add configuration for AIX5/IA64.
-        * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
-        * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
+       * config.gcc: Add configuration for AIX5/IA64.
+       * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
+       * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
        support prefix/suffix code.
-        * config/ia64/t-aix: New.  Makefile fragment.
-        * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
+       * config/ia64/t-aix: New.  Makefile fragment.
+       * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
 
 2001-07-11  Kazu Hirata  <kazu@hxi.com>
 
@@ -229,7 +788,7 @@ Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
        * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
        * output.h (cleanup_cfg): Update prototype.
        * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
-       * sibcall.c (optimize_sibling_and_tail_recursive_call): Update 
+       * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
        cleanup_cfg call; kill missleading comment.
        * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
        * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
@@ -260,7 +819,7 @@ Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
 
 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
 
-       * stmt.c (parse_output_constraint): New function, split out 
+       * stmt.c (parse_output_constraint): New function, split out
        from ...
        (expand_asm_operands): ... here.  Use parse_output_constraint.
        * tree.h (parse_output_constraint): Declare it.
@@ -327,7 +886,7 @@ Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        * recog.c (offsettable_address_p): Handle LO_SUM case.
        * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
        instead of plus_constant.
-       
+
 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
 
        * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
@@ -394,7 +953,7 @@ Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
        .loc support.
 
        * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
-       (dump_file): Only pad the demangled name with spaces if the 
+       (dump_file): Only pad the demangled name with spaces if the
        mangled name was padded with spaces.
 
 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
@@ -1121,8 +1680,8 @@ Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
 
 2001-07-05  H.J. Lu  (hjl@gnu.org)
 
-        * config/mips/mips.c (mips_parse_cpu): New function to parse
-        -march=*/-mcpu=*.
+       * config/mips/mips.c (mips_parse_cpu): New function to parse
+       -march=*/-mcpu=*.
 
 2001-07-05  Jim Wilson  <wilson@redhat.com>
 
@@ -1208,7 +1767,7 @@ Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
 
        * cppinit.c (remove_dup_dirs): Inform if a system include
-        directory is being reordered.
+       directory is being reordered.
        * doc/invoke.texi (Directory Options): GCC warns if you hide a
        system include.
        * doc/cpp.texi (Search Paths): Likewise.
@@ -1482,8 +2041,8 @@ Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
 
-        * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
-        * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
+       * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
+       * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
 
 2001-07-02  Zack Weinberg  <zackw@stanford.edu>