+2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * c-common.c (c_format_attribute_table): Make format and
+ format_arg attributes apply to function types rather than to
+ decls.
+ (is_valid_printf_arglist): Construct an attribute list and pass
+ that to check_function_format rather than a name.
+ * c-common.h (check_function_format): Adjust prototype.
+ * c-decl.c (duplicate_decls): Preserve attributes from type of
+ built-in decl when allowing for harmless conflict in types.
+ * c-format.c (record_function_format,
+ record_international_format, function_format_list,
+ international_format_info, international_format_list): Remove.
+ (function_format_info): Remove next, name and assembler_name.
+ Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
+ (decode_format_attr): New.
+ (handle_format_attribute): Handle receiving a type rather than a
+ decl. Call decode_format_attr. Store format information in a
+ function_format_info.
+ (handle_format_arg_attribute): Correct comment. Handle receiving
+ a type rather than a decl. Use unsigned HOST_WIDE_INT for
+ arg_num.
+ (check_format_info_recurse, check_format_info_main): Take argument
+ numbers as unsigned HOST_WIDE_INT.
+ (check_function_format): Take a list of attributes from the
+ function type rather than a name or assembler name. Check for
+ format attributes in that list and the attributes on the type of
+ the current function rather than looking through
+ function_format_list.
+ (check_format_info): Use unsigned HOST_WIDE_INT for argument
+ numbers.
+ (check_format_info_recurse): Take format_arg attributes from the
+ type of the function calls rather than using
+ international_format_list. Allow for multiple format_arg
+ attributes.
+ * c-typeck.c (build_function_call): Pass type attributes to
+ check_function_format rather than name or assembler name. Don't
+ require there to be a name or assembler name to check formats.
+
+2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * attribs.c (decl_attributes): Possibly call
+ insert_default_attributes to insert default attributes on
+ functions in a lazy manner.
+ * builtin-attrs.def: New file; define the default format and
+ format_arg attributes.
+ * c-common.c (c_format_attribute_table): Move to earlier in the
+ file.
+ (c_common_nodes_and_builtins): Initialize format_attribute_table.
+ (enum built_in_attribute, built_in_attributes,
+ c_attrs_initialized, c_init_attributes,
+ c_common_insert_default_attributes): New.
+ (c_common_lang_init): Don't initialize format_attribute_table. Do
+ call c_init_attributes.
+ * Makefile.in (c-common.o): Depend on builtin-attrs.def.
+ * c-common.h (init_function_format_info): Don't declare.
+ (c_common_insert_default_attributes): Declare.
+ * c-decl.c (implicitly_declare, builtin_function): Call
+ decl_attributes.
+ (init_decl_processing): Don't call init_function_format_info.
+ (insert_default_attributes): New.
+ * c-format.c (handle_format_attribute,
+ handle_format_arg_attribute): Be quiet about inappropriate
+ declaration when applying default attributes.
+ (init_function_format_info): Remove.
+ * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
+ (insert_default_attributes): Declare.
+
+2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
+
+2001-10-01 Jim Wilson <wilson@redhat.com>
+
+ * sched-deps.c (add_dependence): When elide conditional dependence,
+ check that insn doesn't modify cond2.
+
+2001-10-01 Dale Johannesen <dalej@apple.com>
+
+ * config/rs6000/rs6000.h (enum processor_type): Add support
+ for 7400 (G4) and 7450.
+ (RTX_COSTS): Ditto.
+ * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
+ (rs6000_issue_rate): Ditto.
+ (rs6000_adjust_cost): Fix cycle counts for compares.
+ (debug_stack_info): Fix an obvious typo.
+ * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
+ * doc/invoke.texi: Document.
+ * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
+ for Darwin.
+ (PROCESSOR_DEFAULT): Ditto.
+
+2001-10-01 Loren J. Rittle <ljrittle@acm.org>
+
+ * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
+ (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
+ later recursive make invocation.
+
+2001-10-01 Hans Boehm <boehm@acm.org>
+
+ * optabs.c (emit_libcall_block): When using non-call exceptions,
+ don't add REG_LIBCALL reg notes to trapping calls.
+
+2001-10-01 David Billinghurst <David.Billinghurst@riotinto.com>
+
+ * flow.c (propagate_block_delete_libcall): Remove unused first arg
+ (propagate_one_insn): Update for above change
+
+2001-10-01 David Billinghurst <David.Billinghurst@riotinto.com>
+
+ * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
+ _Unwind_GetTextRelBase): Argument is unused.
+
+Mon Oct 1 19:20:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
+ Loop through NOPs, placeholders, and components.
+ Don't go through NOPs if change mode.
+ (record_alias_subset): Do nothing if SUBSET and SET are the same.
+ * emit-rtl.c (set_mem_alias_set): Enable check.
+ * expr.c (find_placeholder): New function.
+ (expand_expr, case PLACEHOLDER_EXPR): Use it.
+ (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
+ to modify it and avoid unneeded copies.
+ * expr.h (expand_expr): Always define.
+ (find_placeholder): New declaration.
+
+2001-10-01 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
+ operand 2 is the stack pointer.
+ ("addr-peephole"): Fix address computation peephole when operand 2
+ is the stack pointer.
+
+Mon Oct 1 09:26:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
+ (ix86_setup_incoming_varargs): Likewise.
+
+2001-10-01 Jason Merrill <jason_merrill@redhat.com>
+
+ * stor-layout.c (layout_type): Don't complain about too-large
+ array here.
+
+Mon Oct 1 06:43:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * function.c (keep_stack_depressed): Don't use delete_insn.
+
+ * expr.h (set_mem_alias_set): Move decl to here.
+ * rtl.h (mem_attrs): New typedef and struct.
+ (union rtunion_def): Add field for mem_attrs.
+ (X0MEMATTR, MEM_ATTRS): New macros.
+ (MEM_ALIAS_SET): Use MEM_ATTRS.
+ (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
+ (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
+ (set_mem_alias_set): Delete decl from here.
+
+ * alias.c (set_mem_alias_set): Delete from here.
+ * emit-rtl.c (mem_attrs_htab): New variable.
+ (rtx_htab_mark, rtx_htab_mark_1): Deleted.
+ (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
+ (mem_attrs_mark, get_mem_attrs): Likewise.
+ (gen_rtx_MEM): Clear MEM_ATTRS.
+ (set_mem_attributes): Move to here.
+ (set_mem_alias_set): Likewise, and call get_mem_attrs.
+ (init_emit_once): const_int_htab now deletable htab.
+ Initialize mem_attrs_htab.
+ * explow.c (set_mem_attributes): Delete from here.
+ * function.c (put_var_into_stack): Clear MEM_ATTRS.
+ (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
+ * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
+ * reload1.c (reload): Rework changing REG to MEM.
+
+2001-09-30 H.J. Lu <hjl@gnu.org>
+
+ * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
+ * config.in: Rebuild.
+
+2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
+ ("tsthi_1"): Avoid allocation in register y.
+ ("*movqi_68hc12"): Reorganize and fix constraints.
+ ("zero_extendqisi2"): Prefer d over x and y for operand 1.
+ ("addqi3"): Likewise.
+ ("addhi3"): Fix constraints.
+ ("*logicalhi3_zexthi"): Disparage soft registers.
+
+2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
+ to tmp reg.
+
+2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
+ that we use setjmp/longjmp exceptions.
+
+2001-09-30 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
+ POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
+ struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
+ _cpp_pool_alloc, _cpp_next_chunk): Remove.
+ (_cpp_extend_buff, BUFF_ROOM): Update.
+ (_cpp_append_extend_buff): New.
+ (struct cpp_reader): Remove macro_pool, add a_buff.
+ * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
+ macro_pool.
+ (cpp_destroy): Free a_buff instead of macro_pool.
+ * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
+ new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
+ _cpp_pool_alloc, ): Remove.
+ (parse_number, parse_string): Update use of _cpp_extend_buff.
+ (_cpp_extend_buff): Update.
+ (_cpp_append_extend_buff, cpp_aligned_alloc): New.
+ * cpplib.c (glue_header_name, parse_answer):
+ Update use of _cpp_extend_buff.
+ (cpp_register_pragma, cpp_register_pragma_space): Use
+ _cpp_aligned_alloc.
+ (do_assert, do_unassert): Check for EOL, update.
+ * cppmacro.c (stringify_arg, collect_args): Update to use
+ _cpp_extend_buff and _cpp_append_extend_buff.
+ (save_parameter, parse_params, alloc_expansion_token,
+ _cpp_create_definition): Rework memory management.
+
+2001-09-29 Andris Pavenis <pavenis@lanet.lv>
+
+ * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
+ update md_exec_prefix.
+ (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
+ to string constant.
+
+2001-09-30 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
+ (SELECT_CC_MODE): Use s390_select_ccmode.
+ * config/s390/s390-protos.h (s390_select_ccmode): Add.
+ * config/s390/s390.c (s390_select_ccmode): New.
+ (s390_match_ccmode): Add CCLmode.
+ (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
+ (output_branch_condition, output_inverse_branch_condition): Removed.
+ (print_operand): Use s390_branch_condition_mnemonic.
+ * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
+ subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
+ (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
+
+ * config/s390/s390.c (check_and_change_labels): Preserve CC mode
+ when converting conditional branches to far branches.
+ * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
+ cmpint_di): Use CCSmode instead of CCUmode.
+
+ * config/s390/s390.c (legitimate_la_operand_p): New.
+ * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
+ * config/s390/s390.md (movsi): Convert load address patterns to
+ arithmetic operations when necessary.
+ (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
+ (do_la): Renamed to *do_la and use legitimate_la_operand_p.
+ (*do_la_reg_0): Don't use before reload.
+
+ * config/s390/s390.c (legitimize_address): Make more efficient
+ use of two-register addressing mode.
+
+ * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
+ with -mno-backchain in some corner cases.
+
+ * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
+
+2001-09-29 Alexandre Oliva <aoliva@redhat.com>
+
+ * reload.c (find_reloads): Mark new USE insns with QImode.
+ (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
+ find_reloads_subreg_address): Likewise.
+ * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
+ encountered.
+ * reload1.c (reload_combine_note_use): Likewise, inside USEs and
+ CLOBBERs.
+ (reload): Make sure there are no USEs with mode other than
+ VOIDmode. At the end, remove those marked with QImode.
+
+2001-09-29 Per Bothner <per@bothner.com>
+
+ * cppdefault.c (cpp_include_defaults): Also search PREFIX_INCLUDE_DIR.
+ * Makefile.in (includedir): Rename to local_includedir.
+ (includedir): Define as $(prefix)/include.
+ * config.in (PREFIX_INCLUDE_DIR): New variable.
+ * configure.in (PREFIX_INCLUDE_DIR): Test for new variable.
+
+2001-09-29 Bernd Schmidt <bernds@redhat.com>
+
+ * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
+ storehps builtins.
+ * doc/extend.texi (Vector Extensions): New node.
+ * doc/invoke.texi (Machine Dependent Options): Add documentation for
+ i386 -mmmx, -msse, -m3dnow.
+
+Sat Sep 29 15:08:16 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
+
+2001-09-29 Hans-Peter Nilsson <hp@axis.com>
+
+ * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
+
+ * doc/invoke.texi (Optimize Options): Delete spurious @table.
+
+2001-09-28 Richard Henderson <rth@redhat.com>
+
+ * varasm.c (assemble_integer): Bound alignment check by
+ BIGGEST_ALIGNMENT.
+
+ * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
+
+2001-09-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
+
+2001-09-25 Bernd Schmidt <bernds@redhat.com>
+
+ Mostly from Graham Stott <grahams@redhat.com>
+ * c-common.c (type_for_mode): Add support for V2SFmode.
+ * tree.c (build_common_tree_nodes_2): Likewise.
+ * tree.h (enum tree_index, global_trees): Likewise.
+ * config/i386/i386.c (x86_3dnow_a): New variable.
+ (override_options): Support 3Dnow extensions.
+ (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
+ Athlon's version of 3Dnow.
+ (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
+ (ix86_expand_builtin): Handle them.
+ (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
+ * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
+ TARGET_3DNOW_A): New macros.
+ (TARGET_SWITCHES): Add 3Dnow switches.
+ (VALID_MMX_REG_MODE_3DNOW): New macro.
+ (VECTOR_MODE_SUPPORTED_P): Use it.
+ (enum ix86_builtins): Add entries for 3Dnow builtins.
+ * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
+ pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
+ pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
+ pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
+ pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
+ pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
+ (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
+ mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
+ mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
+ sfence_insn, prefetch): Make these available if TARGET_SSE or
+ TARGET_3DNOW_A.
+
+Fri Sep 28 19:18:40 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
+ ix86_va_start, ix86_build_va_list): Declare.
+ * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
+ ix86_va_start, ix86_build_va_list): New global functions.
+ * i386.md (sse_prologue_save_insn): New insn.
+ (sse_prologue_save): New expander.
+ * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
+ BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
+
+2001-09-28 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
+ Use size_t everywhere, make definitions consistent with
+ prototypes.
+
+Fri Sep 28 14:59:34 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * gcse.c (replace_store_insn): Use delete_insn.
+ * loop.c (move_movables): Likewise; avoid delete_insn
+ from clobbering notes moved elsewhere.
+ (check_dbra_loop): Use delete_insn.
+ * ssa.c (convert_from_ssa): Likewise.
+ * cse.c (cse_insn): Use delete_insn.
+
+2001-09-28 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpphash.h (struct cpp_buff): Make unsigned.
+ (_cpp_get_buff): Take length of size_t.
+ (_cpp_unaligned_alloc): New.
+ (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
+ (struct cpp_reader): Remove ident_pool. Add u_buff.
+ * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
+ (cpp_destroy): Destroy u_buff, not ident_pool.
+ * cpplex.c (parse_number, parse_string, save_comment,
+ cpp_token_as_text): Update to use the unaligned buffer.
+ (new_buff): Make unsigned.
+ (_cpp_unaligned_alloc): New.
+ * cpplib.c (glue_header_name): Update to use the unaligned buffer.
+ * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
+ Similarly.
+ (collect_args): Make unsigned.
+
+2001-09-27 Zack Weinberg <zack@codesourcery.com>
+
+ * cpplex.c (cpp_output_token): Use a putc loop for
+ SPELL_OPERATOR, and fwrite for SPELL_IDENT.
+
+ * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
+ * configure, config.in: Regenerate.
+ * system.h: Replace fwrite and fprintf with their unlocked
+ variants if available.
+
+2001-09-27 Richard Henderson <rth@redhat.com>
+
+ * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
+ in favour of .eh_frame.
+
+2001-09-27 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
+ to macros.
+ (LIBCALL_VALUE): Likewise.
+
+2001-09-27 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpphash.h: Update comment.
+ * cpplex.c: Update comments.
+ (_cpp_can_paste): Remove.
+ * cpplib.h (_cpp_can_paste): Remove.
+ * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
+ lexer rather than _cpp_can_paste.
+
+2001-09-27 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * doc/cppinternals.texi: Update.
+
+2001-09-26 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpphash.h (struct cpp_pool): Remove locks and locked.
+ (struct cpp_context): Add member buff.
+ (struct cpp_reader): Remove member argument_pool.
+ (_cpp_lock_pool, _cpp_unlock_pool): Remove.
+ * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
+ * cpplex.c (chunk_suitable): Remove pool argument.
+ (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
+ (new_buff, _cpp_extend_buff): Update.
+ (_cpp_get_buff): Fix silly pointer bug. Be more selective about
+ which buffer is returned.
+ (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
+ (_cpp_lock_pool, _cpp_unlock_pool): Remove.
+ * cppmacro.c (lock_pools, unlock_pools): Remove.
+ (push_ptoken_context): Take a _cpp_buff.
+ (enter_macro_context): Pool locking removed.
+ (replace_args): Use a _cpp_buff for the replacement list with
+ arguments replaced.
+ (push_token_context): Clear buff.
+ (expand_arg): Use _cpp_pop_context.
+ (_cpp_pop_context): Free a context's buffer, if any.
+
+2001-09-26 DJ Delorie <dj@redhat.com>
+
+ * c-typeck.c (digest_init): Check for sizeless arrays.
+
+2001-09-26 Richard Henderson <rth@redhat.com>
+
+ * optabs.c (init_one_libfunc): Create a dummy function type
+ instead of using error_mark_node.
+
+2001-09-26 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
+ _cpp_extend_buff, _cpp_free_buff): New.
+ (struct cpp_reader): New member free_buffs.
+ * cppinit.c (cpp_destroy): Free buffers.
+ * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
+ _cpp_extend_buff, _cpp_free_buff): New.
+ * cpplib.h (struct cpp_options): Remove unused member.
+ * cppmacro.c (collect_args): New. Combines the old parse_arg
+ and parse_args. Use _cpp_buff for memory allocation.
+ (funlike_invocation_p, replace_args): Update.
+
+Wed Sep 26 13:20:51 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * final.c (final_scan_insn): Use delete_insn instead of delete_note.
+
+2001-09-25 Andrew Haley <aph@cambridge.redhat.com>
+
+ * except.c (sjlj_mark_call_sites): Change address inside sequence.
+
+2001-09-24 Andrew Haley <aph@cambridge.redhat.com>
+
+ * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
+ glibc.
+
+2001-09-25 Janis Johnson <janis187@us.ibm.com>
+ Jim Wilson <wilson@redhat.com>
+
+ * doc/install.texi (Specific, ia64-*-linux): Document.
+
+Tue Sep 25 17:13:56 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * Makefile.in (cfgrtl.o): Add.
+ * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
+ free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
+ free_aux_for_edge): Declare.
+ * cfg.c
+ (HAVE_return): Undefine.
+ * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
+ free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
+ free_aux_for_edge): New global functions.
+ (first_delete_block): New static variable.
+ (init_flow): Clear first_delete_block.
+ (basic_block_for_insn, label_value_list, tail_recursion_label_list,
+ can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
+ try_redirect_by_replacing_jump, last_loop_beg_note,
+ back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
+ delete_insn, delete_insn_chain, create_basic_block_structure,
+ create_basic_block, flow_delete_block, compute_bb_for_insn,
+ free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
+ set_block_for_new_insns, split_block, merge_blocks_nomove,
+ block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
+ redirect_edge_and_branch, force_nonfallthru_and_redirect,
+ force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
+ tidy_fallthru_edges, split_edge, insert_insn_on_edge,
+ commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
+ debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
+ purge_all_dead_edges): Move to ....
+ * cfgrtl.c: New file; .... Here.
+
+ * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
+ (reroder_basic_block): Use alloc_aux_for_blocks.
+ * predict.c (estimate_bb_frequencies): Likewise; use
+ alloc_aux_for_edges.
+ * profile.c (compute_branch_probabilities): Likewise.
+ (branch_prob): Likewise.
+ * reg-stack.c (reg_to_stack): Likewise.
+
+ * emit-rtl.c (emit_insns_after): Never return NULL.
+
+ * basic-block.h (set_block_for_new_insns): Delete.
+ * cfgrtl.c (set_block_for_new_insns): Delete.
+
+ * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
+ calls when crossjumping.
+
+ * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
+ * unroll.c (copy_loop_body): Use delete_insn.
+
+ * final.c (final, final_scan_insn): Use delete_insn/delete_note.
+ * function.c (fixup_var_refs_insn, fixup_var_refs_1,
+ keep_stack_depressed): Likewise.
+ * gcse.c (cprop_cc0_jump): Likewise.
+ * local-alloc.c (update_equiv_regs): Likewise.
+ * loop.c (scan_loop, loop_delete_insns): Likewise.
+ * regmove.c (try_auto_increment, fixup_match_1): Likewise.
+ * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
+ delete_output_reload, delete_address_reloads_1,
+ reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
+ Likewise.
+ * sibcall.c (replace_call_placeholder): Likewise.
+ * cse.c (cse_insn): Likewise.
+
+2001-09-25 Bernd Schmidt <bernds@redhat.com>
+
+ From Graham Stott <grahams@redhat.com>
+ (def_builtin): Only define builtins appropriate for target_flags. All
+ callers changed.
+ (builtin_decsription): Add new field mask which is used to determine
+ when to define the builtin via the macro def_builtin.
+
+ (bdesc_comi): Initialise new mask fields.
+ (bdesc_2srg): Likewise.
+ (bdesc_1arg): Likewise.
+
+ * config/i386/i386.c (ix86_init_builtins): Correct return type
+ building v4hi_ftype_v4hi_int_int tree node.
+ (ix86_expand_sse_comi): Fix typo swapping operands.
+ Don't swap comparision condition, it is already swapped.
+ (ix86_expand_sse_compare): Before swapping operands
+ move operand 1 into new rtx and not the target rtx.
+ Don't swap comparison condition, it is already swapped.
+ Always check whether we need to create a new TARGET.
+
+ * config/i386/i386.md: (sse_comi) Fix typos.
+ (sse_ucomi): Likewise.
+ (cvtss2si): Fix operand 0 contraint.
+ (cvttss2si): Likewise.
+ (sse_unpckhps): Fix mode for operand 2.
+ (sse_unpcklps): Likewise.
+
+2001-09-25 Graham Stott <grahams@redhat.com>
+
+ * sibcall.c (skip_copy_to_return_value): Tighten return value
+ copy check.
+
+2001-09-24 David Edelsohn <edelsohn@gnu.org>
+
+ * rs6000.c (lwa_operand): Address must be word aligned.
+
Mon Sep 24 18:57:59 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* tree.c (type_hash_marked_p): Consider as marked if debug symbol
2001-09-24 Janis Johnson <janis187@us.ibm.com>
* doc/install.texi (Final install): Request additional information
- in mail about successful builds.
+ in mail about successful builds.
2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>