This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

scan_one_insn() doesn't keep REG_N_REFS accurate


scan_one_insn() will optimize two-address insns that require operand1
to match operand0 by introducing a copy insn from operand1 to operand0
before the two-address insn.  However, even though it increments
REG_N_SETS, it doesn't increment REG_N_REFS (that should be REG_N_SETS
+ number of uses).

This causes local-alloc to abort() if a pseudo was set once and used
once, before the transformation.  update_equiv_regs() would note that
REG_N_REFS was 2 and that the first set of the register was movable,
so it would set the replace flag for the pseudo.  However, when it got
to the second set, it would call no_equiv(), clearing init_insns and
replacement, but not the replace flag.  Then, when it got to the use
of the pseudo, it would abort() because init_insns was (const_int 0)
when processing the REG_DEATH note, or crash because equiv_insns would
be set to NULL.

Unfortunately, I can't post the test-case that triggered the problem
on mn10300-elf, but I can give more concrete scenario presenting the
relevant insns before the transformation by scan_one_insn() and at the
point of the crash in update_equiv_regs().

Before:

(parallel[ 
            (set (reg:SI 63)
                (div:SI (const_int 1 [0x1])
                    (reg/v:SI 60)))
            (set (reg:SI 64)
                (mod:SI (const_int 1 [0x1])
                    (reg/v:SI 60)))
        ] ) 25 {divmodsi4}
(set (reg:SI 0 d0) (reg:SI 63))

After:

(set (reg:SI 63)
     (const_int 1 [0x1]))
(expr_list:REG_EQUIV (const_int 1 [0x1]) (nil))

(parallel[ 
            (set (reg:SI 63)
                (div:SI (reg:SI 63)
                    (reg/v:SI 60)))
            (set (reg:SI 64)
                (mod:SI (reg:SI 63)
                    (reg/v:SI 60)))
        ] ) 25 {divmodsi4}
(expr_list:REG_DEAD (reg/v:SI 60)
  (expr_list:REG_UNUSED (reg:SI 64)
    (nil)))

(set (reg/i:SI 0 d0)
     (reg:SI 63))
(expr_list:REG_DEAD (reg:SI 63) (nil))

I'm tempted to check this in as obviously correct, but, just in case,
I'll ask: is this ok to install?

Index: gcc/ChangeLog
from  Alexandre Oliva  <aoliva@redhat.com>

	* regclass.c (scan_one_insn): Update REG_N_REFS when optimizing
	handling of two-address insns.

<<<<<<< ChangeLog
<<<<<<< ChangeLog
<<<<<<< ChangeLog
<<<<<<< ChangeLog
<<<<<<< ChangeLog
<<<<<<< ChangeLog
2001-04-26  Alexandre Oliva  <aoliva@redhat.com>

	Re-installed 2001-01-09's patch:
	* hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
	if it's wider than long and the target's long is wider than the
	host's.
=======
=======
=======
2001-05-01  Jeffrey Oldham  <oldham@codesourcery.com>

	* invoke.texi (Optimize Options): Add documentation for `--param
	max-delay-slot-insn-search' and `--param
	max-delay-slot-live-search' and reorder --param section.
	* params.def: Modify initial comment.
	* params.h (param_info): Add `help' member.
	* toplev.c (lang_independent_params): Include `help' description.
	(display_help): Print --param parameters.

2001-05-01  Zack Weinberg  <zackw@stanford.edu>

	* config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
	Remove references to deleted files.
	(*-*-openbsd): No need to override xmake_file.
	(*-*-sysv4): Treat like *-*-sysv.

	* configure.in: Probe for ldopen in various places, and set up
	collect2 to be linked with them if found.
	Don't dink with Windows registry stuff unless $host_os is a
	Win32 os name.  Check to see if we need -ladvapi32.
	* configure: Regenerate.

	* Makefile: Get rid of CLIB and HOST_CLIB.
	Substitute in COLLECT2_LIBS and link collect2 against its contents.
	* build-make: Get rid of HOST_CLIB.

	* config/a29k/x-unix, config/alpha/x-osf, config/i386/x-aix,
	config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
	config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
	config/mips/x-sysv, config/rs6000/x-aix31, config/rs6000/x-aix41,
	config/rs6000/x-rs6000: Delete.

	* config/i386/x-cygwin, config/m68k/t-aux, config/mips/x-iris:
	Don't set CLIB.

	24 x-host fragments remain, 0 x-cpu, 3 top level.

2001-05-01  Zack Weinberg  <zackw@stanford.edu>

	* aclocal.m4 (gcc_AC_C_CHAR_BIT): Correct test program.
	* configure: Regenerate.

>>>>>>> 1.9901
2001-05-01  Angela Marie Thomas <angela@cygnus.com>

	* Makefile.in (install-headers): Remove redundant dependency.

2001-05-01  Nathan Sidwell  <nathan@codesourcery.com>

	* c-tree.texi (USING_STMT): Document.

2001-05-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* bitmap.c: Change NULL_PTR to NULL or "(rtx*)0".
	* c-common.c: Likewise.
	* c-decl.c: Likewise.
	* combine.c: Likewise.
	* rs6000.c: Likewise.
	* except.c: Likewise.
	* explow.c: Likewise.
	* expr.c: Likewise.
	* fold-const.c: Likewise.
	* function.c: Likewise.
	* gcc.c: Likewise.
	* gcse.c: Likewise.
	* integrate.c: Likewise.
	* loop.c: Likewise.
	* objc/objc-act.c: Likewise.
	* recog.c: Likewise.
	* reg-stack.c: Likewise.
	* reload.c: Likewise.
	* reload1.c: Likewise.
	* simplify-rtx.c: Likewise.
	* stmt.c: Likewise.
	* varasm.c: Likewise.

2001-05-01  Gabriel Dos Reis  <gdr@codesourcery.com>

	* diagnostic.def: New file.
	* diagnostic.h (diagnostic_t): New enum.
	* Makefile.in (diagnostic.o): Depend on diagnostic.def

2001-04-30  Zack Weinberg  <zackw@stanford.edu>

	* tsystem.h: Test only POSIX for availability of string.h 
	and time.h.
	* config.gcc (all systems): If USG appeared in xm_defines,
	change it to POSIX.  If both USG and POSIX appeared, just
	delete USG. Remove unnecessary quotes around xm_defines
	settings.
	(m68k-crds-unos*): Don't #define unos - tested nowhere.
	(m68k-apple-aux*): Don't #define AUX - tested nowhere.
	(alpha*-*-linux*ecoff*, powerpc-*-linux*libc1,
	powerpc-*-linux*): No need to set xm_defines - handled by
	global settings for *-*-linux*.

2001-04-30  Zack Weinberg  <zackw@stanford.edu>

	* dbxout.c, mips-tfile.c, config/mips/mips.c, xcoffout.c:
	Always include gstab.h, not system stab.h.  Don't provide
	default definitions of N_CATCH or N_OPT.  Always use the
	gstab.h variant of STAB_CODE_TYPE.
	* final.c: Don't include stab.h/gstab.h at all, or provide
	defaults for N_SLINE and N_SOL.

	* xcoffout.c: Can assume N_MAIN, N_DSLINE, N_BSLINE, N_BINCL,
	N_EINCL, N_EXCL, N_M2C, N_SCOPE, N_CATCH, and N_OPT are
	available.
	* sdbout.c: Always include gsyms.h instead of system syms.h.

	* configure.in: No need to check for stab.h.
	* configure, config.in: Regenerate.
	* Makefile.in (final.o): Don't depend on gstab.h.

2001-04-30  Mark Mitchell  <mark@codesourcery.com>
	Richard Henderson  <rth@redhat.com>

	* extend.texi: Improve documentation of volatile asms.

2001-04-30  Mark Mitchell  <mark@codesourcery.com>

	* c-tree.texi: Fix thinko.
	* gcc.texi: Likewise.

2001-04-30  Richard Henderson  <rth@redhat.com>

	* c-common.c (c_promoting_integer_type_p): New function, from the
	corpse of old macro.  Properly promote too-small enumerations and
	booleans.  Adjust all callers.
	* c-common.h (C_PROMOTING_INTEGER_TYPE_P): Remove.
	(c_promoting_integer_type_p): Declare.
	* c-decl.c: Adjust C_PROMOTING_INTEGER_TYPE_P invocations.
	* c-typeck.c: Likewise.
	(default_conversion): Remove now redundant boolean check.

=======
>>>>>>> 1.9240.2.295
=======
=======
>>>>>>> 1.9911
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
2001-04-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* c-aux-info.c: NULL_PTR->NULL in calls to `concat'.

	* gcc.c: Likewise.
=======
>>>>>>> 1.9240.2.295

<<<<<<< ChangeLog
	* prefix.c: Likewise.
=======
2001-04-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
>>>>>>> 1.9240.2.295

<<<<<<< ChangeLog
2001-04-28  Stan Shebs  <shebs@apple.com>
=======
	* pa.c (hppa_init_pic_save): Update last_parm_insn after emitting
	pic save insn.
>>>>>>> 1.9240.2.295

<<<<<<< ChangeLog
	* objc/objc-act.c (handle_class_ref): Rewrite to flush target
	specific code and use new macro ASM_DECLARE_UNRESOLVED_REFERENCE.
	* config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Define.
	* tm.texi (ASM_DECLARE_UNRESOLVED_REFERENCE): Document.

	* config/darwin.h (STANDARD_EXEC_PREFIX): Don't define.
	(NEXT_OBJC_RUNTIME): Define.

Sat Apr 28 21:02:58 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* rtl.h (simplify_gen_relational): Add cmp_mode parameter.
	* simplify-rtx.c (simplify_gen_relational): Likewise.
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
	* i386.h (VALID_SSE_REG_MODE): Accept MMX modes if SSE2
	* i386.md (movsi_1, movdi2, movdi_1_rex64): Handle SSE2 moves.
=======
2001-04-30  Mark Mitchell  <mark@codesourcery.com>
>>>>>>> 1.9240.2.295
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
	* extend.texi (extended asm): Fix typo.

Sat Apr 28 10:32:26 2001  Jeffrey A Law  (law@cygnus.com)

=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
	* md.texi: Use XX-bit instead of XXbit or XX bit where
	appropriate.
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
=======
	* md.texi: Use XX-bit instead of XXbit or XX bit where
	appropriate.
>>>>>>> 1.9240.2.295
=======
	* invoke.texi: Update section on Link Options accordingly.
>>>>>>> 1.9902

<<<<<<< ChangeLog
2001-04-28  Andreas Jaeger  <aj@suse.de>
	Richard Henderson  <rth@redhat.com>
	* md.texi (Machine Constraints): Fix description of "A" for
	i386.

=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
>>>>>>> 1.9899
2001-04-27  Jason Merrill  <jason_merrill@redhat.com>

	* except.c (get_exception_filter): word_mode, not Pmode.

=======
>>>>>>> 1.9240.2.295
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog

2001-04-26  Mark Mitchell  <mark@codesourcery.com>
	* invoke.texi: Document more C++ command-line options.
=======

>>>>>>> 1.9902
<<<<<<< ChangeLog
=======
>>>>>>> 1.9902
>>>>>>> 1.9870
<<<<<<< ChangeLog

<<<<<<< ChangeLog
	* ia64.h (MD_SCHED_REORDER, MD_SCHED_REORDER2): Pass CLOCK to called
	function.
	* ia64-protos.h (ia64_sched_reorder): Additional arg for clock.
	* ia64.c (nop_cycles_until): New function.
	(prev_cycle, prev_first, last_issued): New static variables.
	(ia64_sched_reorder): Additional arg for clock.
	On final scheduling pass, emit extra NOPs as needed.
	Set prev_first and prev_cycle.
	(ia64_sched_reorder2): Pass clock arg down to ia64_sched_reorder.
	(ia64_variable_issue): Set last_issued.

2001-04-20  Alexandre Oliva  <aoliva@redhat.com>
	* config/i386/i386.c (ix86_expand_int_movcc,
	ix86_expand_strlensi_unroll_1): Sign-extend CONST_INTs.

2001-04-20  Geoff Keating  <geoffk@redhat.com>

	* config/rs6000/rs6000.md (ctrsi_internal1, ctrsi_internal2,
	ctrsi_internal3, ctrsi_internal4, ctrsi_internal5,
	ctrsi_internal6, ctrdi_internal1, ctrdi_internal2,
	ctrdi_internal3, ctrdi_internal4, ctrdi_internal5,
	ctrdi_internal6): In the short-branch case, this insn is only 4
	bytes long.  Reported by Reza Yazdani <reza@apple.com>.

2001-04-20  Jakub Jelinek  <jakub@redhat.com>

	* reg-stack.c (check_asm_stack_operands): Issue error if "=t" resp.
	"=u" is used together with "st" resp. "st(1)" clobber.
=======
>>>>>>> 1.9240.2.295

<<<<<<< ChangeLog
2001-04-20  Jakub Jelinek  <jakub@redhat.com>
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
2001-04-19  Zack Weinberg  <zackw@stanford.edu>

	* toplev.c: Excise all code for the undocumented -dm option.
	(float_signal): Call signal just once, unconditionally.

2001-04-19  Geoff Keating  <geoffk@redhat.com>

	* fold-const.c (fold): Use first_rtl_op rather than
	TREE_CODE_LENGTH when looping over parameters of a tree.
	Correct strange grouping in test for evaluated SAVE_EXPR.
=======
	* ia64.c (ia64_flag_schedule_insns2): New variable.
	(ia64_override_options): Initialize it.  Clear
	flag_schedule_insns_after_reload.
	(ia64_reorg): Only do scheduling if ia64_flag_schedule_insns2.
>>>>>>> 1.9240.2.295

Thu Apr 19 19:12:57 2001  Jeffrey A Law  (law@cygnus.com)

=======
>>>>>>> 1.9902
<<<<<<< ChangeLog

2001-04-15  Mark Mitchell  <mark@codesourcery.com>

	* c-dump.c (dequeue_and_dump): Don't look at DECL_ASSEMBLER_NAME
	if it is not set.
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
=======
>>>>>>> 1.9240.2.295
<<<<<<< ChangeLog
=======
	* c-typeck.c (convert_arguments): -Wtraditional now activates
	-Wconversion warnings, except for changes in signed-ness.
	Detect complex<->int & int<->complex conversions as well.
>>>>>>> 1.9240.2.295
	* invoke.texi (-Wtraditional): Document it.
=======
	* output.h (assemble_real): Declare if REAL_VALUE_TYPE is defined.
	* real.h (ereal_atof, real_value_truncate, target_isnan,
	target_isinf, target_negative, assemble_real, debug_real): Delete
	redundant prototypes.
	* Makefile.in (ifcvt.o): Depend on toplev.h.
	* c-semantics.c: Include expr.h.
	* ifcvt.c: Include toplev.h.
	* expr.h (rtx_equal_p): Delete prototype.
	* rtl.h (exact_log2_wide, floor_log2_wide, permalloc,
	protect_from_queue, gen_jump, gen_beq, gen_bge, gen_ble,
	eliminate_constant_term, expand_complex_abs, find_single_use,
	make_tree, init_expr_once, init_optabs, supports_one_only):
	Likewise.

	* tree.h (exact_log2_wide, floor_log2_wide, expand_null_return,
	rest_of_type_compilation, emit_queue, do_pending_stack_adjust,
	expand_assignment, store_expr, emit_line_note_after,
	emit_line_note_force, split_specs_attrs, label_rtx): Likewise.

	* toplev.h (exact_log2_wide, floor_log2_wide): Add prototype.

	* sparc-protos.h: Delete redundant prototypes.

2001-04-11  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>

	* reload.c (push_reload): Add condition missed in SUBREG byte
	offset patch.

>>>>>>> 1.9902
Wed Apr  4 00:28:23 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* sparc/sol2-sld-64.h (STARTFILE_SPEC): Added missing blank.

Wed Apr 11 14:06:10 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* i386.md (floatsisf_sse): Fix output template
	* i386.c (ix86_expand_fp_movcc)

	* reg-stack.c (emit_pop_insn): Handle complex modes.
	(move_for_stack_reg): Emit proper move mode.
	(subst_stack_regs_pat): Handle complex modes.

2001-04-11  Jakub Jelinek  <jakub@redhat.com>

	* cpplex.c (_cpp_lex_token): Only warn if -Wcomment.

2001-04-10  Richard Henderson  <rth@redhat.com>

	* libgcc2.h (__terminate_func_ptr): Remove typedef.
<<<<<<< ChangeLog
<<<<<<< ChangeLog
	* config/i386/i386.md: "TARGET_64BIT && TARGET_64BIT": Removed one.

2001-04-09  Andrew MacLeod  <amacleod@redhat.com>

	* output.h (set_block_num): Missed it earlier, remove deprecated
	prototype.

2001-04-09  Andrew MacLeod  <amacleod@redhat.com>

	* gcse.c (oprs_unchanged_p): Pass basic_block to load_killed_in_block_p.
	(load_killed_in_block_p): Change bb parameter from int to basic_block.
	(oprs_not_set_p): Pass basic_blocks instead of ints as parameters.
	(handle_rd_kill_set): Change bb parameter from int to basic_block.
	(compute_kill_rd): Pass basic_blocks instead of ints as parameters.
	(expr_killed_p): Change bb parameter from int to basic_block, pass
	basic_blocks instead of ints as parameters.
	(compute_ae_kill): Pass basic_blocks instead of ints as parameters.
	(expr_reaches_here_p_work, expr_reaches_here_p): Change bb parameter
	from int to basic_block, pass basic_blocks instead of ints as parms.
	(pre_expr_reaches_here_p_work, pre_expr_reaches_here_p): Change bb
	parameter from int to basic_block, pass basic_blocks instead of ints.
	(process_insert_insn): Pass basic_blocks instead of ints as parameters.
	(insert_insn_end_bb): Change bb parameter from int to basic_block,
	pass basic_blocks instead of ints.
	(pre_edge_insert, pre_insert_copy_insn, pre_insert_copies): Pass
	basic_blocks instead of ints as parameters.
	(pre_delete): Pass basic_blocks instead of ints as parameters.
	(hoist_expr_reaches_here_p): Change bb parameter from int to
	basic_block, pass basic_blocks instead of ints.
	(hoist_code): Pass basic_blocks instead of ints as parameters.
	(reg_set_info, store_ops_ok, store_killed_after, store_killed_before):
	Change bb parameter from int to basic_block.
	(build_store_vectors): Pass basic_blocks instead of ints as parameters.
	(insert_insn_start_bb): Change bb parameter from int to basic_block,
	pass basic_blocks instead of ints.
	(insert_store): Pass basic_blocks instead of ints as parameters.
	(replace_store_insn, delete_store): Change bb parameter from int to
	basic_block, pass basic_blocks instead of ints.
	(store_motion): Pass basic_blocks instead of ints as parameters.

2001-04-09  Andrew MacLeod  <amacleod@redhat.com>

	* basic-block.h (set_new_block_for_insns): New Prototype.
	(set_block_num): Delete prototype.
	* flow.c (set_block_num): Remove obsolete function.
	(set_block_for_new_insns): Set BB for single or multiple insns.
	* gcse.c (handle_avail_expr): Use set_block_for_new_insns.
	(process_insn_end_bb): Use set_block_for_new_insns or
	set_block_for_insn instead of set_block_num.
	(pre_insert_copy_insn): Use set_block_for_new_insns.
	(update_ld_motion_stores): Use set_block_for_new_insns.
	(insert_insn_start_bb): Use set_block_for_new_insns.
	(replace_store_insn): Use set_block_for_new_insns.

2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
	Jeff Law  <law@redhat.com>

	* alias.c (get_addr): Externalize.
	(canon_true_dependence): New function. Behaves like true_dependance
	except it already assumes a MEM has been canonicalized.
	* flags.h (flag_gcse_lm, flag_gcse_sm): New optimization flags.
	* gcse.c (struct ls_expr): Add load/store expressions structure.
	(modify_mem_list, canon_modify_mem_list): New variable.
	(gcse_main): Initialize & finalize alias analysis. Use enhanced
	load motion and store motion if requested.
	(alloc_gcse_mem): Allocate space for modify_mem_list array.
	(free_gcse_mem): Free the modify_mem_list array.
	(oprs_unchanged_p): Use load_killed_in_block_p.
	(gcse_mems_conflict_p, gcse_mem_operand): New variables.
	(mems_conflict_for_gcse_p): New function.  Don't kill loads
	with stores to themselves if its in the load/store expression list.
	(load_killed_in_block_p): New function.
	(canon_list_insert): New Function.
	(record_last_mem_set_info): Keep a list of all instructions which
	can modify memory for each basic block.
	(compute_hash_table, reset_opr_set_tables): Clear modify_mem_list.
	(oprs_not_set_p): Use load_killed_in_block_p.
	(mark_call, mark_set, mark_clobber): Use record_last_mem_set_info.
	(expr_killed_p): Use load_killed_in_block_p.
	(compute_transp): Do not pessimize memory references.
	(pre_edge_insert): Update stores for a load motion expression.
	(one_pre_gcse_pass): Check loads/stores for extra load motion.
	(ldst_entry): Find or create a ldst_expr structure.
	(free_ldst_entry): Free memory for an individual item.
	(free_ldst_mems): Free entire load/store expression list.
	(print_ldst_list): Print debug info.
	(find_rtx_in_ldst): Try to find an rtx expression in the ldst list.
	(enumerate_ldsts): Assign integer values to each entry in list.
	(first_ls_expr): First expression in the list.
	(next_ls_expr): Next expression in the list.
	(simple_mem): Check if expression qualifies for ld/st expression list.
	(invalidate_any_buried_refs): Remove from expression list if its
	used in some other way we dont understand.
	(compute_ld_motion_mems): Find all potential enhanced load motion
	expression.
	(trim_ld_motion_mems): Remove any expressions which are invalid.
	(update_ld_motion_stores): Copy store values to registers for loads
	which have been moved.
	(regvec, st_antloc, num_store): New global statics.
	(reg_set_info): Marks registers as set.
	(store_ops_ok): Verfies registers expressions are valid in a block.
	(find_moveable_store): Look for moveable stores in a pattern.
	(compute_store_table): Find stores in a function worth moving, maybe.
	(load_kills_store): Check dependance of a load and store.
	(find_loads): Find any loads in a pattern.
	(store_killed_in_insn): Check if a store is killed in an insn.
	(store_killed_after): Check is store killed after an insn in a block.
	(store_killed_before): Check is store killed before an insn in a block.
	(build_store_vectors): Generate the antic and avail vectors.
	(insert_insn_start_bb): Insert at the start of a BB, update BLOCK_HEAD.
	(insert_store): Add a store to an edge.
	(replace_store_insn): Replace a store with a SET insn.
	(delete_store): Delete a store insn.
	(free_store_memory): Free memory.
	(store_motion): Perform store motion.
	* invoke.texi: Add documentation for -fcse-lm and -fgcse-sm.
	* rtl.h (get_addr, canon_true_dependence): Add prototypes.
	* toplev.c (flag_gcse_lm, flag_gcse_sm): New Variables.
	(f_options): Add gcse-lm and gcse-sm.

Mon Apr  9 16:18:03 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* i386.c (expand_fp_movcc): Fix condition reversal code.

	* i386.c (ix86_register_move_cost): Fix handling of reformating penalty
	* i386.h (INTEGER_CLASS_P, MAYBE_INTEGER_CLASS_P): New.
	(CLASS_MAX_NREGS): Use it.

	* i386.h (HARD_REGNO_NREGS): Handle properly TF and TCmodes on 64bit;
	handle properly complex values.
	(CLASS_MAX_NREGS): Likewise; update comment.

2001-04-05  Bernd Schmidt  <bernds@redhat.com>

	* ia64.c (ia64_flag_schedule_insns2): New variable.
	(ia64_override_options): Initialize it.  Clear
	flag_schedule_insns_after_reload.
	(ia64_reorg): Only do scheduling if ia64_flag_schedule_insns2.

Mon Apr  9 15:09:13 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* i386.md (truncdfsf2_*): Add i387->int/sse reg alternatives;
	Do not require source to match destination anymore;
	Add abort to the nontrivial cases that should be handled by split.
	(fix_trunc?fdi): Add SSE case for x86_64.
	(floatdi?f): Likewise.
	(floatdi?f_sse): New.
	(fix_trunc?fdi_sse): New.

2001-04-09  Richard Sandiford   <rsandifo@redhat.com>

	* dwarfout.c (DEBUG_ARANGES_BEGIN_LABEL): New label.
	(DEBUG_ARANGES_END_LABEL): Ditto.
	(dwarfout_init): Generate length and version fields at the start
	of the .debug_aranges info.  Insert DEBUG_ARANGES_BEGIN_LABEL
	after the length field.
	(dwarfout_finish): Insert DEBUG_ARANGED_END_LABEL at the end of
	the .debug_aranges info.
=======
>>>>>>> 1.9240.2.295
=======
>>>>>>> 1.9902

<<<<<<< ChangeLog
<<<<<<< ChangeLog
Sun Apr  8 00:43:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
=======
2001-04-09  Neil Booth  <neil@daikokuya.demon.co.uk>
>>>>>>> 1.9240.2.295

<<<<<<< ChangeLog
	* i386.c (call, call_value): Make sure that resulting call_insn
	does have proper second operand.
=======
	* configure.in: Add check for lstat.
	* configure, config.in: Regenerate.
	* cppinit.c (append_include_chain): Make empty path ".".
	* cpplib.c (do_line): Don't simplify #line paths.
	* cppfiles.c (remove_component_p): New function.
	(find_or_create_entry): Acknowledge stat () errors during
	path simplification.
	(handle_missing_header): Don't simplify paths.
	(_cpp_simplify_pathname): Don't simplify VMS paths.  Return
	the empty path untouched.  Don't leave a trailing '/'.
>>>>>>> 1.9240.2.295
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
2001-04-07  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
2001-04-05  Bernd Schmidt  <bernds@redhat.com>
=======
>>>>>>> 1.9902

<<<<<<< ChangeLog
	* config/ia64/ia64.c (rtx_needs_barrier): PARALLELs can contain
	ASM_OPERANDS.
2001-04-05 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>

	* emit-rtl.c (mark_label_nuses) Increment the label uses for
	all labels present in rtx.
	(try_split) Call new function for all split insns.

2001-04-05  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cppfiles.c (open_file): Fail directories silently, but
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
	* config/ia64/ia64.c (update_set_flags): New function, broken out of
	rtx_needs_barrier.
	(set_src_needs_barrier): Likewise.
	(rtx_needs_barrier): For SET case, use these two functions.  Rework
	PARALLEL case to handle all inputs before all outputs.
	(emit_insn_group_barriers): Call init_insn_group_barriers only if we
	saw a label and no stop bit since then.
	(maybe_rotate, process_epilogue): Add prototypes.
<<<<<<< ChangeLog
2001-03-28  Richard Henderson  <rth@redhat.com>
	* config/rs6000/rs6000.h (EPILOGUE_USES): Use TARGET_AIX,
	not TARGET_TOC for special toc restore handling.
	* config/rs6000/rs6000.md (eh_return): Likewise.
2001-03-28  Richard Henderson  <rth@redhat.com>
	* config/sparc/sparc.c (eligible_for_epilogue_delay): False if
	current_function_calls_eh_return.
	(output_function_epilogue): Handle eh_return.
	* config/sparc/sparc.h (DOESNT_NEED_UNWINDER): Remove.
	(EH_RETURN_DATA_REGNO): New.
	(EH_RETURN_STACKADJ_RTX): New.
	(EH_RETURN_HANDLER_RTX): New.
	* config/sparc/sparc.md (call/short branch peepholes): Check
	can_throw_internal instead of in_same_eh_region.
	* config/rs6000/rs6000.c (rs6000_stack_info): Allocate space
	for eh_return data registers.
	(rs6000_emit_prologue): Save eh_return data registers.
	(rs6000_emit_epilogue): Force inline restores if eh_return.
	Restore eh_return data registers.  Mind EH_RETURN_STACKADJ_RTX.
	* config/rs6000/rs6000.h (rs6000_stack_t): Add ehrd_offset.
	(EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX): New.
	(EPILOGUE_USES): True for TOC_REGISTER if calls_eh_return and
	the target uses one.
	* config/rs6000/rs6000.md (eh_epilogue, eh_reg_restore): Remove.
	(return_eh_si, return_eh_di): Remove.
	(eh_return): New, from corpse of eh_epilogue.
	(eh_set_lr_si, eh_set_lr_di): New.

	* config/i386/i386.c (general_no_elim_operand): Disallow virtual regs.
	(ix86_save_reg): If maybe_eh_return, true for EH_RETURN_DATA_REGNOs.
	True for pic register if current_function_calls_eh_return.
	(ix86_expand_epilogue): Change "emit_return" argument into "style".
	Handle eh_return requirements.
	* config/i386/i386.h (EH_RETURN_DATA_REGNO): New.
	(EH_RETURN_STACKADJ_RTX): New.
	* config/i386/i386.md (exception_receiver): Remove.
	(eh_return, eh_return_1): New.
	* config/i386/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.

	* config/alpha/alpha.c (alpha_sa_mask): Add EH_RETURN_DATA_REGNOs.
	(alpha_mark_machine_status): No eh_epilogue_sp_ofs ...
	(alpha_expand_epilogue): ... use EH_RETURN_STACKADJ_RTX instead.
	* config/alpha/alpha.h (machine_function): Remove eh_epilogue_sp_ofs.
	(EH_RETURN_DATA_REGNO): New.
	(EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): New.
	* config/alpha/alpha.md (eh_epilogue): Remove.
	(exception_receiver): Use $26 for ldgp input.
	* config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.

2001-03-28  Richard Henderson  <rth@redhat.com>

	* except.c: Rewrite entirely for IA-64 ABI exception handling.
	* except.h: Likewise.

	* Makefile.in (LIB2ADDEH): Mention unwind-dw2*.c
	(LIB2ADDEHDEP): New.
	(LIB2FUNCS_EH): Remove.
	(LIB2ADD): Remove LIB2ADDEH.
	(libgcc.mk): Pass LIB2ADDEHDEP, don't pass LIB2FUNCS_EH.
	(LIBGCC_DEPS): Use LIB2ADDEHDEP.
	(crt{begin,end}[S].o): Likewise.
	(except.o): Update includes.
	* mklibgcc.in: Remove LIB2FUNCS_EH, add LIB2ADDEH, LIB2ADDEHDEP.
	(libgcc2_c_dep): Use LIB2ADDEHDEP.

	* basic-block.h (struct basic_block_def): Remove eh_beg, eh_end.
	* bb-reorder.c (reorder_basic_blocks): Don't disable for EH.
	* builtins.def (BUILT_IN_EH_RETURN_DATA_REGNO): New.
	* builtins.c (expand_builtin): Implement it.
	[BUILT_IN_EH_RETURN]: Update for nr arguments change.
	* c-common.c (c_common_nodes_and_builtins): Declare it.
	* c-decl.c (init_decl_processing): Update __builtin_eh_return.
	* calls.c (libfunc_nothrow): Remove.
	(emit_library_call_value_1): Don't call it.
	* crtstuff.c: Include unwind-dw2-fde.h instead of frame.h.
	* dwarf2.h (dwarf_call_frame_info): Add dwarf2.1 elements.
	(DW_EH_PE_*): New defines for pointer encoding in .eh_frame.
	* dwarf2out.c (struct dw_fde_struct): Add uses_eh_lsda, funcdef_number.
	(current_funcdef_number): Globalize.
	(output_call_frame_info): Emit frame data if an lsda is needed.
	Generate augmentation for personality routine.  Don't play with
	difference symbols.
	(dwarf2out_begin_prologue): Record funcdef_number.
	* dwarf2out.h (current_funcdef_number): Declare.
	* expr.c (expand_expr): Update for except.h name changes.
	Remove POPDCC_EXPR, POPDHC_EXPR.  Add EXC_PTR_EXPR.
	* expr.h (LTI_throw, LTI_rethrow): Remove.
	(LTI_sjthrow, LTI_sjpopnthrow, LTI_terminate): Remove.
	(LTI_eh_rtime_match): Remove.
	(LTI_unwind_resume, LTI_eh_personality): Add.
	(LTI_unwind_sjlj_register, LTI_unwind_sjlj_unregister): Add.
	* final.c (final): Don't call check_exception_handler_labels,
	init_insn_eh_region, or free_insn_eh_region.
	(final_scan_insn): Always emit debug labels for
	NOTE_INSN_EH_REGION notes.
	* flags.h (flag_new_exceptions): Remove.
	* flow.c (entry_exit_blocks): Remove eh_beg, eh_end.
	(record_active_eh_regions): Remove.
	(count_basic_blocks): Check all instructions for REG_EH_REGION.
	Use can_throw_internal.
	(find_basic_blocks_1): Likewise.
	(move_stray_eh_region_notes): Remove.
	(find_label_refs): No eh_return_stub_label.
	(make_edges): Likewise.  No init/free_eh_nesting_info.  Handle RESX.
	(make_eh_edge): No eh_nest_info.  Update for reachable_handlers
	changes.
	(delete_unreachable_blocks): Don't track deleted handlers.
	(flow_delete_block): Use maybe_remove_eh_handler.
	(delete_eh_regions): Remove.
	(merge_blocks): Don't check for eh region match.
	(mark_regs_live_at_end): Handle EH_RETURN_DATA_REGNO,
	EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX.
	(init_propagate_block_info): Disable dead frame store optimization
	when current_function_calls_eh_return.
	(dump_bb): Don't print eh_beg, eh_end.
	* function.c (fixup_var_refs): No catch_clauses.
	(expand_function_end): Likewise.  Call expand_eh_return before
	the return register use.  Call sjlj_emit_function_exit_after.
	(expand_function_start): Force pseudo DECL_RESULT if sjlj exceptions.
	* function.h (struct function): Add calls_eh_return, uses_eh_lsda.
	* ifcvt.c (dead_or_predicable): Remove eh region check.
	* integrate.c (function_cannot_inline_p): Disallow __builtin_eh_return.
	Don't check for EH vs parameters.
	(expand_inline_function_eh_labelmap, eif_eh_map): Remove.
	(expand_inline_function): Call duplicate_eh_regions.
	(copy_insn_list): Don't handle NOTE_INSN_EH_REGION_BEG/END.
	(copy_insn_notes): Remap REG_EH_REGION notes.
	(copy_rtx_and_substitute): Remove SYMBOL_REF_NEED_ADJUST check.
	* integrate.h (struct inline_remap): Add local_return_label.
	* jump.c (jump_optimize_1): Don't init/free_insn_eh_region, nor
	check_exception_handler_labels, nor exception_optimize.
	(find_cross_jump): No EH region check.
	* optabs.c (init_optabs): Update for changed eh libfuncs.
	* rtl.def (RESX): New.
	* rtl.h (SYMBOL_REF_NEED_ADJUST): Remove.
	* stmt.c (expand_decl_cleanup): Simplify using_eh_for_cleanups_p
	checks.  Update for except.h name changes.
	(expand_cleanups): Likewise.
	(expand_dcc_cleanup, expand_dhc_cleanup): Remove.
	* toplev.c (dump_file_index, dump_file): Add .02.eh dump.
	(compile_file): Call init_eh before init_optabs.  Don't
	output_exception_table here.
	(rest_of_compilation): Call convert_from_eh_region_ranges,
	convert_to_eh_region_ranges, output_function_exception_table.
	Don't emit_eh_context.
	* tree.def (POPDHC_EXPR, POPDCC_EXPR): Remove.
	(EXC_PTR_EXPR): New.

	* md.texi (eh_epilogue): Remove.
	(eh_return): Document.
	* tm.texi (EH_RETURN_DATA_REGNO): Document.
	(EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): Document.

	* eh-common.h: Remove file.
	* frame-dwarf2.c, frame.c, frame.h: Remove files.
	* libgcc2.c (L_eh): Remove.

	* unwind-dw2-fde.c: New file, largely copied from frame.c.
	* unwind-dw2-fde.h: New file.
	* unwind-dw2.c: New file, largely cribbed from frame-dwarf2.c.
	* unwind-sjlj.c, unwind.h, unwind.inc: New files.
	* libgcc-std.ver: Update for eh symbols.

2001-03-27  Richard Henderson  <rth@redhat.com>

	* regmove.c (perhaps_ends_bb_p): Use can_throw_internal to
	reduce false positives.
	(regmove_optimize): Disable if flag_non_call_exceptions.

	* stmt.c (expand_return): Remove always true predicate.
	(expand_decl_cleanup_no_eh): Remove dead code.

	* sched-deps.c (sched_analyze_insn): Consolidate scheduling
	barrier code.  Add a scheduling barrier if a non-call insn
	can throw internally.

	* rtlanal.c (rtx_addr_can_trap_p): Virtual registers cannot trap.
	Auto-inc addresses trap only if their base register does.

	* except.c (can_throw_internal): Rename from can_throw.
	* except.h, resource.c: Update references.

	* integrate.c (copy_insn_list): Use returnjump_p.
	(copy_insn_notes): Recurse for CALL_PLACEHOLDER.

	* function.h (struct function): Move all boolean valued fields
	to single bit fields at the end of the struct.

	* bb-reorder.c, dwarf2out.c, except.c, except.h, flow.c,
	jump.c, toplev.c:
	Rename asynchronous_exceptions to flag_non_call_exceptions.

	* gthr-single.h (UNUSED): New.  Distinguish between how C
	and C++ mark unused function arguments.  Use throughout.

	* Makefile.in (cs-tconfig.h): Copy USING_SJLJ_EXCEPTIONS
	value to target configuration header.
	* configure.in (CONFIG_SJLJ_EXCEPTIONS): New.
	* config.in, configure: Rebuild.
	* except.h (USING_SJLJ_EXCEPTIONS): New.  Define based on
	configuration and target defines.
	(exceptions_via_longjmp): Remove.
	* dwarf2out.c, except.c, final.c, toplev.c, config/ia64/ia64.c:
	Use USING_SJLJ_EXCEPTIONS instead of exceptions_via_longjmp.

	* except.h (flag_non_call_exceptions): Move ...
	* flags.h: ... here.

	* combine.c (distribute_notes) [REG_EH_REGION]: If non-call
	exceptions, put the note on the trapping instruction.

	* flags.h (flag_new_exceptions): Remove.
	* toplev.c: Don't set it.
	* final.c: Don't check it.
	* except.c: Provide stub definition.

	* flow.c (tidy_fallthru_edges): Don't combine complex edges.
	(calculate_global_regs_live): Kill call-clobbered registers
	across exception edges.
	* reg-stack.c (convert_regs_1): Kill the entire target stack
	across non-call exception edges.
=======
Fri Mar 30 17:36:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
	* i386.c (ix86_split_long_move): Use change address to compensate
	stack pointer change in push instruction.

Fri Mar 30 00:31:00 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* i386.md (sse_movdfcc_eq): Fix constraint (sse_mov?fcc splitter): Use operands_match_p
	instead of rtx_equal_p; fix the output template.

Fri Mar 30 00:21:41 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* i386.c (ix86_expand_setcc): Support 64bit.
	(ix86_expand_int_movcc): Likewise.
	* i386.md (movdicc_rex64, x86_movsicc_0_m1_rex64, movdicc_c_rex64):
	New patterns.

>>>>>>> 1.9902
<<<<<<< ChangeLog
2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
=======
>>>>>>> 1.9240.2.295

<<<<<<< ChangeLog
	* configure.in: Don't check for bcopy.
	* configure, config.in: Regenerate.

	* system.h: Don't define or prototype bcopy, instead poison it.
=======
2001-03-28  Jim Wilson  <wilson@redhat.com>
>>>>>>> 1.9240.2.295

	* config/ia64/ia64.md (movtf): Change DImode to TFmode in calls to
	operand_subword.

2001-03-28  DJ Delorie  <dj@redhat.com>
=======
>>>>>>> 1.9902

<<<<<<< ChangeLog
	* Makefile.in (stage1_build): Revert CFLAGS patch.
=======
>>>>>>> 1.9902
2001-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
	* cppfiles.c: Update comments.
	(struct include_file): Remove "defined" memeber.
	(find_or_create_entry): Make a copy of the file name, and
	simplify it.
	(open_file): Update to ensure we use the simplified filename.
	(stack_include_file): Don't set search_from.
	(cpp_included): Don't simplify the path name here.
	(find_include_file): New prototype.  Call search_from to
	get the start of the "" include chain.  Don't simplify the
	filenames here.
	(_cpp_execute_include): New prototype.  Move diagnostics to
	do_include_common.  Update.
	(_cpp_pop_file_buffer): Don't set defined.
	(search_from): New prototype.  Use the preprocessor's cwd
	for files included from the command line.
	(read_name_map): Don't simplify the pathname here.

<<<<<<< ChangeLog
	(stack_include_file): Only increase the include
	count if we actually process the file properly, as opposed
	to treating it as length zero.  Only call read_include_file
	if not DO_NOT_REREAD.  Handle the -H include file output
	here.
	(read_include_file): Remove now redundant DO_NOT_REREAD check.
	(cpp_included, find_include_file): Simplify pathnames after
	remapping them.  If remapping, don't use the remapped file
	name's buffer as our scratch buffer.
	(cpp_pop_file_buffer): Replace the multiple include macro
	only if it isn't yet set.
	(read_name_map): Simplify remapped names when reading in.
	(remap_filename): Move code to code path that uses it.
	(_cpp_simplify_pathname): Return the input pointer.
=======
2001-03-27  Zack Weinberg  <zackw@stanford.edu>
>>>>>>> 1.9902

<<<<<<< ChangeLog
	(NO_INCLUDE_PATH): New macro.
	(find_include_file): Decide here which part of the include
	chain to start the search.  Complain about an empty include
	chain in all cases apart from an abolsute file name.
	(_cpp_execute_include): Don't choose the search chain here.
	Don't call handle_missing_include in the case of an empty
	include chain.
	(_cpp_compare_file_date): Don't choose the search chain here.
=======
	* config.gcc (m68hc11-*-*, m68hc12-*-*): Convert to new tm.h
	inclusion style.  xm-m68hc11.h no longer exists.
	* config/m68hc11/xm-m68hc11.h: Delete file.
	* config/m68hc11/m68hc12.h: Convert to new tm.h inclusion style.

	* config/m68hc11/m68hc11.h: Convert to new tm.h inclusion style.
	Don't define GCC_VERSION, N_, or PARAMS; don't include
	gansidecl.h or stdio.h.  Define inhibit_libc here.
	Make code conditioned on #if GCC_VERSION > 2095 unconditional.
	Delete code conditioned on #if GCC_VERSION == 2095.

	* config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
	Make code conditioned on #if GCC_VERSION > 2095 unconditional.
	Delete code conditioned on #if GCC_VERSION == 2095.
>>>>>>> 1.9902

2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

<<<<<<< ChangeLog
=======
>>>>>>> 1.9902

<<<<<<< ChangeLog
<<<<<<< ChangeLog
	* Makefile.in (install-libgcc): Pass complete list of variables.
	(install-multilib): Ditto.
=======
2001-03-19  Mark Mitchell  <mark@codesourcery.com>
>>>>>>> 1.9240.2.295

<<<<<<< ChangeLog
2001-03-20  David Billinghurst  <David.Billinghurst@riotinto.com>
=======
	Compute DECL_ASSEMBLER_NAME lazily.
	* tree.h (DECL_ASSEMBLER_NAME): Compute it lazily.
	(DECL_ASSEMBLER_NAME_SET_P): New macro.
	(SET_DECL_ASSEMBLER_NAME): Likewise.
	(COPY_DECL_ASSEMBLER_NAME): Likewise.
	(set_decl_assembler_name): Declare.
	(lang_set_decl_assembler_name): Likewise.
	* tree.c (lang_set_decl_assembler_name): New variab.e
	(set_decl_assembler_name): New function.
	(init_obstacks): Set lang_set_decl_assembler_name.
	(build_decl): Don't set DECL_ASSEMBLER_NAME.
	* c-decl.c (duplicate_decls): Use SET_DECL_ASSEMBLER_NAME,
	COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
	where it's not necessary.
	(builtin_function): Likewise.
	(finish_decl): Likewise.
	* dbxout.c (dbxout_type_methods): Likewise.
	* ggc-common.c (ggc_mark_trees): Likewise.
	* profile.c (output_func_start_profiler): Likewise.
	* varasm.c (make_decl_rtl): Likewise.

	* cse.c (find_comparison_args): Update documentation.  Fix
	mishandling of COMPARE operations.
	* tree.def (ABS_EXPR): Add documentation.
	* fold-const.c (fold): Improve folding of ABS_EXPRs.
=======
>>>>>>> 1.9902

2001-03-20  Tom Tromey  <tromey@redhat.com>
	* libgcc-std.ver: Added __fixunssfsi and __fixunsdfsi.

>>>>>>> 1.9240.2.295
<<<<<<< ChangeLog
=======
2001-03-20  Alexandre Oliva  <aoliva@redhat.com>

	* config/sh/sh.md (movsf_ie): Fix output patterns for fpul load
	and store.
	(movsi_ie): Introduce fpul store.

2001-03-20  Alan Modra  <alan@linuxcare.com.au>

	* Makefile.in (OBJS): Remove hashtab.o.

2001-03-19  Tom Tromey  <tromey@redhat.com>

	* gcc.c (init_gcc_specs): Fix comment.

2001-03-19  Mark Mitchell  <mark@codesourcery.com>

	* cse.c (find_comparison_args): Update documentation.  Fix
	mishandling of COMPARE operations.

	* tree.def (ABS_EXPR): Add documentation.
	* fold-const.c (fold): Improve folding of ABS_EXPRs.
>>>>>>> 1.9240.2.295
<<<<<<< ChangeLog
<<<<<<< ChangeLog
	* dwarf2out.c: Revert most of 2000-11-25 and 2001-01-24 changes.
	(LN_PROLOG_AS_LABEL, LN_PROLOG_END_LABEL): New.
	(size_of_line_prolog): Remove.
	(output_line_info): Compute prologue size via label difference.
	(lookup_filename): Return "unspecified" for <internal> and <built-in>.

	* configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Require that the
	assembler error when redefining file numbers.
	* config.in, configure: Rebuild.

	* dwarf2asm.c (dw2_asm_output_data): Mask data to the output size.
	(dw2_asm_output_data_uleb128): Use space not tab after .uleb128.
	(dw2_asm_output_delta_uleb128): Likewise.
	(dw2_asm_output_delta_sleb128): Similarly.
	(dw2_asm_output_data_sleb128): Similarly.  Print number in decimal.

2001-03-16  Michael Meissner  <meissner@redhat.com>

	* mips.h (BITMASK_HIGH): Replacement for 0x80000000 that avoids
	warnings.
	(BITMASK_UPPER16): Replacement for 0xffff0000 that avoids
	warnings.
	(BITMASK_LOWER16): Replacement for 0x0000ffff.

	* mips.c (save_restore_insns): Use BITMASK_UPPER16/BITMASK_LOWER16
	instead of 0xffff0000/0x0000ffff to avoid warnings about constants
	being unsigned in ISO C and signed in traditional.
	(expand_prologue): Ditto.
	(RA_MASK): Use BITMASK_HIGH to avoid warnings.

	* mips.md (divmodsi4,divmodsi4): Use BITMASK_HIGH to avoid
	warnings.
	(divsi3,divdi3): Ditto.
	(modsi3,moddi3): Ditto.
	(fix_truncdfsi2,fix_truncdfdi2): Ditto.
	(fix_truncsfsi2,fix_truncsfdi2): Ditto.
	(movsi split): Use BITMASK_UPPER16/BITMASK_LOWER16 to avoid
	warnings.
=======
>>>>>>> 1.9240.2.295

<<<<<<< ChangeLog
Fri Mar 16 14:47:57 CET 2001  Jan Hubicka  <jh@suse.cz>
=======
Fri Mar 16 11:26:01 2001  Christopher Faylor <cgf@cygnus.com>
>>>>>>> 1.9240.2.295

<<<<<<< ChangeLog
	* i386.c (ix86_expand_fp_movcc): Do not attempt to construct
	SSE based conditional moves on LTGT/UNEQ conditions;
	Canonicalize EQ to NE.
	* i386.md (sse_mov?fcc): Disallow EQ and NE in IEEE mode.
	(sse_mov?fcc_ne): New.
=======
	* config/i386/cygwin.h: Revert previously misapplied patch which
	eliminated TARGET_SUBTARGET_DEFAULT.
>>>>>>> 1.9240.2.295

=======
>>>>>>> 1.9902
<<<<<<< ChangeLog

2001-03-15  Zack Weinberg  <zackw@stanford.edu>

	* config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
	config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
	config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
	config/clipper/xm-clix.h, config/convex/xm-convex.h,
	config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
	config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
	config/h8300/xm-h8300.h, config/i370/xm-i370.h,
	config/i370/xm-linux.h, config/i370/xm-mvs.h,
	config/i370/xm-oe.h, config/i386/xm-aix.h,
	config/i386/xm-i386.h, config/i386/xm-osf.h,
	config/i860/xm-i860.h, config/i960/xm-i960.h,
	config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
	config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
	config/mcore/xm-mcore.h, config/mips/xm-mips.h,
	config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
	config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
	config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
	config/pa/xm-pahpux.h, config/pa/xm-papro.h,
	config/pj/xm-pj.h, config/romp/xm-romp.h,
	config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
	config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
	config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
	config/v850/xm-v850.h, config/vax/xm-vax.h,
	config/vax/xm-vms.h, config/we32k/xm-we32k.h:
	Do not define TRUE or FALSE.

	* config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
	empty by above change.
	* config.gcc: Remove references to these files.
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
	* configure.in: Detect stdbool.h.
	* configure, config.in: Regenerate.
	* system.h: Include stddef.h here if available.  Set
	HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.  Then
	set up a sensible boolean type at the very end.
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog

2001-03-14  Mark Mitchell  <mark@codesourcery.com>

	* varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the
	contents of the RTL, to determine the name of the object.

2001-03-14  Laurynas Biveinis  <lauras@softhome.net>

	* configure.in: Use $gcc_cv_as instead of $as.
	* configure: Regenerated.
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
Wed Mar 14 13:17:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
2001-03-14  Zack Weinberg  <zackw@stanford.edu>
=======
2001-03-14  Jakub Jelinek  <jakub@redhat.com>
>>>>>>> 1.9240.2.295
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
	* aclocal.m4 (gcc_AC_C_CHARSET, gcc_AC_C_COMPILE_BIGENDIAN,
	gcc_AC_C_FLOAT_FORMAT): New macros.
	* configure.in: Add AC_PROG_CPP after CC tests;
	gcc_AC_C_CHARSET and gcc_AC_C_FLOAT_FORMAT after the sizeof
	tests; and gcc_AC_C_COMPILE_BIGENDIAN after gcc_AC_C_CHAR_BIT.
	* configure, config.in: Regenerate.
=======
	* reg-stack.c (stack_result): Unconditionally use
	FUNCTION_OUTGOING_VALUE resp. FUNCTION_VALUE.
>>>>>>> 1.9240.2.295
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
	* config/a29k/xm-a29k.h, config/arc/xm-arc.h,
	config/arm/xm-arm.h, config/c4x/xm-c4x.h,
	config/convex/xm-convex.h, config/d30v/xm-d30v.h,
	config/i370/xm-linux.h, config/i370/xm-oe.h,
	config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
	config/m68k/xm-m68k.h, config/mips/xm-mips.h,
	config/pa/xm-linux.h, config/pa/xm-pa.h,
	config/rs6000/xm-lynx.h, config/rs6000/xm-mach.h,
	config/rs6000/xm-rs6000.h, config/rs6000/xm-sysv4.h,
	config/sparc/xm-sparc.h, config/vax/xm-vax.h,
	config/we32k/xm-we32k.h: Delete.
=======
2001-03-13  Jim Wilson  <wilson@redhat.com>
>>>>>>> 1.9240.2.295
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
	* config/i370/xm-mvs.h, config/m88k/m88k.h,
	config/romp/xm-romp.h, config/rs6000/xm-beos.h,
	config/vax/xm-vms.h: Don't define any of:
	HOST_FLOAT_FORMAT, HOST_EBCDIC, HOST_WORDS_BIG_ENDIAN
=======
	* config/ia64/ia64.c (find_gr_spill): Subtract frame_pointer_needed
	from 80 in try_locals code.
	(ia64_expand_prologue): Add comment pointing to find_gr_spill change.
>>>>>>> 1.9240.2.295
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
	* config/rs6000/aix.h: Define COLLECT_EXPORT_LIST here.
=======
2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
>>>>>>> 1.9240.2.295
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
=======
	* cpp.texi (poison): Explain the macro expansion exception.
>>>>>>> 1.9240.2.295
=======
	* config.gcc: Remove references to deleted files.
	(i370-*-opened*): Use i370/xm-mvs.h (which now defines only
	FATAL_EXIT_CODE, which is the same between oe and mvs).
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
=======
2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
>>>>>>> 1.9240.2.295
=======
2001-03-14  DJ Delorie  <dj@redhat.com>
	Vladimir Makarov  <vmakarov@redhat.com>
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
	* config/i960/i960.c (i960_function_prologue): Compute size of
	frame according to number of registers actually saved there.
=======
	* cppinternals.texi: Update for file handling.
>>>>>>> 1.9240.2.295
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
2001-03-14  Richard Henderson  <rth@redhat.com>
=======
Mon Mar 12 14:05:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
>>>>>>> 1.9240.2.295
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
	* expr.c (emit_move_insn_1): Fix else if around #endif.
=======
	* flow.c (insn_dead_p): Don't consider two memrefs equivalent
	unless anti_dependence says they are.
	* alias.c (objects_must_conflict): If neither has a type specified,
	they must conflict.
>>>>>>> 1.9240.2.295
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
Wed Mar 14 22:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
	Vojtech Pavlik
=======
2001-03-12  Aldy Hernandez  <aldyh@redhat.com>
>>>>>>> 1.9240.2.295
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
	* md.texi (machine constraints): Document 'Q', 'R', 'e' and 'Z'
	constraints.
=======
	* reload1.c (reload_cse_simplify): Call reload_cse_simplify_set
	before reload_cse_noop_set_p.
>>>>>>> 1.9240.2.295
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
=======
Sat Mar 10 23:21:34 2001  kaz Kojima <kkojima@rr.iij4u.or.jp>
>>>>>>> 1.9240.2.295
=======
Wed Mar 14 22:26:10 CET 2001  Jan Hubicka  <jh@suse.cz>
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
	* i386.c (ix86_cmodel_string, ix86_cmodel): Define.
	(override_options): Parse cmodel string.
	(x86_64_sign_extended_value, x86_64_zero_extended_value): New.
	* i386.h (TARGET_OPTIONS): Add "cmodel".
	(EXTRA_CONSTRAINT): Recognize 'e' and 'Z'.
	(enum cmodel): New.
	(ix86_cmodel_string, ix86_cmodel): Declare.
=======
	* config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.
>>>>>>> 1.9240.2.295
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
Wed Mar 14 22:26:54 CET 2001  Jan Hubicka  <jh@suse.cz>
=======
Sat Mar 10 23:16:16 2001  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
>>>>>>> 1.9240.2.295
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
	Spot by Matt Kraai:
	* i386.h (GENERAL_REG_P): Add missing REG_P.
=======
	* config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
	* config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w.
>>>>>>> 1.9240.2.295
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
=======
Sat Mar 10 23:03:25 2001  Alexandre Oliva  <aoliva@redhat.com>
>>>>>>> 1.9240.2.295
=======
2001-03-14  Laurynas Biveinis  <lauras@softhome.net>
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
=======
	* tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node
	if it's a record type.
>>>>>>> 1.9240.2.295
=======
	* configure.in: Use $gcc_cv_as instead of $as.
	* configure: Regenerated.
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
2001-03-14  Neil Booth  <neil@daikokuya.demon.co.uk>
=======
Sat Mar 10 17:52:54 2001  Christopher Faylor <cgf@cygnus.com>
>>>>>>> 1.9240.2.295
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
	* cppfiles.c (stack_include_file): Only increase the include
	count if we actually process the file properly, as opposed
	to treating it as length zero.  Only call read_include_file
	if not DO_NOT_REREAD.  Handle the -H include file output
	here.
	(read_include_file): Remove now redundant DO_NOT_REREAD check.
	(cpp_included, find_include_file): Simplify pathnames after
	remapping them.  If remapping, don't use the remapped file
	name's buffer as our scratch buffer.
	(cpp_pop_file_buffer): Replace the multiple include macro
	only if it isn't yet set.
	(read_name_map): Simplify remapped names when reading in.
	(remap_filename): Move code to code path that uses it.
	(_cpp_simplify_pathname): Return the input pointer.
	* cpphash.h (_cpp_simplify_pathname): Update prototype.
=======
	* config/i386/cygwin.h: Make ../w32api a system directory.  Reorganize
	mingw includes slightly.
>>>>>>> 1.9240.2.295
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
2001-03-14  Mark Mitchell  <mark@codesourcery.com>
=======
Fri Mar  9 18:33:50 2001  Jeffrey A Law  (law@cygnus.com)
>>>>>>> 1.9240.2.295
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
=======
	* pa.md (builtin_longjmp): Rework slightly to work for PA64 too.
>>>>>>> 1.9240.2.295
=======
	* expr.c (expand_expr): Revove bogus conditional.
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
Wed Mar 14 19:29:50 CET 2001  Jan Hubicka  <jh@suse.cz>
=======
2001-03-09  Nicola Pero <n.pero@mi.flashnet.it>
>>>>>>> 1.9240.2.295
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
	* expr.c (emit_move_insn_1): Guard PUSH_ROUNDING use by ifdef.
=======
	* configure: Rebuilt.
	* configure.in: Only use `lang_requires' for languages athat are
	actually enabled.
>>>>>>> 1.9240.2.295
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
=======
Thu Mar  8 23:34:42 2001  Jeffrey A Law  (law@cygnus.com)
>>>>>>> 1.9240.2.295
=======
2001-03-14  Jakub Jelinek  <jakub@redhat.com>
>>>>>>> 1.9902

<<<<<<< ChangeLog
<<<<<<< ChangeLog
	* reg-stack.c (stack_result): Unconditionally use
	FUNCTION_OUTGOING_VALUE resp. FUNCTION_VALUE.

Wed Mar 14 16:36:25 CET 2001  Jan Hubicka  <jh@suse.cz>

	* expr.c (emit_move_insn_1):  Split push of complex value when
	no suitable push instruction exist.

	* i386.md (QImode move/add/shift patterns): Use ANY_QI_REG_P
	instead of QI_REG_P.

Tue Mar 13 22:22:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* alias.c (handled_component_p, can_address_p): New functions.
	(get_alias_set): Use them.

2001-03-13  Jim Wilson  <wilson@redhat.com>

	* config/ia64/ia64.c (find_gr_spill): Subtract frame_pointer_needed
	from 80 in try_locals code.
	(ia64_expand_prologue): Add comment pointing to find_gr_spill change.

2001-03-13  Zack Weinberg  <zackw@stanford.edu>

	* aclocal.m4 (gcc_AC_COMPILE_CHECK_SIZEOF, gcc_AC_C_CHAR_BIT,
	gcc_AC_C_LONG_LONG): New.
	* configure.in: Use them.  Probe the size of short, int, long,
	and long long/__int64 if we have them.  Move all the AC_C_*
	checks together, except gcc_AC_C_CHAR_BIT which has to go
	after AC_CHECK_HEADERS(limits.h).
	Take hwint.h out of host_xm_file and build_xm_file.

	* hwint.h: Unconditionally define HOST_BITS_PER_CHAR,
	HOST_BITS_PER_SHORT, HOST_BITS_PER_INT, HOST_BITS_PER_LONG,
	and HOST_BITS_PER_LONGLONG in terms of SIZEOF_* and CHAR_BIT.
	Move the HOST_WIDEST_INT setup logic here from system.h.
	Provide HOST_WIDEST_INT even if HOST_BITS_PER_LONGLONG is not
	defined.
	* system.h: Include hwint.h after limits.h.  HOST_WIDEST_INT
	is now handled by hwint.h.

	* config/alpha/xm-alpha-interix.h, config/alpha/xm-vms.h,
	config/c4x/xm-c4x.h, config/i370/xm-oe.h,
	config/ia64/xm-ia64.h: Don't define any of:
	HOST_BITS_PER_LONG, HOST_BITS_PER_CHAR, HOST_BITS_PER_SHORT,
	HOST_BITS_PER_LONGLONG.

	* config/alpha/xm-alpha.h, config/dsp16xx/xm-dsp16xx.h,
	config/h8300/xm-h8300.h, config/mips/iris6.h,
	config/mn10200/xm-mn10200.h, config/pa/xm-pa64hpux.h,
	config/sparc/xm-sp64.h: Delete.
	* config.gcc: Remove references to deleted files.

	* config/arm/xm-arm.h, config/mips/xm-mips.h: Don't define
	HOST_FLOAT_FORMAT to IEEE_FLOAT_FORMAT.
	* config/i370/xm-linux.h: Clarify floating-point situation in
	a comment.

2001-03-13  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cppfiles.c (NO_INCLUDE_PATH): New macro.
	(find_include_file): Decide here which part of the include
	chain to start the search.  Complain about an empty include
	chain in all cases apart from an abolsute file name.
	(_cpp_execute_include): Don't choose the search chain here.
	Don't call handle_missing_include in the case of an empty
	include chain.
	(_cpp_compare_file_date): Don't choose the search chain here.
	* cpplib.c (do_include_next): Move the in-main-file diagnostic
	here from _cpp_execute_include.  Behave like #include if
	we're in the main file.

2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* system.h (malloc, realloc, calloc, strdup): Only poison these
	tokens when IN_GCC is defined.

Tue Mar 13 14:38:44 CET 2001  Jan Hubicka  <jh@suse.cz>

	* i386.md (abs?f expander): Support SSE case.
	(abd?f_if): Add new "USE"; add splitters.

2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* cpp.texi (poison): Explain the macro expansion exception.

2001-03-13  Jakub Jelinek  <jakub@redhat.com>

	* expr.c (store_expr): Add dont_store_target.  If temp is already in
	target before copying to reg, don't store it into target again.

2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cppinternals.texi: Update for file handling.

2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>

	* emit-rtl.c (remove_unnecessary_notes): Reverse Richard Kenner's
	2001-02-24 which broke building the Java library.
	* function.c (identify_blocks): Likewise.
	(all_blocks): Likewise.
	* integrate.c (integrate_decl_tree): Likewise.
	* print-tree.c (print_node): Likewise.
	* tree.h (BLOCK_NUMBER): Likewise.
	(struct tree_block): Likewise.

2001-03-12  David Edelsohn  <edelsohn@gnu.org>

	* rs6000/aix51.h (CPP_SPEC, CPLUSPLUS_CPP_SPEC): Fix typo in
	__WCHAR_TYPE__ definition.
	(WCHAR_TYPE_SIZE): #undef before #define.

2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cppfiles.c: Update comments.
	(destroy_include_file_node): Rename destroy_node.
	(find_or_create_entry): New function.
	(open_file, _cpp_fake_include): Use it.
	(handle_missing_header): New function, broken out of
	_cpp_execute include.  Don't segfault if there is no
	system or quoted path.
	(_cpp_execute_include): Use handle_missing_header.

2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>

	* jump.c (reversed_comparison_code_parts): Reverse Jan Hubricka's
	2001-02-28 patch because it breaks arm-linux and mips-sgi-irix6.5.

Mon Mar 12 14:05:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* flow.c (insn_dead_p): Don't consider two memrefs equivalent
	unless anti_dependence says they are.
	* alias.c (objects_must_conflict): If neither has a type specified,
	they must conflict.

2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
	David Billinghurst <David.Billinghurst@riotinto.com>

	* config/mips/iris5.h:  Change WCHAR_TYPE to int.

Mon Mar 12 16:32:21 CET 2001  Jan Hubicka  <jh@suse.cz>

	* i386.md (trunctfdf2_2): Rename missnamed pattern.
	(*_one_bit): Remove type on the match_operand in attributes.

Mon Mar 12 16:27:56 CET 2001  Jan Hubicka  <jh@suse.cz>

	* i386.c: Commit forgotten hunk in previous patch.
	(regclass_map): Add extended registers.
	(dbx_register_map): Add missing frame register.

Mon Mar 12 15:41:08 CET 2001  Jan Hubicka  <jh@suse.cz>

	* i386.md (all XFmode patterns except swapxf): Disable for 64bit.

	* i386.md (x86_sahf_1): Disable for 64bit.
	(popsi*, pophi*): Likewise.
	(pushqi, pushhi): Likewise.
	(movdi, pushdi): Likewise.
	(zero extend DImode splitter): Likewise.
	(adddi, minusdi splitter): Likewise.
	(umulsidi): Likewise.
	(umulsi): New.
	(mulsidi): Disable for 64bit
	(lshift:DI/ashift:DI): Disable for 64bit.
	(loop patterns): Likewise.
	(call_pop, call_value_pop expanders and patterns): Likewise.
	(prologue_get_pc): Likewise.
	(leave): Likewise.
	(fcmovDI pattern and splitter): Likewise.
	(movdfcc_1_rex64): New.

Mon Mar 12 15:16:36 CET 2001  Jan Hubicka  <jh@suse.cz>

	* i386.h (VALID_FP_MODE_P): XFmode is invalid on x86_64.
	(MODES_TIEABLE_P): QImodes and DImodes are tiable on x86_64.
	(HARD_REGNO_CALLER_SAVE_MODE): Save QImodes as QImodes for x86_64.
	(STATIC_CHAIN_REGNUM): Set to r10 for x86_64.
	(PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM for x86_64.
	(LIMIT_RELOAD_CLASS): Avoid limiting of QImodes on x86_64.
	(SECONDARY_OUTPUT_RELOAD_CLASS): No need to QImodes.
	(PUSH_ROUNDING): x86_64 rounds to 64bits.
	(CONSTANT_ADDRESS_P): Accept CONST_DOUBLE.
	(REGPARM_MAX): Set to 6 for x86_64.
	(SSE_REGPARM_MAX): Set to 16 for x86_64.
	* i386.c (hard_regno_mode_ok): QImodes can be in all general purpose
	registers.

	* (patterns that does use upper halves): Update constraints
	'q' to 'Q' and 'r' to 'R'.
	(cmpqi_ext_1): Disable for 64bit.
	(cmpqi_ext_3_insn): Likewise.
	(movqi_extzv_1): Likewsie.
	(addqi_ext_1): Liekwsie
	(testqi_ext_1): Liekwsie
	(andqi_ext_1): Liekwsie
	(xorqi_ext_1): Liekwsie
	(cmpqi_ext_1_rex64): New.
	(cmpqi_ext_3_insn_rex64): Likewise.
	(movqi_extzv_1_rex64): Likewsie.
	(addqi_ext_1_rex64): Liekwsie
	(testqi_ext_1_rex64): Liekwsie
	(andqi_ext_1_rex64): Liekwsie
	(xorqi_ext_1_rex64): Liekwsie

2001-03-11  Zack Weinberg  <zackw@stanford.edu>

	* configure.in: Move check for unsigned enumerated bitfields
	to macro in aclocal.m4.  Disable it for now.
	* configure, config.in: Regenerate.
	* system.h: Don't do anything with ONLY_INT_FIELDS.  Use the
	unsigned-int form of ENUM_BITFIELD() unless being compiled by GCC.
	* varasm.c (struct rtx_const): Use ENUM_BITFIELD().  Move enum
	kind above its first use.

	* config/xm-interix.h, config/alpha/xm-alpha.h,
	config/i370/xm-linux.h, config/i386/xm-beos.h,
	config/i386/xm-mingw32.h, config/mips/xm-mips.h,
	config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
	config/rs6000/xm-beos.h, config/rs6000/xm-sysv4.h,
	Don't define ONLY_INT_FIELDS under any circumstances.

	* config/pa/xm-pa.h: Don't define __BSD_NET2__.

	* config/pa/xm-pahpux.h, config/pa/xm-papro.h,
	config/sparc/xm-sysv4.h: Delete - now identical with some
	other xm header.
	* config.gcc (hppa targets): Replace xm-pahpux.h and
	xm-papro.h with implicit xm-pa.h.
	(sparc targets): Replace xm-sysv4.h with implicit or explicit
	xm-sparc.h.

2001-03-12  Aldy Hernandez  <aldyh@redhat.com>

	* reload1.c (reload_cse_simplify): Call reload_cse_simplify_set
	before reload_cse_noop_set_p.
2001-03-11  Zack Weinberg  <zackw@stanford.edu>

	* config.gcc: Where xm-host.h used to include another
	xm-host.h, list the nested header directly in xm_file.  Remove
	references to deleted files.  Can now use sparc/xm-sp64.h for
	sparcv9-*-solaris*.

	* config/xm-linux.h, config/arm/xm-linux.h,
	config/i386/xm-dos.h, config/i386/xm-gnu.h,
	config/i386/xm-linux.h, config/i386/xm-openbsd.h,
	config/i860/xm-fx2800.h, config/m68k/xm-atari.h,
	config/m68k/xm-linux.h, config/m68k/xm-sun3.h,
	config/sparc/xm-linux.h, config/sparc/xm-sysv4-64.h:
	Delete.

	* config/alpha/xm-alpha-interix.h: Don't include alpha/xm-alpha.h.
	* config/mips/xm-iris5.h: Don't include mips/xm-mips.h.  Don't
	bother to wrap #undef in #ifdef.
	* config/pa/xm-linux.h, config/rs6000/xm-sysv4.h:
	Don't include xm-linux.h.
	* config/sparc/xm-sp64.h: Don't include sparc/xm-sparc.h.

	* configure.in: Wrap regexps using [] in changequote block.
	Use expr : not echo | grep.  Simplify regexps.
	* configure: Regenerate.

	56 xm-files remain, 22 xm-arch.

2001-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* mips-tfile.c: Cast arg to PTR when specifier is HOST_PTR_PRINTF.
	(__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
	(local_index, local_rindex): Delete, use strchr/strrchr instead.
	(copy_object): Fix format specifier vs argument mismatch.

	* mips-tdump.c: Make local functions static.
	(rindex): Don't #undef.
	(__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
	(fatal, fancy_abort): Delete.
	(read_seek): Avoid signed/unsigned compare.

Sun Mar 11 17:01:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* combine.c (try_combine): Fix error in change to try original
	register.
	(gen_rtx_combine): Do same as gen_rtx for now.

2001-03-11  Zack Weinberg  <zackw@stanford.edu>

	* configure.in: AC_SUBST xm_defines.
	* configure: Regenerate.
	* Makefile.in: Set DEFINES=$(xm_defines) when building
	tconfig.h.

2001-03-11  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cppfiles.c (INCLUDE_LEN_FUDGE, ENOMEM): Delete.
	(cpp_included, find_include_file): Update.
	(_cpp_compare_file_date): Make else unconditional.

2001-03-10  kaz Kojima <kkojima@rr.iij4u.or.jp>

	* config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.

2001-03-10  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>

	* config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
	* config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w.

Sat Mar 10 22:42:05 2001  Alexandre Oliva  <aoliva@redhat.com>

	* tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node
	if it's a record type.

Sat Mar 10 17:52:54 2001  Christopher Faylor <cgf@cygnus.com>

	* config/i386/cygwin.h: Make ../w32api a system directory.  Reorganize
	mingw includes slightly.

2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* system.h (malloc, realloc, calloc, strdup, bzero, bcmp, rindex):
	#undef token before poisoning it.
=======

	56 xm-files remain, 22 xm-arch.

2001-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* mips-tfile.c: Cast arg to PTR when specifier is HOST_PTR_PRINTF.
	(__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
	(local_index, local_rindex): Delete, use strchr/strrchr instead.
	(copy_object): Fix format specifier vs argument mismatch.

	* mips-tdump.c: Make local functions static.
	(rindex): Don't #undef.
	(__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
	(fatal, fancy_abort): Delete.
	(read_seek): Avoid signed/unsigned compare.

Sun Mar 11 17:01:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* combine.c (try_combine): Fix error in change to try original
	register.
	(gen_rtx_combine): Do same as gen_rtx for now.

2001-03-11  Zack Weinberg  <zackw@stanford.edu>

	* configure.in: AC_SUBST xm_defines.
	* configure: Regenerate.
	* Makefile.in: Set DEFINES=$(xm_defines) when building
	tconfig.h.

2001-03-11  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cppfiles.c (INCLUDE_LEN_FUDGE, ENOMEM): Delete.
	(cpp_included, find_include_file): Update.
	(_cpp_compare_file_date): Make else unconditional.

2001-03-10  kaz Kojima <kkojima@rr.iij4u.or.jp>

	* config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.

2001-03-10  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>

	* config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
	* config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w.

Sat Mar 10 22:42:05 2001  Alexandre Oliva  <aoliva@redhat.com>

	* tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node
	if it's a record type.

Sat Mar 10 17:52:54 2001  Christopher Faylor <cgf@cygnus.com>

	* config/i386/cygwin.h: Make ../w32api a system directory.  Reorganize
	mingw includes slightly.

2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* system.h (malloc, realloc, calloc, strdup, bzero, bcmp, rindex):
	#undef token before poisoning it.
>>>>>>> 1.9902

<<<<<<< ChangeLog
2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* alpha.c (check_float_value): Use memcpy, not bcopy.

	* m32r.c (m32r_sched_reorder): Likewise.

	* vax.c (check_float_value): Likewise.

2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>

	* toplev.c (file_name_nondirectory): Remove.
	* toplev.h: Similarly.
	* dwarf2out.c (compute_section_prefix): Use lbasename instead
	of file_name_nondirectory.

Sat Mar 10 10:36:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* mips-tdump.c (read_seek): Call xmalloc, not malloc.
	* mips-tfile.c: Don't #undef rindex; not used.

Sat Mar 10 14:34:59 CET 2001  Jan Hubicka  <jh@suse.cz>

	* i386.h (DBX_REGISTER_NUMBER): Return proper values for 64bits.
	(dbx64_register_map): Declare.
	(RETURN_ADDR_RTX): Fix for 64bit.
	(DWARF_FRAME_RETURN_COLUMN): Set to 16 for 64bit.
	(INCOMING_FRAME_SP_OFFSET): Set to 8.
	* i386.c (dbx64_register_map): New global array.
	* beos-elf.h, freebsd.h, i386-interix.h, i386elf.h,
	linux.h (DBX_REGISTER_REGNUMBER): Use dbx64_register_map
	for 64bits.

2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cppfiles.c (search_from): Use lbasename.
	* mkdeps.c (deps_add_default_target): Use lbasename.

2001-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* fixinc/server.c (load_data, run_shell): Use xmalloc, xrealloc &
	xcalloc in lieu of malloc, realloc & calloc.

	* gencheck.c (xmalloc): Use really_call_malloc, not malloc.

	* gengenrtl.c (xmalloc): Likewise.

	* gensupport.c (xcalloc, xrealloc, xmalloc): Use the
	really_call_* memory allocation routines.

	* stmt.c (check_for_full_enumeration_handling): Use
	really_call_calloc, not calloc.

	* system.h (really_call_malloc, really_call_calloc,
	really_call_realloc): Define.
	(malloc, realloc, calloc, strdup, bzero, bcmp, rindex): Poison.

Fri Mar  9 18:39:19 2001  Jeffrey A Law  (law@cygnus.com)

	* pa.md (builtin_longjmp): Rework slightly to work for PA64 too.

2001-03-09  Nicola Pero <n.pero@mi.flashnet.it>

	* configure: Rebuilt.
	* configure.in: Only use `lang_requires' for languages athat are
	actually enabled.
2001-03-09  Joseph S. Myers  <jsm28@cam.ac.uk>
	* invoke.texi: Fix typo.
	* gcc.1: Regenerate.
2001-03-09  Zack Weinberg  <zackw@stanford.edu>
	* configure.in: Prune nonexistent files from build_xm_file,
	xm_file, and host_xm_file lists.  Warn unless they're
	$cpu/xm-$cpu.h.
	Don't generate *config.h here.
	AC_SUBST all variables needed to generate *config.h.
	* configure: Regenerate.
	* mkconfig.sh: New helper script, from code removed from
	configure.in.
	* Makefile.in: Zap all MALLOC variables - no longer used
	anywhere, and malloc.c doesn't exist.
	Substitute in variables needed to generate *config.h.
	Stop lying about the dependencies contained in CONFIG_H and
	GCONFIG_H.
	(HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
	(config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
	cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
	(all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
	$(TM_P_H), etc. as appropriate.
	* config.gcc: Zap references to deleted files.
	* ggc-none.c: Don't include rtl.h or tm_p.h.
	* config/i386/xm-beos.h, config/i386/xm-dgux.h,
	config/i386/xm-djgpp.h, config/i386/xm-dos.h,
	config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
	config/i386/xm-linux.h, config/i386/xm-linux.h,
	config/i386/xm-next.h, config/i386/xm-openbsd.h,
	config/i386/xm-sun.h, config/i386/xm-sysv3.h:
	Don't include i386/xm-i386.h.
	* config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
	config/i386/xm-i386.h, config/i860/xm-i860.h,
	config/i960/xm-i960.h, config/mcore/xm-mcore.h,
	config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
	config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
	Delete (empty except comments, #includes of other deleted
	files, and macros used nowhere).
Fri Mar  9 20:05:27 CET 2001  Jan Hubicka  <jh@suse.cz>
	* i386.h (MAX_WCHAR_TYPE_SIZE): New constant to keep tradcpp
	independent on TARGET_FLAGS.
Fri Mar  9 19:52:52 CET 2001  Jan Hubicka  <jh@suse.cz>
	* i386.h (FIRST_PSEUDO_REGISTER): Set to 53.
	(FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ONES): Add
	extended ones.
	(CONDITIONAL_REGISTER_USAGE): Set proper values according to
	TARGET_64BIT.
	(FIRST_REX_INT_REG, LAST_REX_INT_REG, FIRST_REX_SSE_REG,
	LAST_REX_SSE_REG): define.
	(enum reg_class): Add 'LEGACY_REGS'
	(REG_CLASS_CONTENTS): Likewise; add extended registers.
	(SSE_REGNO_P): Recognize extended registers.
	(ANY_QI_REG_P, REX_INT_REGNO_P, REX_INT_REG_P): New.
	(REG_CLASS_FROM_LETTER): Add 'R' and 'Q'.
	(REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P,
	REG_OK_FOR_BASE_NONSTRICT_P): Recognize REX registers.
	(REG_OK_FOR_STRREG_NONSTRICT_P, REG_OK_FOR_STRREG_STRICT_P,
	REG_OK_FOR_STRREG_P): Remove.
	(HI_REGISTER_NAMES): Add extended registers.
	(ADDITIONAL_REGISTER_NAMES): Likewise.
	(QI_REGISTER_NAMES): Add 8bit extended registers.
	(DEBUG_REG): Support extended registers.
	* i386.c (regclass_map): Add extended registers.
	(dbx_register-map): Likewise.
	(svr4_dbx_register_map): Likewise.
	(print_reg): Support extended registers.
	(print_operand): Support 64bit operands.
Fri Mar  9 19:37:46 CET 2001  Jan Hubicka  <jh@suse.cz>
	* i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 128bit for x86_64
	(BOOL_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
	FLOAT_TYPE_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE,
	DOUBLE_TYPE_SIZE, LONG_LONG_TYPE_SIZE): New constants.
	(BITS_PER_WORD, UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY,
	STACK_BOUNDARY): Set properly for 64bits.
	(MAX_BITS_PER_WORD, MIN_UNITS_PER_WORD): New constants.
	(EMPTY_FIELD_BOUNDARY): Define using BITS_PER_WORD.
	(BIGGEST_FIELD_ALIGNMENT): Set to 128 for 64bits.
	(MOVE_MAX): Set to 16.
	(MOVE_MAX_PIECES): 8 for 64bit.
	(Pmode): Set to SImode.
Fri Mar  9 09:00:36 2001  Mike Stump  <mrs@wrs.com>
	* cselib.c (hash_rtx): Ensure that hash isn't zero upon return.
Fri Mar  9 17:38:08 CET 2001  Jan Hubicka  <jh@suse.cz>
	* i386.h (mask_64bit): New constant.
	(target_64bit): New macro.
	(target_options): Add '64'/'32'
	(target_default): Define.
	* cygwin.h freebsd-aout.h i386-interix.h i386.h i386elf.h isc.h
	isccoff.h netbsd.h next.h openbsd.h p sco.h sco5.h scodbx.h sequent.h
	unix.h win32.h (TARGET_DEFAULT): Rename to TARGET_SUBTARGET_DEFAULT.
Thu Mar  8 23:36:56 2001  Jeffrey A Law  (law@cygnus.com)
=======
>>>>>>> 1.9240.2.295
	* config/pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Disable.
Thu Mar  8 23:22:26 2001  John Wehle  (john@feith.com)

=======
>>>>>>> 1.9902
<<<<<<< ChangeLog

<<<<<<< ChangeLog
2001-03-08  Richard Henderson  <rth@redhat.com>
=======
Thu Mar  8 19:42:08 CET 2001  Jan Hubicka  <jh@suse.cz>
>>>>>>> 1.9240.2.295
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
	* configure.in (HAVE_AS_LEB128): New assembler check.
	* configure, config.in: Rebuilt.
=======
>>>>>>> 1.9902

<<<<<<< ChangeLog
Thu Mar  8 19:54:04 CET 2001  Jan Hubicka  <jh@suse.cz>
	* reg-stack.c (move_for_stack_reg): Avoid non-poping fst for
=======
	* reg-stack.c (move_for_stack_reg): Avoid non-popint fst for
>>>>>>> 1.9240.2.295
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
=======
2001-03-07  Andrew MacLeod  <amacleod@redhat.com>
>>>>>>> 1.9902

<<<<<<< ChangeLog
	* config/a29k/a29k.c (print_operand): Free a29k_last_prologue_insn
	after its emitted.
	(output_prologue): Use xmalloc not oballoc.
	(output_epilog): Free a29k_first_epilogue_insn when finished.
	* confif/a29k/a29k.h (PREDICATE_CODES): Remove shift_constant_operand.

2001-03-07  Brad Lucier  <lucier@math.purdue.edu>

	* builtins.c (expand_builtin_mathfn): Check
	flag_unsafe_math_optimizations, not flag_fast_math.
	(expand_builtin): Likewise
	* combine.c (combine_simplify_rtx): Likewise.
	(simplify_if_then_else): Likewise.
	* cse.c (fold_rtx): Likewise.
	* flags.h: Remove flag_fast_math.  Add
	flag_unsafe_math_optimizations and flag_trapping_math.
	* fold-const.c (negate_expr): Check
	flag_unsafe_math_optimizations, not flag_fast_math.
	(invert_truthvalue): Likewise.
	(fold): Likewise.  Before associating operands, check that
	code == MULT_EXPR, not code != MULT_EXPR.
	* ifcvt.c (noce_try_minmax): Check
	flag_unsafe_math_optimizations, not flag_fast_math.
	(noce_operand_ok): Check flag_trapping_math, not flag_fast_math.
	* invoke.texi: Document -funsafe-math-optimizations and
	-fno-trapping-math.  Change documentation for -ffast-math.
	* jump.c (reversed_comparison_code_parts): Likewise.
	(rtx_equal_for_thread_p): Likewise.
	* optabs.c (emit_conditional_move): Likewise.
	* simplify-rtx.c (simplify_binary_operation): Likewise.
	(simplify_relational_operation): Likewise.
	(simplify_ternary_operation): Likewise.
	* toplev.c: Remove flag_fast_math.  Add flag_trapping_math and
	flag_unsafe_math_optimizations.  Remove fast-math entry from f_options.
	Add trapping-math and unsafe-math-optimizations entries to f_options.
	(set_fast_math_flags): New, sets flags for -ffast-math.
	(set_no_fast_math_flags): New, sets flags for -fno-fast-math.
	(decode_f_option): Add code to handle -ffast-math and -fno-fast-math.
	* toplev.h: Declare set_fast_math_flags and set_no_fast_math_flags.

	* config/alpha/alpha.c (alpha_emit_conditional_branch): Likewise.
	(alpha_emit_conditional_move): Initialize local_fast_math to
	flag_unsafe_math_optimizations, not flat_fast_math.
	* config/c4x/c4x.c (c4x_override_options): Call set_fast_math_flags
	instead of setting flag_fast_math to 1.
	* config/convex/convex.md: Check flag_unsafe_math_optimizations,
	not flag_fast_math.
	* config/i386/i386.c (override_options): Likewise
	* config/i386/i386.md: Likewise.
	* config/m68k/m68k.md: Likewise.
	* config/mips/mips.md: Likewise.
	* config/rs6000/rs6000.c (validate_condition_mode): Likewise.
	(rs6000_generate_compare): Likewise.

2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
=======
2001-03-07  Richard Henderson  <rth@redhat.com>
>>>>>>> 1.9240.2.295
	* config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
2001-03-07  Richard Henderson  <rth@redhat.com>
=======
2001-03-06  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
>>>>>>> 1.9240.2.295
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
=======
	* config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
>>>>>>> 1.9902
<<<<<<< ChangeLog
2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
=======
	* Restore change that patch misapplied.
	* config/i386/i386.c (ix86_set_move_mem_attrs): New function.
	(ix86_set_move_mem_attrs_1): Likewise.
	* config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration.
	* config/i386/i386.md (movstrsi): Call it.
>>>>>>> 1.9240.2.295

2001-03-06  Stephen L Moshier  <moshier@mediaone.net>

	* config/m68k/m68k.c (const_uint32_operand): Accept any
	const_int on a 32-bit host.

=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog

2001-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
	* crtstuff.c: Restore include of auto-host.h.
=======

>>>>>>> 1.9902
<<<<<<< ChangeLog
=======
>>>>>>> 1.9240.2.295
=======
2001-03-05  Fergus Henderson  <fjh@cs.mu.oz.au>
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
	Put main() in a separate file, so that the language
	front-end can use a different main().
=======
2001-03-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
>>>>>>> 1.9240.2.295
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
	* main.c: New.
	* toplev.c: (main): Rename as toplev_main.
	* toplev.h: Declare toplev_main.
	* Makefile.in (OBJS): add toplev.o.
	(BACKEND): remove toplev.o, add main.o.
=======
	* function.c (purge_addressof_1): Change type of function
	purge_addressof_1 from boolean to int.  Change local variable
	`result' to int, and false and true to 0 and 1, respectively.

2001-03-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* config/m68hc11/larith.asm (__mulqi3): Fix multiplication of two
	negative numbers.
	(___subdi3, ___adddi3): Use x instead of y as index register.
	(__init_bss_section, __map_data_section): Optimize for 68HC12.
	(__memset, __memcpy): Likewise.
	(regs): Put the soft registers in bss for 68HC12.
	(abort): Use trap to abort for 68hc12.
	(__mulhi3, __mulhi32): Use emul for 68hc12.
	(__mulsi3): Avoid to use the tmp soft register for 68hc12.

2001-03-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* config/m68hc11/m68hc11.h (LIMIT_RELOAD_CLASS): Don't define.
	* config/m68hc11/m68hc11-protos.h (limit_reload_class): Remove.
	* config/m68hc11/m68hc11.c (limit_reload_class): Remove.
	(m68hc11_override_options): Remove setting of flag_no_nonansi_builtin.
	Set 68HC12 min offset to -65536.
	(print_operand): Put parenthesis arround the operand if it refers
	to a symbol having the same name as a register.
	(m68hc11_z_replacement): When z register is replaced by its
	equivalent soft register, force the insn to be re-recognized.
	(m68hc11_check_z_replacement): Fix the test when destination is
	the index register and z dies in the insn.
	(m68hc11_reorg): Remove the REG_DEAD notes beforce recomputing them.

2001-03-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* config/m68hc11/m68hc11.c (m68hc11_override_options): Initialize
	costs according to processor variant.
	(m68hc11_shift_cost): New function to compute shift costs.
	(m68hc11_rtx_costs): Define costs according to processor variant.
	(m6811_cost): Costs for 68HC11.
	(m6812_cost): Costs for 68HC12.
	(COSTS_N_INSNS): Remove.

	* config/m68hc11/m68hc11.h (RTX_COSTS): New.
	(DEFAULT_RTX_COSTS): Remove.
	(CONST_COSTS): Define costs according to OUTER_CODE.
	(processor_costs): New struct to define costs.
	(m68hc11_cost): Pointer to current costs.

2001-03-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* config/m68hc11/m68hc11.md (*addhi3_68hc12): Fix generation
	and use m68hc11_notice_keep_cc when using leax/leay.
	(addhi3 split): Reject split if the insn is handled by
	leax/leay above.
	* config/m68hc11/m68hc11.c (m68hc11_split_move): For 68HC12 the
	push must be handled in a special way if the source operand uses
	sp as index register.
	(m68hc11_notice_keep_cc): New function.
	(m68hc11_gen_movhi): Use it when an insn changes a register but
	not the flags.
	(m68hc11_gen_movqi): Fix move for 68HC12.
	* config/m68hc11/m68hc11-protos.h (m68hc11_notice_keep_cc): Declare.

2001-03-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use LCT_CONST
	and don't pass operands[0] to emit_library_call_value.

2001-03-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* config/m68hc11/m68hc11.md (tsthi_1): Use cpd for 68HC12.
	(zero_extendsi split): Simplify and use (zero_extendhi).
	(*addhi3): Remove 'w' constraint since stack pointer is handled
	by (addhi3_sp).
	(*ashlhi3_2): Operand 2 is clobbered use '+' for its constraint.
	(*ashlhi3, *ashrhi3, *lshrhi3): Likewise.
	(*ashrhi3_const): Fix shift by 7.
	(*lshrsi3_const16): Fix template.
	(call, call_value): Fix constraint and predicate.

2001-03-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* config/m68hc11/m68hc11.md (X_REGNUM, D_REGNUM): New constant.
	(Y_REGNUM, SP_REGNUM, PC_REGNUM, A_REGNUM, B_REGNUM): Likewise.
	(CC_REGNUM): Likewise.
	(*unnamed splits): Use above constants instead of hard coded numbers.
	(*adcq, *subcq, *addsi_carry, *rotlqi3_with_carry): Likewise.
	(*rotlhi3_with_carry, *rotrhi3_with_carry): Likewise.
	(*return_16bit, *unnamed peepholes): Likewise.
>>>>>>> 1.9240.2.295
=======
>>>>>>> 1.9902

<<<<<<< ChangeLog
<<<<<<< ChangeLog
2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cppfiles.c (search_from): Special case the empty string.

2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
	* cppfiles.c (_cpp_execute_include): Don't make a null-terminated
	copy of the filename.  Don't use CPP_PREV_BUFFER.  Don't call
	strlen or strcpy; we already know the length.
	(_cpp_compare_file_date): Similarly.
	* cpphash.h (struct cpp_reader): Delete done_initialising.
	(CPP_PREV_BUFFER): Delete.
	* cppinit.c (cpp_start_read): Don't set done_initialising.
	* cpplex.c (parse_string): Guarantee null-termination.
	(_cpp_equiv_toklists): Remove.
	* cpplib.c (glue_header_name): Null-terminate.
	(do_line): Don't leak memory.
	* cpplib.h (BT_WEAK): Delete.
	* cppmain.c (cb_ident): Strings are now null-terminated.
=======
2001-03-03  Laurynas Biveinis  <lauras@softhome.net>
>>>>>>> 1.9240.2.295

<<<<<<< ChangeLog
2001-03-04  Laurynas Biveinis  <lauras@softhome.net>

=======
>>>>>>> 1.9240.2.295
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
=======
	(c-gperf.h was accidently re-added to the CVS repo in the rev 1.16 commit
	by tromey)
>>>>>>> 1.9240.2.295
<<<<<<< ChangeLog
=======
	(c-gperf.h was accidently re-added to the CVS repo in the rev
	1.16 commit by tromey)

2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cpplex.c (_cpp_lex_token): Don't warn about directives in
	macro arguments when looking for the '('.
	* cppmacro.c (funlike_invocation_p): Set parsing_args to
	2 when really parsing arguments; 1 when looking for '('.
	Always restore the lexer position.

2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
	* longlong.h (umul_ppmm): Don't use a multiline string.
>>>>>>> 1.9902

=======
>>>>>>> 1.9240.2.295
2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>

<<<<<<< ChangeLog
	* longlong.h (umul_ppmm): Don't use a multiline string.

2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
	* c-lex.c (lex_number): Update.

2001-03-03  Richard Henderson  <rth@redhat.com>

	* dwarf2out.c (output_call_frame_info): Fix augmentation length.

Sat Mar  3 04:17:17 2001  J"orn Rennecke <amylaar@redhat.com>

	* combine.c (try_combine): If split with mode-changed scratch
	register didn't work, try the original mode.

Sat Mar  3 03:46:47 2001  J"orn Rennecke <amylaar@redhat.com>

	* tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
	* config/c4x/c4x.h: Likewise.
	* stor-layout.c (compute_record_mode): Likewise.
	(layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK.
=======
>>>>>>> 1.9902

<<<<<<< ChangeLog
2001-03-02  Zack Weinberg  <zackw@stanford.edu>
=======
>>>>>>> 1.9240.2.295

<<<<<<< ChangeLog
	* configure.in: Kill tm.h.  Include the files in the $tm_file
	list in all three of config.h, hconfig.h, tconfig.h, after the
	relevant set of xm_files.  Put TARGET_CPU_DEFAULT in all
	three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
	* configure: Regenerate.
	* Makefile.in (clean): Don't delete tm.h.

	* system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
	defined, set them from EXIT_SUCCESS and EXIT_FAILURE.  If
	those are not defined, set SEC and FEC to 0 and 1.
	* gcc.texi: Update to match.

	* crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
	* config/fp-bit.c, config/m68k/aux-crt2.asm,
	config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
	Include tconfig.h, not tm.h.

	* config/xm-lynx.h, config/xm-std32.h,
	config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
	config/alpha/xm-alpha.h, config/arc/xm-arc.h,
	config/avr/xm-avr.h, config/c4x/xm-c4x.h,
	config/clipper/xm-clix.h, config/convex/xm-convex.h,
	config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
	config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
	config/h8300/xm-h8300.h, config/i370/xm-linux.h,
	config/i386/xm-i386.h, config/i860/xm-i860.h,
	config/i960/xm-i960.h, config/ia64/xm-ia64.h,
	config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
	config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
	config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
	config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
	config/pa/xm-linux.h, config/pa/xm-pa.h,
	config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
	config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
	config/pj/xm-pj.h, config/romp/xm-romp.h,
	config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
	config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
	config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
	config/v850/xm-v850.h, config/vax/xm-vax.h,
	config/we32k/xm-we32k.h:
	Don't include tm.h.
	Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.

	* config/i370/xm-i370.h, config/i370/xm-mvs.h,
	config/i370/xm-oe.h: Don't include tm.h.  Don't define
	SUCCESS_EXIT_CODE.
	* config/vax/xm-vms.h: Don't include tm.h.

	* config/xm-lynx.h, config/avr/xm-avr.h,
	config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
	Delete; made empty by above changes.
	* config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
	config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
	Don't include config/xm-lynx.h or tm.h.

	* config/xm-gnu.h: Don't include fcntl.h.
	* config/sparc/xm-lynx.h: Don't include sys/types.h and
	sys/wait.h.
	* config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.

2001-03-02  Richard Henderson  <rth@redhat.com>

	* tm.texi (File Framework): Document UNALIGNED_SHORT_ASM_OP,
	UNALIGNED_INT_ASM_OP, and UNALIGNED_DOUBLE_INT_ASM_OP.

2001-03-02  Richard Henderson  <rth@redhat.com>

	* Makefile.in (OBJS): Add dwarf2asm.o.
	* dwarf2asm.c, dwarf2asm.h: New files.
	* dwarf2out.c (*): Use them.
	(size_of_uleb128, size_of_sleb128): Remove.
	(output_uleb128, output_sleb128): Remove.
	(UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Remove.
	(UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Remove.
	(UNALIGNED_OFFSET_ASM_OP, UNALIGNED_WORD_ASM_OP): Remove.
	(FDE_LABEL, LINE_NUMBER_BEGIN_LABEL, LINE_NUMBER_END_LABEL): New.
	(ASM_OUTPUT_DWARF_DATA1, ASM_OUTPUT_DWARF_DELTA1): Remove.
	(ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_DELTA2): Remove.
	(ASM_OUTPUT_DWARF_DATA4, ASM_OUTPUT_DWARF_DELTA4): Remove.
	(ASM_OUTPUT_DWARF_DATA, ASM_OUTPUT_DWARF_DELTA): Remove.
	(ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_ADDR_DATA): Remove.
	(ASM_OUTPUT_DWARF_ADDR_DELTA, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
	(ASM_OUTPUT_DWARF_OFFSET4, ASM_OUTPUT_DWARF_OFFSET): Remove.
	(ASM_OUTPUT_DWARF_CONST_DOUBLE): Remove.
	(ASM_OUTPUT_DWARF_NSTRING, ASM_OUTPUT_DWARF_STRING): Remove.
	(dwarf2out_frame_debug): Remove unused variables.
	(output_loc_operands): Don't abort on 8 byte constants if
	host integers are wide enough.
	(output_symbolic_ref): Remove.
	(size_of_die): Don't assume 4 byte host integers.
	(output_line_info): Use ASM_GENERATE_INTERNAL_LABEL for begin
	and end labels.
	(add_const_value_attribute) [CONST_INT]: Verify we're not doing
	something stupid with HOST_WIDE_INT to long truncation.
	[CONST_DOUBLE]: Likewise.

	* config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Remove.
	(ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
	* config/arm/unknown-elf.h: Likewise.
	* config/rs6000/aix.h (UNALIGNED_SHORT_ASM_OP): New.
	(UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): New.
	(ASM_OUTPUT_DWARF_ADDR_VAR, ASM_OUTPUT_DWARF_DELTA_VAR): Remove.
	(ASM_OUTPUT_DWARF_DELTA2, ASM_OUTPUT_DWARF_DELTA4): Remove.
	(ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_ADDR_DELTA): Remove.
	(ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_DATA4): Remove.
	(ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_OFFSET4): Remove.
	(ASM_OUTPUT_DWARF_OFFSET): Remove.
	* config/rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Remove.
	* config/sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
	(UNALIGNED_LONGLONG_ASM_OP, ASM_OUTPUT_DWARF_ADDR): Remove.
	(ASM_OUTPUT_DWARF_ADDR_CONST, ASM_OUTPUT_DWARF_REF): Remove.
=======
>>>>>>> 1.9902
2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>

<<<<<<< ChangeLog
	* cselib.c (hash_rtx): Cast enums to unsigned int.

=======
>>>>>>> 1.9240.2.295
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
<<<<<<< ChangeLog
Fri Mar  2 11:59:43 CET 2001  Jan Hubicka  <jh@suse.cz>

	* ifcvt.c (noce_operand_ok): Handle properly unarry operations.

2001-03-02  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cppfiles.c (struct include_file): Update.
	(stack_include_file): Use search_from.
	(cpp_included, find_include_file): Update.
	(cpp_execute_include): Update.  ptr->name may not be
	null terminated.  Use the new search_from member variable
	of cpp_buffer.
	(_cpp_compare_file_date): Similarly.
	(search_from): New function, similiar to actual_directory.
	(actual_directory): Delete.
	(remap_filename): Update.  loc->name may not be null terminated.
	(struct file_name_list): Rename search_path.  Update.
	* cpphash.h (struct cpp_buffer): Delete actual_dir.  New members
	search_from and dir.
	(struct cpp_reader): Remove actual_dirs.
	* cppinit.c (struct cpp_pending): Update for renamed objects.
	(append_include_chain, remove_dup_dir, remove_dup_dirs,
	merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
	* cpplib.h (struct cpp_options): Similarly.

2001-03-01  Zack Weinberg  <zackw@stanford.edu>

	* config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
	config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
	config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
	config/clipper/xm-clix.h, config/convex/xm-convex.h,
	config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
	config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
	config/h8300/xm-h8300.h, config/i370/xm-i370.h,
	config/i370/xm-linux.h, config/i370/xm-mvs.h,
	config/i370/xm-oe.h, config/i386/xm-aix.h,
	config/i386/xm-i386.h, config/i386/xm-osf.h,
	config/i860/xm-i860.h, config/i960/xm-i960.h,
	config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
	config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
	config/mcore/xm-mcore.h, config/mips/xm-mips.h,
	config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
	config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
	config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
	config/pa/xm-pahpux.h, config/pa/xm-papro.h,
	config/pj/xm-pj.h, config/romp/xm-romp.h,
	config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
	config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
	config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
	config/v850/xm-v850.h, config/vax/xm-vax.h,
	config/vax/xm-vms.h, config/we32k/xm-we32k.h:
	Do not define TRUE or FALSE.

	* config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
	empty by above change.
	* config.gcc: Remove references to these files.

	* configure.in: Detect stdbool.h.
	* configure, config.in: Regenerate.
	* system.h: Include stddef.h here if available.
	Set HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.
	Then set up a sensible boolean type at the very end.

	* combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
	config/mcore/mcore.c: Rename variables named 'true' and/or 'false'.

	* hash.h: Delete 'boolean' typedef and related #undefs.

	* function.c, ggc-common.c, hash.h, hash.c, tlink.c: Replace
	all uses of 'boolean' with 'bool'.

2001-03-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* cpplib.c (_cpp_init_stacks): Cast enum for comparison.
	* cppexp.c (lex): Cast enums for comparison.
	* cppinit.c (parse_option): Cast enum for comparison.
	* cpplex.c (cpp_spell_token): Cast enums to int for minus.
	(cpp_output_token): Likewise.
	(cpp_can_paste): Cast enums for comparsion and plus/minus.
	(cpp_avoid_paste): Cast enums for minus and comparison.

=======
>>>>>>> 1.9902
2001-03-01  Zack Weinberg  <zackw@stanford.edu>

<<<<<<< ChangeLog
	* gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec
	field to all array elements.

=======
>>>>>>> 1.9240.2.295
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
2001-03-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
	* cpplib.c (_cpp_init_stacks): Cast enum for comparison.
	* cppexp.c (lex): Cast enums for comparison.
	* cppinit.c (parse_option): Cast enum for comparison.
	* cpplex.c (cpp_spell_token): Cast enums to int for minus.
	(cpp_output_token): Likewise.
	(cpp_can_paste): Cast enums for comparsion and plus/minus.
	(cpp_avoid_paste): Cast enums for minus and comparison.
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
2001-02-23  Jeffrey Oldham  <oldham@codesourcery.com>
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
	* Makefile.in (resource.o): Add params.h dependence.
	* params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter.
	* params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise.
	* resource.c: Add dependence on params.h.
	(current_live_regs): Fix explanatory comment.
	(find_basic_block): Add new parameter to permit limiting search
	for a BARRIER.
	(mark_target_live_regs): Add new argument to find_basic_block call.
	(incr_ticks_for_insn): Likewise.
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
=======
>>>>>>> 1.9902

<<<<<<< ChangeLog
	* Makefile.in (reorg.o): Add params.h dependence.
	* params.def: Fix typographical error in comment.
	(MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
	* params.h: Modify introductory comment.
	(MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
	* reorg.c: Add dependence on params.h.
	(redundant_insn): Add parameterized throttle for search.
	(fill_simple_delay_slots): Add a comment explaining a variable.
	Move conditional out of loop, simplifying code.
	(fill_eager_delay_slots): Fix typographical error in comment.
=======
	* config/pa/som.h  (ASM_IDENTIFY_GCC): Define.
	(ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise.
>>>>>>> 1.9902

2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>

	* gcc.c (cc1_options): Add "-param".
	(DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
	(option_map): Likewise.
	* toplev.c (display_help): Add entry for "--param".
	(independent_decode_option): Fix typographical error.

<<<<<<< ChangeLog
2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
=======
	* config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming
	from reg 4 if current_function_calls_setjmp.
	(gen_nop_type): New function.
	(ia64_emit_nops): New function.
	(ia64_reorg): Call it.
	(ia64_sched_reorder): Move code that rotates bundles up a bit.
>>>>>>> 1.9902

	* Makefile.in (OBJS): Add params.o.

2001-02-14  Mark Mitchell  <mark@codesourcery.com>

<<<<<<< ChangeLog
	* Makefile.in (toplev.o): Depend on params.h.
	(intergate.o): Likewise.
	(params.o): New target.
	* flags.h (inline_max_insns): Remove.
	* integrate.c: Include params.h.
	Use MAX_INLINE_INSNS instead of inline_max_insns.
	* params.c: New file.
	* params.h: Likewise.
	* params.def: Likewise.
	* toplev.c: Include params.h.
	(lang_independent_params): New variable.
	(decode_f_option): Use the param machinery instead of setting
	max_inline_insns.
	(independent_decode_option): Handle "--param name=value".
	(main): Register language-independent parameters.
=======
2001-02-28  DJ Delorie  <dj@redhat.com>
>>>>>>> 1.9902

<<<<<<< ChangeLog
Thu Mar  1 09:44:15 2001  Jeffrey A Law  (law@cygnus.com)
2001-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
=======
>>>>>>> 1.9902
<<<<<<< ChangeLog
	* cppinit.c (builtin_array): Update.
	(init_builtins): Flag builtins to warn if redefined or
	undefined.  Define __GXX_WEAK as a normal macro.
	* cpplib.c (do_undef): Warn if flagged NODE_WARN.
	* cpplib.h (NODE_WARN): New flag.
	* cppmacro.c (builtin_macro): Remove handling of __GXX_WEAK__.
	Handle __STDC__ as a builtin only on Solaris.
	(warn_of_redefinition): Renamed from check_macro_definition.
	Reverse sense of test.  Always warn if NODE_WARN.
	(_cpp_create_definition): Use warn_of_redefinition.  Flag
	any macro beginning with "__STDC_" to require a mandatory
	warning if redefined or undefined.
	* cppinit.c (set_lang):  Move builtin handling to...
	(init_builtins): ...here.
	(_cpp_create_reader): Move call to set_lang.
	* cppfiles.c (stack_include_file): Generate dependencies
	here, and manage include_count here too.
	(PRINT_THIS_DEP): Delete.
	(_cpp_execute_include): Do not generate dependencies here,
	apart from the case of a missing header.  Do not manage
	include_count.
	(_cpp_read_file): Leave dependency generation to
	stack_include_file.
	* cppexp.c (parse_number): Similarly.
	* cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
	* cppmacro.c (struct cpp_macro): New member node.
	(parse_args): Only warn about missing rest args if not
	a system macro.
	(funlike_invocation_p): Similarly for uninvoked funlike macros.
	(cpp_sys_objmacro_p): New.
	(_cpp_create_definition): Store the node with the macro defn.
	Remember if the macro is defined in a system header.
=======
>>>>>>> 1.9902

<<<<<<< ChangeLog
2001-02-28  Nathan Sidwell  <nathan@codesourcery.com>

	* extend.texi (Deprecated Features): Deprecate float and
	complex template constant parms.

Tue Feb 27 16:45:00 2001  Jeffrey A Law  (law@cygnus.com)
=======
>>>>>>> 1.9902
Index: gcc/regclass.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/regclass.c,v
retrieving revision 1.118
diff -u -p -r1.118 regclass.c
--- gcc/regclass.c 2001/04/13 16:34:41 1.118
+++ gcc/regclass.c 2001/05/03 09:01:24
@@ -1058,11 +1058,16 @@ scan_one_insn (insn, pass)
 
       /* This makes one more setting of new insns's dest.  */
       REG_N_SETS (REGNO (recog_data.operand[0]))++;
+      REG_N_REFS (REGNO (recog_data.operand[0]))++;
 
       *recog_data.operand_loc[1] = recog_data.operand[0];
+      REG_N_REFS (REGNO (recog_data.operand[0]))++;
       for (i = recog_data.n_dups - 1; i >= 0; i--)
 	if (recog_data.dup_num[i] == 1)
-	  *recog_data.dup_loc[i] = recog_data.operand[0];
+	  {
+	    *recog_data.dup_loc[i] = recog_data.operand[0];
+	    REG_N_REFS (REGNO (recog_data.operand[0]))++;
+	  }
 
       return PREV_INSN (newinsn);
     }

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer                  aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist    *Please* write to mailing lists, not to me

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]