+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
(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.
+ (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.
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.