+Fri Apr 21 14:58:29 2000 Denis Chertykov <denisc@overta.ru>
+
+ * reload.c (find_equiv_reg): Checks all valueno and regno regs
+ as a call-clobbered regs.
+
+Fri Apr 21 13:30:26 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * rtl.c: Use NOTE_INSN_REPEATED_LINE_NUMBER and NOTE_INSN_RANGE_BEG.
+ * rtl.h: Likewise.
+ * rtl.def: Update comment.
+ * function.c (expand_function): Use NOTE_INSN_REPEATED_LINE_NUMBER.
+ * integrate.c (expand_inline_function): Likewise.
+ * profile.c (branch_prob): Likewise.
+ * ggc-common.c (ggc_mark_rtx_children): Use NOTE_INSN_RANGE_BEG.
+ * print-rtl.c (print_rtx): Likewise.
+ * haifa-sched.c (sched_analyze, unlink_other_notes): Likewise.
+ (reemit_notes): Likewise; also use enum insn_note.
+
+ * stor-layout.c (layout_decl): Only set DECL_MODE if not already set.
+ (place_field): Properly compute know and actual alignment.
+
+ * gengenrtl.c (gencode): Write obstack_alloc_rtx function start
+ in proper format.
+
+ * cse.c (cse_insn): In (set REG0 REG1) case, remove a REG_EQUAL
+ note for REG1.
+
+2000-04-21 Zack Weinberg <zack@wolery.cumb.org>
+
+ * cpphash.c (struct arg, struct arglist): Const-ify strings.
+ (warn_trad_stringify, duplicate_arg_p): New helper functions.
+ (collect_expansion): Rewrite to scan over a token list.
+ Remove -traditional support.
+ (collect_formal_parameters): Rename to collect_params; rewrite
+ to scan over a token list.
+ (_cpp_create_definition): Adjust to scan a token list.
+ (_cpp_macroexpand): Remove -traditional support.
+ (_cpp_compare_defs): Whitespace is now canonicalized.
+ (comp_def_part): Delete function.
+
+ * cpphash.h: Update prototypes.
+ * cpplex.c (init_token_list): Don't set lineno if there is no
+ buffer.
+ (pedantic_whitespace): New function.
+ (_cpp_scan_line): Mark tokens that had hspace before. Don't
+ consume a newline. Use pedantic_whitespace.
+ (_cpp_lex_token): Remove support for -traditional macros.
+ (_cpp_get_define_token): Delete.
+ (_cpp_get_directive_token): Do the real work here. Use
+ pedantic_whitespace.
+ (_cpp_init_input_buffer): Initialize pfile->directbuf.
+
+ * cpplib.c (get_macro_name): Delete.
+ (do_define): Read the entire line into pfile->directbuf, then
+ feed the token list to _cpp_create_definition.
+ * cpplib.h (HSPACE_BEFORE): new define.
+ (struct cpp_reader): Add a toklist member, "directbuf".
+
+ * predict.c (estimate_probability): New heuristic: if a jump
+ branches around a block with no successors, predict it taken.
+ Disentangle control flow.
+
+2000-04-20 Richard Henderson <rth@cygnus.com>
+
+ * loop.c (emit_iv_add_mult): Revert last change.
+
+2000-04-20 Zack Weinberg <zack@wolery.cumb.org>
+
+ * cpplib.h (enum cpp_ttype): Add token types for all
+ punctuators. Distinguish pp-numbers from valid C numbers.
+ Give some tokens better names. Initialize from macro.
+ (struct cpp_name, cpp_token, cpp_toklist): New data
+ structures.
+ Update prototypes.
+ * cpplex.c (bump_column, expand_name_space,
+ expand_token_space, init_token_list, cpp_output_list,
+ _cpp_scan_line): New functions.
+ (output_line_command): Add third argument, new line number.
+ * cpphash.h: Update prototypes.
+ * cppexp.c, cpphash.c, cpplib.c, scan-decls.c: Update for new
+ token names.
+
+2000-04-20 Richard Henderson <rth@cygnus.com>
+
+ * config/alpha/alpha.c (alpha_emit_floatuns): Emit missing barrier.
+
+2000-04-20 Zack Weinberg <zack@wolery.cumb.org>
+
+ * c-common.c (decl_attributes) [A_ALIAS]: Set TREE_USED on the
+ object pointed to.
+
+Thu Apr 20 14:19:18 MET DST 2000 Jan Hubicka <jh@suse.cz>
+
+ * loop.c (emit_iv_add_mult): Simplify it's input and emit
+ REG_EQUAL note explaining the calculated value.
+
+ * calls.c (expand_call): Avoid unnecesary precalculation
+ and outgoing parameters space guarding for sibling calls.
+ (store_one_arg): Likewise.
+
+Thu Apr 20 08:01:07 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * toplev.c (enum dump_file_index, dump_file): Add DFI_sibling.
+ (rest_of_compilation): Write sibling dump file and account
+ for time as jump time.
+ * invoke.texi: Update documentation on dump flags.
+
+2000-04-19 Marek Michalkiewicz <marekm@linux.org.pl>
+
+ * avr.c: #include "system.h" instead of <stdio.h> and <stdlib.h>.
+
+2000-04-19 Zack Weinberg <zack@wolery.cumb.org>
+
+ * cpphash.c (special_symbol): Represent an empty macro with
+ "\r \r " not just "\r ".
+ (_cpp_macroexpand): Correct condition for the foo ( ) special
+ case.
+ (unsafe_chars): Handle EOF as second argument.
+ (push_macro_expansion): Simplify test for removing escape at
+ end. Do not trim both escapes if there is no text in between.
+
+2000-04-19 Jim Blandy <jimb@redhat.com>
+
+ * dwarf2out.c (DWARF2_ADDR_SIZE): New macro. Use it instead
+ of PTR_SIZE, when appropriate.
+
+2000-04-19 Mark Mitchell <mark@codesourcery.com>
+
+ * system.h (ONLY_INT_FIELDS): Make sure it is defined.
+ (USE_ENUM_BITFIELDS): Fix typo.
+
+Wed Apr 19 12:14:55 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * stor-layout.c (place_field): Set rli->offset_align properly.
+
+2000-04-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * mips.h (BITS_PER_WORD, UNITS_PER_WORD, UNITS_PER_FPREG,
+ INT_TYPE_SIZE, LONG_TYPE_SIZE, POINTER_SIZE, POINTER_BOUNDARY,
+ PARM_BOUNDARY): Remove unnecessary casts.
+
+Wed Apr 19 12:02:37 MET DST 2000 Jan Hubicka <jh@suse.cz>
+
+ * calls.c (precompute_arguments): Remove must_preallocate and
+ args_size calls.
+ (expand_call): Update call of precompute_arguments.
+
+ * loop.c (check_insn_for_bivs, for_every_insn_in_loop,
+ check_insn_for_givs): Break out from ...
+ (strength_reduce) ... here; use for_every_insn_in_loop to call
+ check_insn_for_givs.
+ * loop.h (for_every_insn_in_loop): Declare.
+ (loop_insn_callback): New type.
+
+2000-04-18 Zack Weinberg <zack@wolery.cumb.org>
+
+ * cpplib.c (do_pragma_poison): Strings in the token buffer are
+ not nul-terminated.
+
+Tue Apr 18 16:04:12 2000 Jim Wilson <wilson@cygnus.com>
+
+ * config/ia64/sysv4.h (SELECT_SECTION): Use data_section if
+ flag_pic and RELOC.
+
+2000-04-18 Zack Weinberg <zack@wolery.cumb.org>
+
+ * cccp.c, cexp.y, cexp.c, cccp.1: Removed.
+
+ * configure.in: Delete --disable-cpplib option and all
+ references to cpp_main.
+ * configure: Regenerate.
+ * Makefile.in: Remove all references to CCCP, CCCP_OBJS,
+ @cpp_main@, cccp.c, cexp.c, cexp.y, cexp.output, cexp.o,
+ cccp.o, cccp, or cppmain. Link cppmain.o straight to
+ cpp$(exeext). Add --no-headers to makeinfo command line when
+ generating INSTALL. Install and uninstall cpp.1 manpage, not
+ cccp.1.
+ * install.texi: Delete all references to cexp.y/cexp.c.
+ Delete ancient instructions for compiling GCC on 3b1.
+ * INSTALL: Regenerate.
+
+ * cppfiles.c, cpplib.h, jump.c, protoize.c, c-lex.c, mips/t-ecoff,
+ mips/t-elf, mips/t-r3900: Remove references to cccp.c.
+ * convex.h, fx80.h, m68k.h, pdp11.h: Remove references to
+ cexp.c/cexp.y.
+ * xm-linux.h, xm-os2.h, romp.h: Remove definition of BSTRING,
+ which is no longer tested anywhere.
+
+ * cppinit.c (handle_option): Don't run error message through
+ gettext twice.
+
+Tue Apr 18 14:16:47 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * conflict.c (conflict_graph_add): Pass enum type to htab_find_slot.
+ * cpperror.c (hashtab.h): Now include.
+ * cppexp.c (hashtab.h): Likewise.
+ * cpplex.c (hashtab.h): Likewise.
+ * cppfiles.c (hashtab.h): Likewise.
+ (find_include_file, _cpp_calc_hash, cpp_read_file): Pass enum type
+ to htab_find_slot_with_hash.
+ * cpphash.c (hashtab.h): Now include.
+ (_cpp_lookup_slot): INSERT is now enum insert_option.
+ * cpphash.h (_cpp_lookup_slot): Likewise.
+ * cppinit.c (hashtab.h): Include earlier.
+ (initialize_builtins): Pass enum to htab_find_slot.
+ * cpplib.c (hashtab.h): Now include.
+ (do_define, do_undef): Pass enum type to _cpp_lookup_slot.
+ (do_pragma_poison, do_assert): Likewise.
+ * emit-rtl.c (gen_rtx_CONST_INT): Pass enum to
+ htab_find_slot_with_hash.
+ * simplify-rtx.c (cselib_lookup_mem, cselib_lookup): Likewise.
+ * tree.c (type_hash_add): Likewise.
+ (build1): Minor cleanup.
+
+ * ggc-common.c: Add missing blanks.
+ * print-tree.c (print_node): Print DECL_OFFSET_ALIGN.
+ * tree.h (DECL_OFFSET_ALIGN): Fix typo in comment.
+
+ * stmt.c (mark_case_node): New function.
+ (mark_case_nesting): Call it.
+
+ * expmed.c (emit_store_flag): If comparing two-word integer
+ with zero, can optimize NE, EQ, GE, and LT.
+
+ * c-decl.c (mark_binding_level): Use 'for' instead of `while'.
+ * conflict.c: Minor cleanups.
+ * optabs.c: Add blank line
+ * simplify-rtx.c: Minor cleanups.
+
+2000-04-18 Stan Cox <scox@cygnus.com>
+
+ * gengenrtl.c (genlegend): Fix misspelling.
+
+2000-04-18 Robert Lipe <robertlipe@usa.net>
+
+ * configure.in (ENUM_BITFIELDS_ARE_UNSIGNED): Added. Check that
+ bitfields of the host compiler are not signed quantities.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+ * system.h (USE_ENUM_BITFIELDS): Added.
+ (ENUM_BITFIELDS): Added.
+ * rtl.h (rtx_def): Members `code', `mode', now ENUM_BITFIELD.
+ (SHORT_ENUM_BUG): Deleted.
+ * tree.h (tree_common): Members `code', `mode', `built_in_class',
+ now ENUM_BITFIELD.
+ * config/i386/xm-sco.h (ONLY_INT_FIELDS): Deleted.
+ (CODE_FIELD_BUG): Likewise.
+ * config/m68k/x-apollo68 (CC): Deleted SHORT_ENUM_BUG.
+ (OLD_CC): Likewise.
+ * config/m68k/x-ccur (X_CFLAGS): Likewise.
+
+2000-04-18 Mark Mitchell <mark@codesourcery.com>
+
+ * cpplex.c (_cpp_lex_token): Don't call CPP_BUMP_LINE when the
+ mark is active.
+
+2000-04-17 Zack Weinberg <zack@wolery.cumb.org>
+
+ * cppexp.c (lex): Don't assume tokens are NUL terminated.
+ * cpplib.c (do_include, do_import, do_include_next,
+ read_line_number, detect_if_not_defined): Likewise.
+ * cpphash.c (collect_expansion): Likewise.
+ (special_symbol, _cpp_macroexpand): Check return from
+ cpp_file_buffer.
+ * cpphash.h (CPP_NUL_TERMINATE, CPP_NUL_TERMINATE_Q): Delete
+ macros. Delete all uses.
+
+ * gcc.dg/cpp-mi.c: Add two more test cases.
+ * gcc.dg/cpp-mind.h, gcc.dg/cpp-mindp.h: New files.
+
+2000-04-17 Richard Henderson <rth@cygnus.com>
+
+ * bb-reorder.c (fixup_reorder_chain): Don't look up new block again.
+ (reorder_basic_blocks): If no epilogue in rtl, force last block last.
+
+2000-04-17 Mark Mitchell <mark@codesourcery.com>
+
+ * function.c (expand_function_start): Use hard_function_value to
+ compute the RTL to use for DECL_RESULT.
+
+Mon Apr 17 23:35:29 MET DST 2000 Jan Hubicka <jh@suse.cz>
+
+ * i386.c (athlon_cost): Fix lea, divide and XFmode move costs.
+ (x86_integer_DFmode_moves, x86_partial_reg_dependency,
+ x86_memory_mismatch_stall): New global variables.
+ (ix86_adjust_cost): Handle MEMORY_BOTH on places MEMORY_STORE was only
+ alloved; fix load penalties for Athlon.
+ * i386.h (x86_integer_DFmode_moves, x86_partial_reg_dependency,
+ x86_memory_mismatch_stall): Declare.
+ (TARGET_INTEGER_DFMODE_MOVES, TARGET_PARTIAL_REG_DEPENDENCY,
+ TARGET_MEMORY_MISMATCH_STALL): New.
+ * i386.md (athlon scheduling parameters): Fix latencies according to
+ Athlon Optimization Manual.
+ (sahf, xchg, fldcw, leave instruction patterns): Set athlon_decode to
+ vector.
+ (fsqrt instruction patterns): Set athlon_decode to direct.
+ (movhi_1): Promote for TARGET_PARTIAL_REG_DEPENDENCY and for
+ PARTIAL_REGISTER_STALL with !TARGET_HIMODE_MATH machines.
+ (movqi_1): Handle promoting correctly for TARGET_PARTIAL_REG_DEPENDENCY
+ and TARGET_PARTIAL_REGISTER_STALL machines.
+ (pushdf_nointeger): New pattern.
+ (pushdf_integer): Rename from pushdf.
+ (movdf_nointger): Enable for !TARGET_INTEGER_DFMODE_MOVES machines.
+ (movdf_intger): Disable for !TARGET_INTEGER_DFMODE_MOVES machines.
+
+2000-04-17 Richard Henderson <rth@cygnus.com>
+
+ * loop.c (canonicalize_condition): Add WANT_REG argument.
+ Stop the search if we match it.
+ * expr.h (canonicalize_condition): Update decl.
+ * predict.c (expected_value_to_br_prob): Use it. Track last
+ expected value note.
+ (find_expected_value): Remove.
+
+ * reorg.c (mostly_true_jump): Always use BR_PROB if present.
+
+2000-04-17 Zack Weinberg <zack@wolery.cumb.org>
+
+ * aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE([AC_FUNC_MMAP]).
+ (AC_FUNC_MMAP_FILE): New macro, tests read-only private map of
+ a plain file.
+ * configure.in: Call AC_FUNC_MMAP_FILE.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+
+ * intl/loadmsgcat.c: Test HAVE_MMAP_FILE not HAVE_MMAP.
+ * fixinc/fixincl.c: Likewise.
+
+2000-04-17 Richard Henderson <rth@cygnus.com>
+
+ * builtins.c (expand_builtin_expect): New.
+ (expand_builtin): Call it.
+ * builtins.def (BUILT_IN_EXPECT): New.
+ * c-common.c (c_common_nodes_and_builtins): Declare __builtin_expect.
+ * extend.texi: Document it.
+
+ * predict.c (expected_value_to_br_prob): New.
+ (find_expected_value): New.
+ * basic-block.h (expected_value_to_br_prob): Declare.
+ * toplev.c (rest_of_compilation): Invoke it.
+
+ * rtl.h (NOTE_EXPECTED_VALUE): New.
+ (NOTE_INSN_EXPECTED_VALUE): New.
+ * rtl.c (note_insn_name): Update.
+ * print-rtl.c (print_rtx): Reorg NOTE_LINE_NUMBER special
+ cases; handle NOTE_INSN_EXPECTED_VALUE.
+
+2000-04-17 Jakub Jelinek <jakub@redhat.com>
+
+ * config/sparc/sparc.c (eligible_for_sibcall_delay): Cannot use
+ leaf sibcall delay slot if flag_pic.
+ (output_sibcall): Always emit call for leaf sibcall if flag_pic.
+
+2000-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * Makefile.in (stmp-fixproto): Acknowledge errors in fixproto.
+
+ * fixproto: If fix-header fails, exit with an error.
+
+Mon Apr 17 14:59:36 MET DST 2000 Jan Hubicka <jh@suse.cz>
+
+ * cse.c (struct check_depdendence_data): New.
+ (check_dependence): New function.
+ (invalidate): Use check_depdenence.
+
+2000-04-16 Mark Mitchell <mark@codesourcery.com>
+
+ * dwarf2out.c (DWARF_CIE_DATA_ALIGNMENT): Adjust, now that
+ UNITS_PER_WORD is unsigned.
+
+ * tree.h (struct tree_common): Remove misleading comment.
+
+2000-04-16 Dave Pitts <dpitts@cozx.com>
+
+ * Makefile.in ($(srcdir)/c-parse.y: c-parse.in): Enclose the whole
+ message in quotes. Otherwise, IBM's make program treats the '#' as the
+ start of a comment and ignores the remainder of the line.
+
+ * c-lex.c (yylex): Change for EBCDIC, lower case characters preceed
+ upper case.
+ * cccp.c (initialize_char_syntax): Allow for holes in EBCDIC.
+ * cexp.y (initialize_random_junk): Likewise.
+ * cppfiles.c (find_include_file): Cast alloca return value.
+ * cppinit.c (initialize_standard_includes): Likewise.
+ * cpplib.c (cpp_define, cpp_undef): Likewise.
+ * defaults.h (ASM_OUTPUT_ASCII): Use ISPRINT.
+ * final.c (output_asm_insn): Allow for holes in EBCDIC.
+ * fold-const.c (CHARMASK): New.
+ (real_hex_to_f): Use it.
+ * real.c (CHARMASK): New.
+ (etoasc, asctoeg): Use it.
+ (asctoeg): EBCDIC lower case characters preceed upper case.
+
+ * i370.c (mvs_add_label): Change spacing for coding conventions.
+ * i370.h (ASM_OUTPUT_CASE_LABEL): Change to the data CSECT for the
+ outputing case vectors.
+ (ASM_OUTPUT_CASE_END): New, put assembler back into code CSECT.
+ (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Remove page check,
+ since vector in in the data CSECT.
+ (ASM_OUTPUT_REG_POP, ASM_OUTPUT_REG_PUSH): Restore to correct operation.
+ * i370.md (Many patterns): Put the length in the XL directives.
+ (movdi): Put back STM and MVC in definition.
+ (floatsidf2): Correct TARGET_ELF_ABI pattern and add back the LE370
+ pattern using the TCA.
+ * oe.h (CPP_SPEC): Added to allow trigraphs.
+ * xm-oe.h (HOST_BITS_PER_LONGLONG): Change to 32. IBM's compiler does
+ not support the "long long" type.
+
+2000-04-16 Mark Mitchell <mark@codesourcery.com>
+
+ * config/mips/mips-protos.h (mips_legitimate_address_p): New
+ function.
+ (mips_reg_mode_ok_for_base_p): Likewise.
+ * config/mips/mips.h (REG_OK_STRICT_P): Don't define.
+ (REG_OK_FOR_INDEX_P): Define unconditionally.
+ (REG_MODE_OK_FOR_BASE_P): Use mips_reg_mode_ok_for_base_p.
+ (GO_IF_LEGITIMATE_ADDRESS): Use mips_legitimate_address_p.
+ * config/mips/mips.c (mips16_simple_memory_operand): Adjust now
+ that GET_MODE_SIZE is unsigned.
+ (mips_reg_mode_ok_for_base_p): Define.
+ (mips_legitimate_address_p): Likewise. Adjust now
+ that GET_MODE_SIZE is unsigned.
+ (block_move_loop): Make the number of bytes unsigned.
+ (expand_block_move): Likewise.
+ (function_arg): Make the loop counter unsigned to match the
+ boundary condition.
+
+2000-04-16 Richard Henderson <rth@cygnus.com>
+
+ * rtl.h (enum insn_note): New enumeration. Subsume
+ NOTE_INSN_DELETED and friends.
+ (GET_NOTE_INSN_NAME): Adjust index by NOTE_INSN_BIAS.
+ * rtl.c (note_insn_name): Tweak string order.
+
+2000-04-15 Zack Weinberg <zack@wolery.cumb.org>
+
+ * cpplex.c (_cpp_read_and_prescan): Enlarge len by setting it
+ to offset * 2.
+
+ * cpplex.c (output_line_command): Remove debugging prints.
+ (cpp_output_tokens): Don't write out a zero-length buffer or
+ try to see if it has a newline in it.
+ (_cpp_expand_to_buffer): Copy the source buffer before pushing.
+ (_cpp_read_and_prescan): Move shift-down of pushback bytes to
+ the end of the loop. Use memmove. Don't read past the end of
+ the buffer. Remove trailing newlines from error messages.
+
+2004-04-16 Neil Booth <NeilB@earthling.net>
+
+ * cpphash.h (SYNTAX_INCLUDE, SYNTAX_ASSERT, directive_handler): new.
+ * cpplib.c: Add new syntax flags to directive table, and
+ supporting macros.
+
+2000-04-15 Ulrich Drepper <drepper@redhat.com>
+
+ * i386.c (ix86_expand_epilogue): Yes, the x86 can pop 64k at once
+ using ret $N.
+
+2000-04-15 David Edelsohn <edelsohn@gnu.org>
+
+ * toplev.c (display_help): Prefix "f" to "sched-verbose=".
+ * haifa-sched.c: Update -fsched-verbose comments to use "=".
+
+Sat Apr 15 10:59:19 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * Makefile.in (ggc-page.o): Now includes toplev.h.
+ * ggc-page.c (toplev.h): Now included.
+ (gc_time): Remove declaration.
+ (ggc_collect): TIME now long.
+ * toplev.c (parse_time, varasm_time, gc_time): Still global; all
+ others static.
+ * toplev.h (gc_time, parse_time, gc_time): New declarations.
+
+ * toplev.c: Make *_time variable long to reduce chance of overflow.
+ (TIMEVAR): Likewise for `otime'.
+ (print_time): Arg is now long; compute percentage in FP and round.
+ * toplev.h (print_time): Arg is long.
+
+ * tree.c: Minor whitespace changes.
+
+ * configure.in (alpha*-*-*): Add config/alpha/t-alpha.
+ * configure: Rebuilt.
+ * libgcc2.c (__fixunstfDI): Renamed from __fixunstfdi.
+ (__fixunsxfDI): Renamed from __fixunsxfdi.
+ (__fixunsdfDI): Renamed from __fixunsdfdi.
+ (__fixunssfDI): Renamed from __fixunssfdi.
+ (__floatdisf): Use proper type in REP_BIT macro.
+ (__fixunsxfSI): Renamed from __fixunsxfsi.
+ (__fixunsdfSI): Renamed from __fixunsdfsi.
+ (__fixunssfSI): Renamed from __fixunssfsi.
+ * libgcc2.h: Add cases for MIN_UNITS_PER_WORD > 4.
+ Change location of macros and upper-case some names as above.
+ * longlong.h ([alpha]): Use PARAMS, not __P in decl of __udiv__qrnnd.
+ * config/alpha/t-alpha, config/alpha/qrnnd.asm: New files.
+
+ * varasm.c (assemble_variable): Add cast to remove warning.
+ (immed_real_const_1): Only use CONST[01]_RTX if not in nested function.
+
+ * flow.c (count_basic_blocks, find_basic_blocks_1): Remove last change.
+ * optabs.c (emit_libcall_block): If have REG_EH_REGION, update
+ region number to -1.
+
+2000-04-15 Richard Earnshaw (rearnsah@arm.com)
+
+ * emit-rtl.c (unshare_all_rtl_again): Unmark everything, then
+ call unshare_all_rtl.
+
+ * arm.md (movhi): REGNO_POINTER_ALIGN is now bits.
+
+Fri Apr 14 16:58:45 2000 Jim Wilson <wilson@cygnus.com>
+
+ * config/ia64/lib1funcs.asm (__divdi3, __moddi3, __udivdi3, __umoddi3):
+ Use .s1 not .s0 for all FP instructions.
+
+2000-04-14 Zack Weinberg <zack@wolery.cumb.org>
+
+ * cpplex.c (cpp_output_tokens, cpp_scan_buffer_nooutput): New public
+ interfaces.
+ (safe_fwrite, output_line_command): New static functions.
+ (cpp_expand_to_buffer): Now private to cpplib.
+ (cpp_scan_buffer): Take a printer.
+
+ * cpphash.h: Update prototypes.
+ * cpplib.h: Update prototypes.
+ (cpp_printer): New.
+ (cpp_buffer): Remove last_nominal_fname.
+ (cpp_reader): Remove lineno.
+
+ * cppmain.c: Use a cpp_printer.
+ * fix-header.c: No need to inhibit line commands. Call
+ cpp_start_read with no printer.
+
+ * cpperror.c (cpp_notice_from_errno): Provide default name.
+ * cppfiles.c (make_IHASH, _cpp_fake_ihash): New functions.
+ (find_include_file, cpp_read_file): Use make_IHASH.
+ (file_cleanup): Set control_macro and clear
+ input_stack_listing_current here.
+ (_cpp_execute_include): Don't output entering-file marker.
+ * cpphash.c (special_symbol): Look for the line number in the
+ buffer, not the reader.
+ (_cpp_macroexpand): No need to disable line commands.
+ (_cpp_dump_definition): No need to generate line commands.
+ (dump_hash_helper): Remove excess newline from output.
+ * cppinit.c (dump_special_to_buffer): No need to generate line
+ commands.
+ (cpp_printer_init): New.
+ (cpp_start_read): Take a printer, and start it up if it's not
+ NULL. No need to generate line commands.
+ (cpp_finish): Expect no buffers stacked at all. Take a
+ printer argument, and flush the output buffer if it's not
+ NULL.
+ * cpplex.c (_cpp_lex_token): Return EOF if there's no buffer.
+ Don't put two hashes at the beginning of an assertion.
+ (cpp_get_token): Don't increment pfile->lineno or emit line
+ commands here. Return EOF if there's no buffer when we get
+ EOF.
+ * cpplib.c (do_define, skip_if_group):
+ No need to disable line commands.
+ (_cpp_output_line_command): Delete function.
+ (do_line): Don't emit line commands here, but set things up so
+ they will be emitted if necessary. Use _cpp_fake_ihash to
+ make unique nominal_fnames if necessary.
+ (do_elif, do_else, _cpp_handle_eof): Call cpp_error_with_line
+ with 0 for column, not -1.
+ (_cpp_handle_eof): Don't set the control macro here. Don't
+ clear input_stack_listing_current here. Don't emit line
+ commands.
+
+2000-04-14 Geoff Keating <geoffk@cygnus.com>
+
+ * config/rs6000/sysv4.h (LINK_START_SOLARIS_SPEC): Define to empty
+ always, use the default SVR4 start address.
+
+ * config/rs6000/linux.h (LINK_SPEC): Don't define.
+ (LINK_SHLIB_SPEC): Define.
+ (LINK_START_DEFAULT_SPEC): Define.
+ (LINK_OS_DEFAULT_SPEC): Define.
+
+ * config/rs6000/sysv4.h (ENDFILE_SPEC): Use the %(endfile_*) macros.
+
+ * config/rs6000/eabi.asm (__eabi): Call __init rather than
+ __do_global_ctors to handle constructors.
+ * config/rs6000/sysv4.h (STARTFILE_ADS_SPEC): Use crtbegin.
+ (STARTFILE_YELLOWKNIFE_SPEC): Likewise.
+ (STARTFILE_MVME_SPEC): Likewise.
+ (STARTFILE_SIM_SPEC): Likewise.
+ (ENDFILE_ADS_SPEC): Use crtend.
+ (ENDFILE_YELLOWKNIFE_SPEC): Likewise.
+ (ENDFILE_MVME_SPEC): Likewise.
+ (ENDFILE_SIM_SPEC): Likewise.
+ (STARTFILE_SOLARIS_SPEC): Use crtbegin/crtbeginS.
+ (ENDFILE_SOLARIS_SPEC): Use crtend/crtendS.
+ (STARTFILE_LINUX_SPEC): Use crtbeginS for shared objects.
+ (ENDFILE_LINUX_SPEC): Use crtendS for shared objects.
+ * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Don't build eabi-ctors.o.
+ (EXTRA_MULTILIB_PARTS): Build crtbeginS/crtendS.
+ (CRTSTUFF_T_CFLAGS_S): Define.
+ * config/rs6000/eabi-ctors.c: Delete.
+
+ * config/rs6000/eabi-ci.asm (__init): Align stack to 16-byte
+ boundary.
+ (__fini): Likewise.
+ * config/rs6000/eabi-cn.asm (__init): Allow for 16-byte stack frame.
+ boundary.
+ (__fini): Likewise.
+
+Fri Apr 14 16:09:02 2000 Jim Wilson <wilson@cygnus.com>
+
+ * combine.c (force_to_mode, case LSHIFTRT): Check that shift shift
+ plus mask size is smaller or equal to the mode size.
+
+Fri Apr 14 18:07:30 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * print-rtl.c (print_rtx, case NOTE): Don't blow up if NOTE_BASIC_BLOCK
+ not yet set.
+
+ * expr.c (reload.h): Now included.
+ (emit_block_move): Set volatile_ok when checking for movstr.
+ (emit_move_1): Check for replacements in addresses in multi-word case.
+ * Makefile.in (expr.o): Now includes reload.h.
+
+ * flow.c (count_basic_blocks): Remove unused var PREV_CALL.
+ Never have a LIBCALL end a basic block.
+ (find_basic_blocks_1): Likewise.
+ Reorganize CALL_INSN cases.
+
+ * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Revert last change.
+
+Fri Apr 14 10:54:22 2000 Jim Wilson <wilson@cygnus.com>
+
+ * config/ia64/lib1funcs.asm (__ia64_nonlocal_goto): Drop obsolete
+ completers from mov.ret instruction.
+
+2000-04-14 Richard Henderson <rth@cygnus.com>
+
+ * fold-const.c (extract_muldiv): Don't distribute and widen
+ multiply across plus for non-sizetype unsigned types.
+
+2000-04-14 Richard Henderson <rth@cygnus.com>
+
+ * flow.c (find_auto_inc): Don't autoinc eliminable registers.
+ If the original source is dead in the incr insn, it's dead now.
+
+Fri Apr 14 07:40:32 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * stor-layout.c (layout_decl): Properly compare KNOWN_ALIGN to
+ see if DECL_BIT_FIELD needs to still be set.
+
+ * tree.h (struct tree_type): Make PRECISION 9 bits and MODE 7.
+
+ * dbxout.c (dbxout_type, case INTEGER_TYPE): Don't call
+ print_int_cst_octal with something that's not an INTEGER_CST.
+
+ * config/alpha/alpha.c (alpha_emit_floatuns): Ensure we pass a REG
+ and not a SUBREG to a FLOAT rtl.
+
+Thu Apr 13 19:39:56 2000 Clinton Popetz <cpopetz@cygnus.com>
+
+ * emit-rtl.c (try_split): Avoid infinite loop if the split
+ results in a sequence that contains the original insn.
+
+2000-04-13 Andreas Jaeger <aj@suse.de>
+
+ * config/mips/mips.c (expand_block_move): Pass alignment
+ argument to move_by_pieces in bits, not bytes.
+
+ * config/mips/linux.h (CPP_PREDEFINES): Also define __PIC__ and
+ __pic__ for little endian.
+
+2000-04-13 Andreas Jaeger <aj@suse.de>
+
+ * config/i386/i386-protos.h: Add prototype for
+ uno_comparison_operator.
+
+Thu Apr 13 15:55:08 MET DST 2000 Jan Hubicka <jh@suse.cz>
+
+ * alias.c (nonlocal_reference_p): Take care of CALL_INSNS's fusage.
+ * calls.c (ECF_PURE): New flag.
+ (emit_call_1): Handle ECF_PURE calls.
+ (initialize_argument_information): Unset ECF_PURE flag too.
+ (precompute_arguments): Precompute for ECF_PURE too.
+ (expand_call): Handle ECF_PURE calls too.
+ (emit_library_call_value_1): Rename no_queue argument to fn_type,
+ accept value of 2 as pure function.
+ (emit_library_call_value, emit_library_call): Rename no_queue argument
+ to fn_type.
+ * optabs.c (prepare_cmp_insn): Pass fn_type 2 to memcmp call.
+
+ * tree.h (DECL_IS_PURE): New macro.
+ (struct tree_decl): Add pure_flag.
+ * c-common.c (enum attrs): Add attribute "pure".
+ (init_attributes): Initialize attribute "pure"
+ (decl_attributes): Handle attribute "pure".
+ * extend.texi (Attribute "pure"): Document.
+ * calls.c (expand_call): Add (mem:BLK (scratch)) to "equal from"
+ in pure function.
+ (flags_from_decl_or_type): Support attribute "pure".
+
2000-04-13 Jason Merrill <jason@casey.cygnus.com>
* cpplex.c (_cpp_lex_token): Handle digraphs. Don't null-terminate
Wed Apr 12 17:20:41 MET DST 2000 Jan Hubicka <jh@suse.cz>
- (expand_call): Do not reverse args in "equal from" field.
+ * calls.c (expand_call): Do not reverse args in "equal from" field.
(emit_library_call_value_1): Emit_libcall_block for const and pure
function.
Wed Apr 12 07:51:54 2000 Catherine Moore <clm@cygnus.com>
- * calls.c (emit_library_call_value_1): Change 3rd arg to
- locate_and_pad_parm to disregard the setting of partial.
+ * calls.c (emit_library_call_value_1): Change 3rd arg to
+ locate_and_pad_parm to disregard the setting of partial.
Wed Apr 12 08:47:38 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
all (op (minus A B) 0) with (op A B).
Wed Apr 5 18:03:31 2000 Toshiyasu Morita (toshi.morita@sega.com)
- J"orn Rennecke <amylaar@cygnus.co.uk>
+ J"orn Rennecke <amylaar@cygnus.co.uk>
* sh.md (block_lump_real_i4): Add missing clobber of T_REG
(block_lump_real): Likewise.
2000-01-27 Clinton Popetz <cpopetz@cygnus.com>
- * rs6000.c (rs6000_emit_load_toc_table): Use "LCG" and
- reload_toc_labelno for non-prologue TOC reloads. Also, don't
- increment rs6000_pic_labelno here.
- (rs6000_emit_prologue): Pass TRUE to rs6000_emit_load_toc_table,
- and increment rs6000_pic_labelno here.
+ * rs6000.c (rs6000_emit_load_toc_table): Use "LCG" and
+ reload_toc_labelno for non-prologue TOC reloads. Also, don't
+ increment rs6000_pic_labelno here.
+ (rs6000_emit_prologue): Pass TRUE to rs6000_emit_load_toc_table,
+ and increment rs6000_pic_labelno here.
2000-01-24 Geoffrey Keating <geoffk@cygnus.com>
2000-01-07 David Edelsohn <edelsohn@gnu.org>
- * rs6000.c (processor_target_table): Add power3 as alias for 630.
- * aix43.h: Revert Aug 2 change.
- (HAS_INIT_SECTION): Define, not visible yet.
- (LD_INIT_SWITCH): Define, not visible yet.
- * t-aix43 (MULTILIB_OPTIONS): Revert Aug 2 change.
+ * rs6000.c (processor_target_table): Add power3 as alias for 630.
+ * aix43.h: Revert Aug 2 change.
+ (HAS_INIT_SECTION): Define, not visible yet.
+ (LD_INIT_SWITCH): Define, not visible yet.
+ * t-aix43 (MULTILIB_OPTIONS): Revert Aug 2 change.
2000-01-04 Joel Sherrill (joel@OARcorp.com>
- * config/rs6000/rtems.h: Include config/rtems.h.
+ * config/rs6000/rtems.h: Include config/rtems.h.
2000-01-04 David Edelsohn <edelsohn@gnu.org>
- * rs6000.h (HANDLE_PRAGMA_PACK): Define.
- (SLOW_UNALIGNED_ACCESS): Define.
- (CASE_VECTOR_MODE): Always use 32-bit offsets.
- (ASM_FILE_END): Generate 64-bit symbol in 64-bit mode.
- (EXTRA_SECTOIN_FUNCTIONS): Indent .csect pseudo-op.
- (toc_section): Likewise and .toc pseudo-op.
- (ASM_DECLARE_FUNCTION): Likewise. Align text more strictly in
- 64-bit mode.
- (TEXT_SECTION_ASM_OP): Likewise.
- (ASM_OUTPUT_ADD_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Always use
- 32-bit offsets.
+ * rs6000.h (HANDLE_PRAGMA_PACK): Define.
+ (SLOW_UNALIGNED_ACCESS): Define.
+ (CASE_VECTOR_MODE): Always use 32-bit offsets.
+ (ASM_FILE_END): Generate 64-bit symbol in 64-bit mode.
+ (EXTRA_SECTOIN_FUNCTIONS): Indent .csect pseudo-op.
+ (toc_section): Likewise and .toc pseudo-op.
+ (ASM_DECLARE_FUNCTION): Likewise. Align text more strictly in
+ 64-bit mode.
+ (TEXT_SECTION_ASM_OP): Likewise.
+ (ASM_OUTPUT_ADD_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Always use
+ 32-bit offsets.
1999-12-17 Jakub Jelinek <jakub@redhat.com>
2000-01-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
- * rs6000.h: Continue cleanup.
+ * rs6000.h: Continue cleanup.
* aix.h: Likewise.
* lynx.h: Likewise.
* netware.h: Likewise.
(count_or_remove_death_notes): New.
(verify_flow_info): Abort on error after all checks.
(remove_edge): Decrement n_edges.
- (remove_fake_edges): Tweek format.
+ (remove_fake_edges): Tweak format.
* haifa-sched.c (schedule_insns): Use split_all_insns.
* output.h (update_life_info): Remove declaration.
* recog.c (split_all_insns): From the corpse of split_block_insns,