OSDN Git Service

* Makefile.in (final.o): Depend on BASIC_BLOCK_H.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 9c7525d..d5ff167 100644 (file)
@@ -1,3 +1,607 @@
+2000-05-12  Richard Henderson  <rth@cygnus.com>
+
+       * Makefile.in (final.o): Depend on BASIC_BLOCK_H.
+       * final.c (final_end_function): Use app_disable.  Rearrange note
+       handling into a switch.  Emit deleted labels.
+       (output_asm_label): Generate label strings for deleted labels.
+       * flow.c (tail_recursion_label_list): New.
+       (find_basic_blocks_1): Set label_value_list directly.  Collect list
+       of tail recursion labels from call_placeholders.  Don't add deleted
+       labels to the label value list.
+       (cleanup_cfg): Use free_EXPR_LIST_list.
+       (flow_delete_insn_chain): Turn non-removable labels into notes.
+       (flow_delete_block): Don't disable deleting the block because of
+       a non-removable label.
+       (tail_recursion_label_p): New.
+       (merge_blocks_move_predecessor_nojumps): Don't disable the merge
+       because of a label.
+       (merge_blocks_move_successor_nojumps): Likewise.  Also move a
+       jump table.
+       (merge_blocks): Disable a merge because of tail recursion labels.
+       * ifcvt.c (merge_if_block): Don't disable a merge because of a label.
+       Use a more accurate measure of not merging the join block.
+       (find_if_block): Don't disable conversion because of a label.
+       (find_if_case_1, find_if_case_2): Likewise.
+       * jump.c (duplicate_loop_exit_test): Preserve the kind of list
+       element when copying.
+       (squeeze_notes): Also leave EH notes.
+       (mark_jump_label): Ignore deleted labels.  Use an INSN_LIST for
+       REG_LABEL notes.
+       (delete_insn): Preserve LABEL_NAME in NOTE_SOURCE_FILE when
+       deleting a label.
+       * print-rtl.c (print_rtx): Print NOTE_SOURCE_FILE for
+       NOTE_INSN_DELETED_LABEL.  Print `[# deleted]' for a label_ref
+       referring to a deleted label.  Convert tail handling to a switch.
+       * rtl.def (CODE_LABEL): Rearrange elements to be compatible with NOTE
+       for NOTE_INSN_DELETED_LABEL.
+       (NOTE): Fix commentary.
+       * rtl.h (REG_LABEL): Update commentary wrt INSN_LIST.
+       (REG_CC_SETTER, REG_CC_USER, REG_LIBCALL): Likewise.
+       (CODE_LABEL_NUMBER, LABEL_NAME): Update index.
+       (LABEL_NUSES, LABEL_REFS): Likewise.
+       * unroll.c (copy_loop_body): Don't copy NOTE_INSN_DELETED_LABEL.
+
+2000-05-12  Zack Weinberg <zack@wolery.cumb.org>
+
+        * fixinc/fixfixes.c (IO_use_fix, IO_defn_fix, CTRL_use_fix,
+        CTRL_defn_fix): Delete.
+        (fix_char_macro_defines, fix_char_macro_uses): Rename to
+        char_macro_def_fix and char_macro_use_fix, respectively.  Put
+        them into the FIXUP_TABLE.  Get the string to search for from
+        a c_fix_arg.
+
+        (format_write): New function.
+        (format_fix): Use it.
+
+        (FIX_PROC_HEAD): Constify text parameter.
+        (machine_name_fix): Constify all char *s.
+        * fixtests.c (skip_quote): Remove double static.
+
+        * inclhack.def (io_def_quotes, io_use_quotes, ctrl_def_quotes,
+        ctrl_use_quotes): Update for new scheme.
+        * fixincl.x: Regenerate.
+
+2000-05-12  Alexandre Oliva  <aoliva@cygnus.com>
+
+       * config/mn10300/mn10300.h (PREFERRED_DEBUGGING_TYPE): Redefine as
+       DWARF2_DEBUG.
+       (DWARF2_ASM_LINE_DEBUG_INFO): Define.
+       (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
+
+2000-05-11  Richard Henderson  <rth@cygnus.com>
+
+       * calls.c: Revert both 05-09 patches.
+
+2000-05-11  Alexandre Oliva  <aoliva@cygnus.com>
+
+       * config/mn10300/mn10300.c (print_operand): Print FP constants in
+       hexadecimal.
+       * config/mn10300/mn10300.md (movsf, movdf): Use the `F' constraint
+       for FP values.
+
+       * mklibgcc.in (EQ): Define it to an equal sign in the Makefile,
+       and replace any occurrences of `=' in multilib dirs with `$(EQ)'.
+
+2000-05-11  Jason Merrill  <jason@casey.cygnus.com>
+
+       * fixinc/fixincl.c (run_compiles): Don't crash on null pz_machine.
+
+2000-05-11  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * fixinc/fixfixes.c, fixinc/fixtests.c: Update commentary.
+
+Thu May 11 22:28:05 2000  Denis Chertykov  <denisc@overta.ru>
+
+       * config/avr/avr-protos.c (jump_over_one_insn_p): New declaration.
+       * config/avr/avr.c (jump_over_one_insn_p): New function.
+       * config/avr/avr.md: New peepholes added. Output test and
+       conditional jump to "sbrc" or "sbrs" command.
+
+2000-05-11  Mark Elbrecht  <snowball3@bigfoot.com>
+
+       * cppmain.c (main): Use IS_DIR_SEPARATOR.
+
+2000-05-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * except.c (find_exception_handler_labels_1): New function.
+       (find_exception_handler_labels): Split into two functions, dive
+       into CALL_PLACEHOLDERs when looking for exception handler labels.
+
+2000-05-11 Stan Cox <scox@cygnus.com>
+
+       * regrename.c (replace_reg_in_block): Improve REG_DEAD handling.
+       * timevar.def (TV_RENAME_REGISTERS): Move before TV_SCHED2.
+       * toplev.c (rest_of_compilation): Call regrename_optimize before sched2.
+
+2000-05-11  Bruce Korb  <bkorb@gnu.org>
+
+       * fixinc/fixfixes.c (double_slash_fix):  obsolete
+       (else_endif_label_fix): obsolete
+       (format_fix):  new, unused as yet
+       (main): obsolete
+       * fixinc/fixlib.h: added fix description struct for use by format_fix
+       * fixinc/fixincl.c: removed the struct & test for SIGIOT befure using
+       * fixinc/Makefile.in:  compile fixfixes.c and fixtests.c as separate
+       modules.  Removed the vestiges of the script version.
+       Added support for "make check".
+       * fixinc/check.diff: base diff file (needs work!!)
+       * fixinc/check.tpl: quiet the fixup output
+       * fixinc/fixtests.c (main): obsolete
+       * fixinc/fixincl.sh:  don't bother copying fixincl to ..
+       * fixinc/fixincl.tpl:  provide for arguments to c_fix routines
+
+Thu May 11 11:57:02 MET DST 2000  Jan Hubicka <jh@suse.cz>
+
+       * toplev.c (rest_of_compilation): Remove dead code after
+       combine.
+
+2000-05-11  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * cpphash.c (collect_funlike_expansion): Make "# is not
+       followed by a macro argument name" a pedwarn, not an error.
+       Preserve the # in the output.  Suppress the warning if lang_asm.
+
+Thu May 11 01:19:31 2000  Jeffrey A Law  (law@cygnus.com)
+
+       * configure.in (hppa*64*-*-hpux11*): New target for PA64 support.
+       * configure: Rebuilt.
+
+2000-05-10 Laurynas Biveinis <lauras@softhome.net>
+
+       * i386/xm-djgpp.h (XREF_FILE_NAME): Add mising brace.
+
+2000-05-10  Kazu Hirata  <kazu@hxi.com>
+
+       * combine.c (try_combine): Fix a typo.
+
+Wed May 10 21:31:44 2000  Jim Wilson  <wilson@cygnus.com>
+
+       * config/ia64/ia64.md (insv): Add comment.
+
+2000-05-10  Richard Henderson  <rth@cygnus.com>
+
+       * Makefile.in (libgcc.a, stmp-multilib): Depend on FPBIT and DPBIT.
+       * mklibgcc.in: Rewrite to not use functions.  Don't shortcut
+       dependancies on FPBIT and DPBIT.
+
+2000-05-10  Nick Clifton  <nickc@redhat.com>
+
+       * flow.c (find_auto_inc): Do not bias REG_N_REFS by loop_depth
+       when optimising for size.
+       (mark_used_regs:) Ditto.
+       (try_pre_increment_1): Ditto.
+
+2000-05-10  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * cppexp.c (lex): Use %.*s to print non-NUL-terminated string.
+       Make error message friendlier.
+
+       * cpphash.h (struct hashnode): Use struct hack for name
+       member.
+       * cpphash.c (struct hashdummy): New.
+       (eq_HASHNODE): Second argument is a hashdummy, not a HASHNODE.
+       (make_HASHNODE): No need to set ->name pointer.  Correct
+       setting of p.
+       (cpp_lookup): Make 'dummy' a struct hashdummy.  Tidy up a bit.
+
+2000-05-10  Richard Henderson  <rth@cygnus.com>
+
+       * flow.c (find_basic_blocks_1): Remove any spare bb_note
+       after completion.
+
+2000-05-10  Bruce Korb  <bkorb@gnu.org>
+
+       * fixinc/gnu-regex.c:  reg_syntax_t re_syntax_options must be static
+
+2000-05-10  Eric Schweitz  <schweitz@nortelnetworks.com>
+
+       * dwarfout.c (dwarfout_finish): Call retry_incomplete_types
+       after we enter .debug.
+
+2000-05-10  Jason Merrill  <jason@casey.cygnus.com>
+
+       * dwarf2out.c (gen_subprogram_die): Fixup die_parent for the
+       abstract instance of a nested inline function.
+
+       * stor-layout.c (finish_record_layout): finalize_type_size
+       before laying out the pending_statics.
+
+Wed 10 May 09:36:47 2000  Neil Booth  <NeilB@earthling.net>
+
+       * cpplex.c (spell_token): New function.
+       (spell_string, spell_comment, spell_name): fold into
+       spell_token.    
+       (I, S): Add macros.
+       (E, H): Remove macros.
+       (save_comment): Save comment opening characters too.
+       (_cpp_lex_file): Update to use spell_token.  Tidy up comment
+       handling.
+       * cpplib.h (I, S): Add macros.
+       (E, H): Remove macros.
+       (TTYPE_TABLE): Update entries for new speller.
+       (SYNTAX_ASSERT): Remove.
+
+Wed 10 May 09:08:30 2000  Neil Booth  <NeilB@earthling.net>
+
+        * cpplex.c (_cpp_lex_line): Maintain PREV_WHITESPACE flag
+        when removing escaped newlines.  Reverse sense of test for
+        escaped newline.
+
+2000-05-09  Richard Henderson  <rth@cygnus.com>
+
+       * flow.c (find_basic_blocks_1): Do not delete the first
+       bb_note we run across.
+       (create_basic_block): Use reorder_insns to move an existing
+       bb_note to the correct place.
+
+2000-05-09  Richard Henderson  <rth@cygnus.com>
+
+       * calls.c (expand_call): Increment currently_expanding_call
+       before calling optimize_tail_recursion.
+
+Tue May  9 18:54:16 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * reload1.c (reload_combine): Fix errors in last change.
+
+2000-05-09  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * gcc.c (used_arg): Skip over a semicolon at the end of the
+       split-up loop; don't break out of it.
+
+       * Makefile.in (WARN_CFLAGS): Add -Wwrite-strings.
+       (tree.o): Depend on output.h.
+
+       * c-decl.c (pending_invalid_xref_file,
+       current_function_prototype_file): Constify.
+       (pushdecl): Constify a local char *.
+       (define_label): Constify filename parameter.
+       * c-lex.c (init_parse): Constify parameter and return value.
+       * c-typeck.c (c_expand_asm_operands): Constify filename parameter.
+       * c-tree.h: Update prototypes.
+       * c-parse.in: Constify filename member of %union, and if_stmt_file.
+       * c-parse.y, c-parse.c, c-parse.h, objc/objc-parse.y,
+       objc/objc-parse.c: Regenerate.
+
+       * dwarfout.c (dwarfout_init): Constify main_input_filename parameter.
+       * dwarfout.h: Update prototypes.
+       * expr.c (expand_expr): Constify a local char *.
+       * flags.h: Constify main_input_filename.
+       * function.c (expand_function_end): Constify filename parameter.
+       * genrecog.c (make_insn_sequence): Use a character array for
+       c_test_pos.
+       (main): Remove unused variables.
+       * input.h: Constify input_filename, main_input_filename, and
+       file_stack.name.  Update prototypes.
+       * output.h: Declare first_global_object_name and
+       weak_global_object_name here, as const char *.
+       * stmt.c (expand_asm_operands): Constify filename parameter.
+       * toplev.c (compile_file, push_srcloc, debug_start_source_file):
+       Constify filename parameter.
+       (input_filename, main_input_filename): Constify.
+       * toplev.h: Update prototypes.
+       * tree.c: Include output.h.  Don't declare
+       first_global_object_name or weak_global_object_name.  Clean up string
+       bashing in get_file_function_name_long.
+       * tree.h (struct tree_decl): Constify filename member.
+       (input_filename): Constify.
+       Update prototypes.
+       * varasm.c (first_global_object_name, weak_global_object_name):
+       Constify.
+       (assemble_start_function, assemble_variable): Clean up string bashing.
+
+       * gcc.c: Constify all spec-related strings initialized,
+       transitively, from string constants.  Constify all strings
+       and string variables related to multilibs.
+       (set_spec, read_specs): Cast argument to free to PTR.
+       (used_arg): Do not modify multilib_matches.  Use strncmp plus
+       length comparison to compare multilib switches.
+       * genmultilib: Constify everything declared in multilib.h.
+
+Tue May  9 22:28:03 2000  Denis Chertykov  <denisc@overta.ru>
+
+       * flow.c (flow_delete_insn): Use INSN_DELETED_P for marking insn
+       as deleted.
+
+Tue May  9 20:52:43 2000  Denis Chertykov  <denisc@overta.ru>
+
+       * config/avr/avr-protos.h (extra_constraint): change a type of
+       second argument from char to int to avoid warnings.
+       (asm_output_byte): Likewise.
+       
+       * config/avr/avr.c (MAX_LD_OFFSET) New macro.
+       (initial_elimination_offset): Handle elimination from
+       FRAME_POINTER_REGNUM to STACK_POINTER_REGNUM.
+       (legitimate_address_p): Use MAX_LD_OFFSET.
+       (legitimize_address): Likewise.
+       (out_movqi_r_mr): Likewise.
+       (out_movhi_r_mr): Likewise, use `fatal_insn' instead of `fatal'.
+       (out_movsi_r_mr): Use MAX_LD_OFFSET.
+       (out_movsi_mr_r): Likewise.
+       (out_movqi_mr_r): Likewise.
+       (out_movhi_mr_r): Likewise.
+       (notice_update_cc): Correct CC for the ashrqi3 with the shift
+       count as CONST_INT != 6.
+       (ashlqi3_out): Coding style modifications. Run `fatal_insn' if
+       shift count is a CONSTANT_P, but not a CONST_INT.
+       (ashlhi3_out): Coding style modifications.
+       (ashlsi3_out): Likewise.
+       (ashrhi3_out): Likewise.
+       (ashrsi3_out): Likewise.
+       (lshrhi3_out): Likewise.
+       (lshrsi3_out): Likewise.
+       (ashrqi3_out): Generate shift for any known constant count without
+       scratch register. Run `fatal_insn' if shift count is a CONSTANT_P,
+       but not a CONST_INT.
+       (lshrqi3_out): Coding style modifications. Run `fatal_insn' if
+       shift count is a CONSTANT_P, but not a CONST_INT. 
+       (extra_constraint): change a type of
+       second argument from char to int to avoid warnings.
+       (asm_output_byte): Likewise.
+       (asm_file_end): Output size generated commands count as a hex
+       number too.
+
+       * config/avr/avr.h (RETURN_ADDR_RTX): New macro.
+
+       * config/avr/avr.md (addhi3): Fragment commented by &&0 is
+       removed.
+       (ashlqi3): Values of "length" attribute changed. Shift count
+       uses constraints 'n' instead of 'i'.
+       (ashrqi3): Likewise. Values of "cc" attribute changed. Generate
+       shifts without clobber register.
+       (lshrqi3): Shift count uses constraints 'n' instead of 'i'.
+       (call_insn): Correct test for which_alternative == 1 (was 0).
+       (call_value_insn): Likewise.
+       
+       * config/avr/t-avr: Remove definition of FLOAT while generates
+       fp-bit.c
+
+2000-05-09  Bruce Korb  <bkorb@gnu.org>
+
+       * fixinc/check.tpl:  Template for checking fixes
+       * fixinc/inclhack.def:  Added 'test_text' for many fixes
+       disable hpux8_bogus_inlines on SCO
+       * fixinc/fixinc.sco:  Oh, yes, we don't need this any more.
+
+Tue May  9 16:30:27 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * calls.c (expand_call): Reorganize somewhat in order
+       to avoid unnecesary recalculation inside loop and make
+       tail call failure code cleaner.
+       
+Tue May  9 06:30:20 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * alias.c (nonlocal_reference_p): Minor reformatting.
+       * reload.c (find_equiv_reg): Simplify logic for
+       CALL_INSN_FUNCTION_USAGE since can't have SUBREG or pseudos and
+       some some reformatting.
+       * reload1.c (reload_combine): Don't assume everything in
+       CALL_INSN_FUNCTION_USAGE is a REG and clean up code a bit.
+
+2000-05-08  Richard Henderson  <rth@cygnus.com>
+
+       * final.c (current_insn_predicate): New.
+       (final_scan_insn): Set it.
+       * output.h (current_insn_predicate): Declare.
+
+       * ifcvt.c (cond_exec_process_insns): New argument prob_val.
+       Attach it to call insns.
+       (cond_exec_process_if_block): Track probability for true and
+       false branches.
+       (dead_or_predicable): Likewise.
+
+       * predict.c (PROB_NEVER, PROB_VERY_UNLIKELY): New.
+       (PROB_UNLIKELY, PROB_EVEN, PROB_LIKELY): New.
+       (PROB_VERY_LIKELY, PROB_ALWAYS): New.
+       (estimate_probability, expected_value_to_br_prob): Use them.
+
+       * config/ia64/ia64-protos.h (ia64_expand_prediction): Declare.
+       * config/ia64/ia64.c (ia64_print_operand_address): Handle 'j'.
+       (ia64_expand_prediction): New.
+       (emit_insn_group_barriers): Don't look at notes.  Emit barriers
+       as needed after calls.
+       (ia64_epilogue_uses): Mark b0 used.
+       * config/ia64/ia64.md (beq_true, beq_false): Remove.
+       (bne_true, bne_false): Remove.
+       (eq_return, eq_not_return, ne_return, ne_not_return): Remove.
+       (br_true, br_false): New.  Use predicate_operator and
+       ia64_expand_prediction.
+       (return_true, return_false): Likewise.
+       (call_internal): Use ia64_expand_prediction.  Don't emit stop bit.
+       (call_internal1, call_value_internal): Likewise.
+       (call_value_internal1, call_multiple_values_internal1): Likewise.
+
+       * config/ia64/ia64.c (ia64_direct_return): Require frame size zero.
+
+       * config/ia64/ia64.md (extendsfdf2): Split only after reload.
+
+2000-05-08  Richard Henderson  <rth@cygnus.com>
+
+       * rtlanal.c (may_trap_p): Consider old-style and volatile
+       asms to trap.
+
+Mon May  8 17:16:48 2000  Jim Wilson  <wilson@cygnus.com>
+
+       * config/ia64/ia64.h (RETURN_ADDR_RTX): Use COUNT not count.
+
+2000-05-08  Richard Henderson  <rth@cygnus.com>
+
+       * config/ia64/ia64.h (predicate_operator): Declare.
+
+       * config/ia64/ia64.md (extendsfdf2): Split the nop case out
+       of existance.
+
+       * gensupport.c (process_rtx): Copy and post-process each member
+       of the define_insn rtvec individually.
+
+Mon  8 May 22:17:35 2000  Neil Booth  <NeilB@earthling.net>
+
+       * cpplex.c (spell_token): New function.
+       (TOKEN_LEN): Add 1 for whitespace.
+       (_cpp_lex_file): Update to use spell_token.
+       * cpplib.h (E): Remove.
+       (TTYPE_TABLE): Update CPP_VSPACE entry.
+
+2000-05-08  Richard Henderson  <rth@cygnus.com>
+
+       * flow.c (init_propagate_block_info): Watch out for conditional
+       branch to next instruction, and thus one outgoing edge.
+
+       * config/ia64/ia64.c (ia64_encode_section_info): Exit early
+       for global register variables; don't special case __[CD]TOR_LIST__;
+       mind ggc_p for string allocation.
+
+2000-05-08  Nick Clifton  <nickc@cygnus.com>
+
+       * config/i386/i386.h (ELIMINABLE_REGS): Fix comment.
+
+2000-05-08  Bruce Korb  <bkorb@gnu.org>
+
+       * fixinc/mkfixinc.sh:  fixinc.sco is no longer used
+       i?86-*-msdosdjgpp* no longer uses fixincludes
+       * fixinc/genfixes:  inclhack.sh and fixincl.sh are no longer generated
+       * fixinc/inclhack.sh:  deleted
+       * fixinc/hackshell.tpl:  deleted
+       * fixinc/inclhack.tpl:  deleted
+       * fixinc/Makefile.in:  Remove dependencies on above
+       * fixinc/fixincl.sh:  "DO NOT EDIT" text modified
+
+2000-05-08  Andreas Jaeger  <aj@suse.de>
+
+       * config/mips/linux.h: Remove undefines which disabled .ctor/.dtor
+       support.
+
+2000-05-07  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * Makefile.in (LOOSE_CFLAGS): Add /g modifiers to both sed
+       substitutions.
+
+Sun  7 May 08:43:53 2000  Neil Booth  <NeilB@earthling.net>
+
+       * cpplex.c: Move new lexer definitions and prototypes
+       to top.  Conditional include these and the code if
+       NEW_LEXER is defined.  Rename functions whose names
+       clash if this code included.
+
+Sun May  7 00:54:57 EDT 2000  John Wehle  (john@feith.com)
+
+       * rtl.def (COND_EXEC): Clarify.
+
+       * i386.md (extendsidi2): Clobber (reg:CC 17) in the
+       same fashion as zero_extendsidi2.
+
+2000-05-06  Richard Henderson  <rth@cygnus.com>
+
+       * config/ia64/ia64.c (predicate_operator): New.
+       (ia64_print_operand): Handle 'J'.
+       (rtx_needs_barrier): Handle COND_EXEC.
+       * config/ia64/ia64.h (BRANCH_COST): Define.
+       (PREDICATE_CODES): Update.
+       * config/ia64/ia64.md: Docuement used unspec values.
+       (attr predicable): New.
+       (movxf, movxf_internal): New.
+       (extendsfdf2): Don't comment out nop.
+       (floatdidf2): Remove.
+       (truncxfsf2, truncxfdf2, floatdixf2): New.
+       (abssi2, absdi2): Put the neg in the "true" slot.
+       (conditional branch instructions): Mark not predicable.
+       (cmov*_internal): Use predicate_operator.  Split to cond_exec.
+       (abs*_internal): Likewise.
+       (alloc, set_bsp): Mark not predicable.
+       (barrier, insn_group_barrier, flush_cache): Likewise.
+       (define_cond_exec): New.
+
+2000-05-06  Richard Henderson  <rth@cygnus.com>
+
+       * c-decl.c: Include "tm_p.h".
+
+       * config/ia64/ia64-protos.h: Rearrange decls to reduce ifdef madness.
+       (fetchadd_operand, ia64_expand_fetch_and_op): Declare.
+       (ia64_expand_op_and_fetch): Declare.
+       * config/ia64/ia64.c: Include "toplev.h".  Kill trailing whitespace.
+       (setjmp_operand): Constify variables for XSTR.
+       (ia64_encode_section_info): Likewise.
+       (ia64_print_operand): Use %d for exact_log2; cast 32-bit printed
+       values to int.
+       (ia64_asm_output_external): Constify name.
+       (process_set): Use HOST_WIDE_INT_PRINT_DEC for frame size.
+       (process_for_unwind_directive): Provide switch default.
+       (ia64_expand_compare_and_swap): Remove unused variables.
+       (ia64_expand_builtin): Likewise.
+       * config/ia64/ia64.h (ASM_OUTPUT_BYTE): Mask and cast value to int
+       for printing.
+
+       * config/ia64/ia64.c (sdata_symbolic_operand): Mark unused args.
+       (symbolic_operand, function_operand, setjmp_operand): Likewise.
+       (shift_count_operand, shift_32bit_count_operand): Likewise.
+       (shladd_operand, fetchadd_operand, ia64_function_prologue): Likewise.
+       (ia64_function_epilogue, ia64_setup_incoming_varargs): Likewise.
+       (ia64_function_arg_partial_nregs, ia64_function_value): Likewise.
+       (ia64_print_operand_address, ia64_secondary_reload_class): Likewise.
+       (ia64_expand_builtin): Likewise.
+       (call_multiple_values_operation): Make dest_regno unsigned.
+
+2000-05-06  Richard Henderson  <rth@cygnus.com>
+
+       * rtl.def (DEFINE_COND_EXEC): New.
+       * md.texi: Document it.
+
+       * gensupport.c (input_file): Remove.
+       (struct queue_elem): Add lineno.
+       (rtx_ready_queue): Remove.
+       (errors): New.
+       (predicable_default): New.
+       (predicable_true, predicable_false): New.
+       (define_attr_queue, define_attr_tail): New.
+       (define_insn_queue, define_insn_tail): New.
+       (define_cond_exec_queue, define_cond_exec_tail): New.
+       (other_queue, other_tail): New.
+       (queue_pattern): New.
+       (process_rtx): Add patterns to the appropriate queues.
+       (is_predicable, identify_predicable_attribute): New.
+       (n_alternatives, collect_insn_data): New.
+       (alter_predicate_for_insn, alter_test_for_insn): New.
+       (shift_output_template, alter_output_for_insn): New.
+       (process_one_cond_exec, process_define_cond_exec): New.
+       (init_md_reader): Read the entire file.  Process define_cond_exec.
+       (read_md_rtx): Return elements from the queues.
+
+2000-05-06  Richard Henderson  <rth@cygnus.com>
+
+       * flow.c (mark_set_1): Don't update conditional life info
+       if the register is not_dead.
+
+2000-05-06  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * Makefile.in (STAGESTUFF): Add genrtl.c and genrtl.h.
+       (mostlyclean): Also delete fixincl, fixinc.sh, and
+       specs.ready, and make clean in the fixinc subdir.
+
+2000-05-06  Richard Henderson  <rth@cygnus.com>
+
+       * Makefile.in (gensupport.o): Compile for the host.
+       (host-prefix gensuuprt.o): Remove.
+       (genflags.o): Depend on gensupport.h and OBSTACK_H.
+       (genattrtab.o): Likewise.
+       (gencodes.o): Depend on gensupport.h.
+       (genemit.o, genopinit.o, genrecog.o, genextract.o): Likewise.
+       (genpeep.o, genattr.o, genoutput.o): Likewise.
+
+       * gensupport.c (obstack, rtl_obstack): New.
+       (init_md_reader): Initialize rtl_obstack.
+       * gensupport.h (rtl_obstack): Declare.
+       (message_with_line): Declare.
+
+       * genattr.c: Remove all traces of obstack manipulation.
+       * gencodes.c, genconfig.c, genemit.c, genextract.c: Likewise.
+       * genopinit.c, genoutput.c, genpeep.c, genrecog.c: Likewise.
+
+       * genattrtab.c (obstack, rtl_obstack): Remove.
+       (main): Don't init rtl_obstack.
+       * genflags.c: Likewise.
+
+       * genrecog.c (message_with_line): Move ...
+       * gensupport.c: ... here.
+
 2000-05-06  Richard Henderson  <rth@cygnus.com>
 
        * c-typeck.c (build_c_cast): Remove dead code.
@@ -8787,6 +9391,7 @@ Wed Feb 16 21:40:04 2000  Hans-Peter Nilsson  <hp@bitrange.com>
        * longlong.h (__clz_tab): Declare as static to match definition.
 
 2000-02-16 Mark Elbrecht <snowball3@bigfoot.com>
+
        * i386/xm-djgpp.h (LIBSTDCXX): Delete. Moved to config/i386/djgpp.h.
        (XREF_FILE_NAME): Define.