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