+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
+ number has been set.
+ (type_hash_mark): Mark type itself.
+
+2001-09-24 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * c-lex.c (cb_def_pragma): Update.
+ (c_lex): Update, and skip padding.
+ * cppexp.c (lex, parse_defined): Update, remove unused variable.
+ * cpphash.h (struct toklist): Delete.
+ (union utoken): New.
+ (struct cpp_context): Update.
+ (struct cpp_reader): New members eof, avoid_paste.
+ (_cpp_temp_token): New.
+ * cppinit.c (cpp_create_reader): Update.
+ * cpplex.c (_cpp_temp_token): New.
+ (_cpp_lex_direct): Add PREV_WHITE when parsing args.
+ (cpp_output_token): Don't print leading whitespace.
+ (cpp_output_line): Update.
+ * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
+ do_include_common, do_line, do_ident, do_pragma,
+ do_pragma_dependency, _cpp_do__Pragma, parse_answer,
+ parse_assertion): Update.
+ (get_token_no_padding): New.
+ * cpplib.h (CPP_PADDING): New.
+ (AVOID_LPASTE): Delete.
+ (struct cpp_token): New union member source.
+ (cpp_get_token): Update.
+ * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
+ (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
+ replace_args, quote_string, stringify_arg, parse_arg, next_context,
+ enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
+ _cpp_backup_tokens, _cpp_create_definition): Update.
+ (push_arg_context): Delete.
+ (padding_token, push_token_context, push_ptoken_context): New.
+ (make_string_token, make_number_token): Update, rename.
+ (cpp_get_token): Update to handle tokens as pointers to const,
+ and insert padding appropriately.
+ * cppmain.c (struct printer): New member prev.
+ (check_multiline_token): Constify.
+ (do_preprocessing, cb_line_change): Update.
+ (scan_translation_unit): Update to handle spacing.
+ * scan-decls.c (get_a_token): New.
+ (skip_to_closing_brace, scan_decls): Update.
+ * fix-header.c (read_scan_file): Update.
+
+ * doc/cpp.texi: Update.
+
+2001-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC. Avoid
+ leak by passing malloc'ed pointer to reconcat, not concat.
+
+2001-09-24 DJ Delorie <dj@redhat.com>
+
+ * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
+
+2001-09-24 Ulrich Weigand <uweigand@de.ibm.com>:
+
+ * flow.c (delete_dead_jumptables): Delete jumptable if the only
+ reference is from the literal pool.
+
+2001-09-24 Janis Johnson <janis187@us.ibm.com>
+
+ * doc/install.texi (Final install): Request additional information
+ in mail about successful builds.
+
+2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero. Use
+ initial value of return pointer register instead of value in frame-20.
+ Revise comments.
+
+2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
+ (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
+ the libcall if there isn't a referenced identifier for the symbol.
+
+2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
+ non 64-bit machines. Use these as a plabel for the trampoline.
+ (TRAMPOLINE_SIZE): Adjust size for new words.
+ (INITIALIZE_TRAMPOLINE): Initialize new words.
+ (TRAMPOLINE_ADJUST_ADDRESS): New. Adjust address to make it a
+ pointer to the plabel in the trampoline.
+
+2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * pa.c (function_arg): Pass floating arguments in both general and
+ floating registers in indirect (dynamic) calls when generating code
+ for the 32 bit ABI and the HP assembler.
+
+2001-09-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * doc/install.texi: Markup fixes.
+ Use Solaris 2, SunOS 4 as appropriate.
+ (Specific, *-*-solaris2*): Explain this.
+ Unconditionally warn against /usr/ucb tools.
+ Remove Sun as warning, obsolete.
+ Move X11 header bug workaround here, update patches.
+ (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
+ (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
+
+2001-09-23 Zack Weinberg <zack@codesourcery.com>
+
+ * errors.h (warning, error, fatal, internal_error): Don't mark
+ with ATTRIBUTE_PRINTF_n.
+ * toplev.h (internal_error, fatal_io_error, warning, error,
+ pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
+ error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
+ Likewise.
+
+Sun Sep 23 18:19:48 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * function.c (pop_function_context_from): var_refs_queue
+ and temp slots now in GC memory.
+ (mark_function_status, free_after_compilation): Likewise;
+ also struct function now in GC memory.
+ (assign_stack_temp_for_type): struct temp_slot now in GC memory.
+ (combine_temp_slots): Likewise.
+ (schedule_fixup_var_refs): var_refs_queue now in GC memory.
+ (prepare_function_start): Use GC memory for struct function.
+ (mark_temp_slot): Deleted.
+ (gcc_mark_struct_function): struct function now in GC memory.
+
+ * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
+ code for division, not modulus.
+
+ * rtl.def (MEM): Remove obsolete part of comment.
+
+2001-09-22 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * c-format.c (init_function_format_info): Check __builtin_printf
+ and __builtin_fprintf even if -ffreestanding. Check C99 functions
+ in gnu89 mode.
+
+Sat Sep 22 09:09:32 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * c-common.c (format_attribute_table): Remove decl.
+ * tree.h (format_attribute_table, lang_attribute_table): New decls.
+ (lang_attribute_common): Likewise.
+
+ * function.c (fix_lexical_address): Use set_mem_alias_set.
+ (expand_function_start): Likewise.
+ * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
+
+ * varasm.c (output_constant): Fix unused variable warning.
+
+ * attribs.c: New file, from c-common.c.
+ (attribute_tables): Now four elements.
+ (format_attribute_table, lang_attribute_common): New variables.
+ (init_attributes): Reflect above changes.
+ (handle_mode_attribute): Delete check for wider than uintmax.
+ * c-common.c: Delete parts moved to attribs.c.
+ (enum attrs): Deleted; unused.
+ (c_format_attribute_table): New variable.
+ (c_common_lang_init): Initialize format_attribute_table with it.
+ * c-common.h (decl_attributes): Remove decl.
+ * tree.h (decl_attribute): Move it to here.
+ * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
+ (attribs.o): New rule.
+
+2001-09-22 Andreas Jaeger <aj@suse.de>
+
+ * builtins.c (c_getstr): Remove unused variable.
+
+2001-09-21 Richard Henderson <rth@redhat.com>
+
+ * reload1.c (reload): Use delete_insn instead of splatting
+ NOTE_INSN_DELETED.
+
+2001-09-21 Richard Henderson <rth@redhat.com>
+
+ * reload.c (push_secondary_reload): Don't check for "=" in output
+ constraint after ""->ALL_REGS check.
+
+2001-09-21 Richard Henderson <rth@redhat.com>
+
+ * predict.c (expected_value_to_br_prob): Use pc_set.
+
+ * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
+ ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
+
+2001-09-21 Richard Henderson <rth@redhat.com>
+
+ * rtl.h (LCT_RETURNS_TWICE): New.
+ * calls.c (emit_call_1): Set current_function_calls_setjmp for
+ ECF_RETURNS_TWICE.
+ (emit_library_call_value_1): Map LCT_RETURNS_TWICE
+ to ECF_RETURNS_TWICE.
+ * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
+ call to setjmp.
+
+ * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
+
+ * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
+ (JMP_BUF_SIZE): New.
+
+2001-09-21 Richard Henderson <rth@redhat.com>
+
+ * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
+ to R8_REGS.
+
+2001-09-21 Richard Henderson <rth@redhat.com>
+
+ * tree.def (FDESC_EXPR): New.
+ * expr.c (expand_expr): Handle it.
+ * varasm.c (initializer_constant_valid_p): Likewise.
+ (output_constant): Likewise.
+ * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
+ * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
+ (ASM_OUTPUT_FDESC): New.
+ * doc/tm.texi: Document the new macros.
+
+21-09-2001 Richard Earnshaw (reanrsha@arm.com)
+
+ * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
+ ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
+ once merging is complete.
+
+Fri Sep 21 11:20:12 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * integrate.c (allocate_initial_values): Eliminate unused arg warning.
+
+21-09-2001 Richard Earnshaw (reanrsha@arm.com)
+
+ * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
+ that would be invalid after a merge.
+
+Fri Sep 21 14:24:29 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
+ * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
+ remove some labels.
+ (flow_delete_insn): This one.
+ (delete_insn_chain): Rename from ...; do not care labels.
+ (flow_delete_insn_chain): ... this one.
+ (flow_delete_block): Remove the insns one BB has been expunged.
+ (merge_blocks_nomove): Likewise.
+ (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
+ updating BB boundaries.
+ (tidy_fallthru_edge): Likewise.
+ (commit_one_edge_insertion): Likewise.
+ * cfgbuild.c (find_basic_block): Likewise.
+ (find_basic_blocks_1): Likewise.
+ * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
+ (try_crossjump_to_edge): Likewise.
+ (try_optimize_cfg): Likewise.
+ * cse.c (delete_trivially_dead_insns): Likewise.
+ * df.c (df_insn_delete): Likewise.
+ * doloop.c (doloop_modify): Use delete_related_insns.
+ * emit-rtl.c (try_split): Likewise.
+ (remove_insn): Update BB boundaries.
+ * expect.c (connect_post_landing_pads): Use delete_related_insns.
+ * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
+ updating BB boundaries.
+ (propagate_block_delete_insn): Likewise.
+ (propagate_block_delete_libcall): Likewise.
+ * function.c (delete_handlers): Use delete_related_insns.
+ (thread_prologue_and_epilogue_insns): Likewise.
+ * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
+ * genpeep.c (gen_peephole): Use delete_related_insns.
+ * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
+ BB boundaries.
+ (find_cond_trap): Likewise.
+ * integrate.c (save_for_inline): Use delete_related_insns.
+ (copy_insn_list): Likewise.
+ * jump.c (pruge_linie_number_notes): Likewise.
+ (duplicate_loop_exit_test): Likewise.
+ (delete_computation): Likewise.
+ (delete_related_insn): Rename from ...; use delete_insn
+ (delete_insn): ... this one.
+ (redirect_jump): Use delete_related_insns.
+ * loop.c (scan_loop): Likewise.
+ (move_movables): Likewise.
+ (find_and_verify_loops): Likewise.
+ (check_dbra_loop): Likewise.
+ * recog.c (peephole2_optimize): Likewise.
+ * reg-stack.c (delete_insn_for_stacker): Remove.
+ (move_for_stack_reg): Use delete_insn.
+ * regmove.c (combine_stack_adjustments_for_block): Likewise.
+ * reload1.c (delete_address_reloads): Use delete_related_insns.
+ (fixup_abnormal_edges): Use delete_insn.
+ * recog.c (emit_delay_sequence): Use delete_related_insns.
+ (delete_from-delay_slot): Likewise.
+ (delete_scheduled_jump): likewise.
+ (optimize_skip): Likewise.
+ (try_merge_delay_insns): Likewise.
+ (full_simple_delay_slots): Likewise.
+ (fill_slots_from_thread): Likewise.
+ (relax_delay_slots): Likewise.
+ (make_return_insns): Likewise.
+ (dbr_schedule): Likewise.
+ * rtl.h (delete_insn): Rename to delete_related_insns.
+ (delete_insn, delete_insn_chain): New prototypes.
+ * ssa-ccp (sse_fast_dce): Remove deleting of DEF, as it is done
+ by df_insn_delete already.
+ * ssa-dce.c (delete_insn_bb): Use delete_insn.
+ * ssa.c (convert_from_ssa): Use delete_related_insns.
+ * unroll.c (unroll_loop): Likewise.
+ (calculate_giv_inc): Likewise.
+ (copy_loop_body): Likewise.
+
+ * i386-protos.h (ix86_libcall_value, ix86_function_value,
+ ix86_function_arg_regno_p, ix86_function_arg_boundary,
+ ix86_return_in_memory, ix86_function_value): Declare.
+ * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
+ new static valurables.
+ (x86_64_reg_class): New enum
+ (x86_64_reg_class_name): New array.
+ (classify_argument, examine_argument, construct_container,
+ merge_classes): New static functions.
+ (optimization_options): Enable flag_omit_frame_pointer and disable
+ flag_pcc_struct_return on 64bit.
+ (ix86_libcall_value, ix86_function_value,
+ ix86_function_arg_regno_p, ix86_function_arg_boundary,
+ ix86_return_in_memory, ix86_function_value): New global functions.
+ (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
+ (function_arg_advance): Handle x86_64 passing conventions.
+ (function_arg): Likewise.
+ * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
+ (RETURN_IN_MEMORY): Move offline.
+ (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
+ (FUNCTION_VALUE_REGNO_P): New macro.
+ (FUNCTION_ARG_REGNO_P): Move offline.
+ (struct ix86_args): Add maybe_vaarg.
+ * next.h (FUNCTION_VALUE_REGNO_P): Delete.
+ * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
+
+2001-09-21 Hartmut Penner <hpenner@de.ibm.com>
+
+ * s390.md: Changed attributes for scheduling.
+ * s390.c: (s390_adjust_cost, s390_adjust_priority)
+ Changed scheduling
+
2001-09-21 Joseph S. Myers <jsm28@cam.ac.uk>
Table-driven attributes.
(i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
* i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
+2001-09-19 Alexandre Petit-Bianco <apbianco@redhat.com>
+
+ * stringpool.c (get_identifier_with_length): New function.
+ * tree.h (get_identifier_with_length): New prototype.
+
2001-09-19 Alan Modra <amodra@bigpond.net.au>
David Edelsohn <edelsohn@gnu.org>
2001-09-18 Catherine Moore <clm@redhat.com>
- * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
+ * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
Define as 0.
2001-09-18 Ulrich Weigand <uweigand@de.ibm.com>:
-
- * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
- new-style tm_file specification. Specify correct tm_p_file,
- md_file, and out_file for s390x.
+
+ * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
+ new-style tm_file specification. Specify correct tm_p_file,
+ md_file, and out_file for s390x.
* config/s390/linux.h, linux64.h: Don't include other target
macro header files. Now handled via tm_file.
- * config/s390/linux.h, s390.h: (IEEE_FLOAT, TARGET_IEEE_FLOAT,
+ * config/s390/linux.h, s390.h: (IEEE_FLOAT, TARGET_IEEE_FLOAT,
TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
are defined before use.
-
+
Tue Sep 18 09:51:11 2001 Eric Christopher <ecechristo@redhat.com>
- * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
- code generation only for Gnu assembler.
+ * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
+ code generation only for Gnu assembler.
2001-09-18 Catherine Moore <clm@redhat.com>
- * config/stormy16 (LIB_SPEC): Remove -lnosys.
+ * config/stormy16 (LIB_SPEC): Remove -lnosys.
2001-09-18 Richard Sandiford <rsandifo@redhat.com>