⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changelog.3

📁 早期freebsd实现
💻 3
📖 第 1 页 / 共 5 页
字号:
Sat Jun 29 06:25:19 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)	* tm-vax.h (CPP_SPEC): New macro.	(LIB_SPEC): Handle -mg.	* cccp.c (install_builtins): Fix backward test of objc.	* fold-const.c (size_int): No need to test sign of NUMBER.	* gcc.c (process_command): Split -L from its arg.	* gcc.c (S_ISREG): Define if not defined.	(delete_temp_files): Use it.	* limits.h (UCHAR_MAX, CHAR_MAX, USHRT_MAX): Delete `U'.	(LONG_MAX, ULONG_MAX): Add `L'.Fri Jun 28 22:22:58 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)	* Makefile (realclean): Delete stage1, stage2, stage3.	* gcc.c (fatal) [HAVE_VFPRINTF]: Do print program name.Fri Jun 28 15:34:08 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)	* out-sparc.c (output_block_move): Correctly handle the case where	the size is not a CONST_INT, and has a value of 0.	* flags.h (flag_no_inline): Modify comment to match the one in	toplev.c.	* integrate.c (copy_rtx_and_substitute): When creating new rtx,	make sure all of the new bitfields are copied, e.g.	REG_LOOP_TEST_P, LABEL_OUTPUT_LOOP_P, etc.	* loop.c (loop_optimize): Call reg_scan after	find_and_verify_loops, because it may change register lifetimes.	(find_and_verify_loops): After moving a block of code outside the	loop, must readjust the loop_number_exit_label and	LABEL_OUTSIDE_LOOP_P data of the modified jump and the moved jump.	toplev.c (rest_of_compilation): Delete reg_scan call before	loop_optimize.Fri Jun 28 13:16:37 1991  Michael Meissner  (meissner at osf.org)	* tm-mips.h (toplevel): Add target_flags to externals declared.	(toplevel): Add dslots_number_nops, mips_load_reg{,2},	mips_fill_delay_slot external declarations for delay slot reorg.	(CC1PLUS_SPEC): By default, pass -fno-gnu-binutils to cc1plus.	(TARGET_FLAGS): Add -mwc8, -mwc16, -mwc32 to set size of wchar_t,	though the switches are not used right now.	(TARGET_FLAGS): Add -msoft-float code from rfg@ncd.com to compile	on systems w/o floating point.	(TARGET_FLAGS): -mdebugf suppresses filling load delay slots.	(HARD_REGNO_OK): Relax constraints, allow anything in GP	registers, anything in even FP registers, int's only in multiply	and divide registers, int/CC in the FPSW register.	(FRAME_POINTER_REQUIRED): Require frame if alloca is called for	now.	(REG_CLASS_FROM_LETTER): Index from an array (mips_char_to_class)	instead of having lots of ?:'s.  Also, allow 'd' to signify GP	registers.	(ENCODE_SEGMENT_INFO): Only record things being in small data/bss	if -mgpOPT (-O sets by default), -O, and -G xx where xx > 0.	(FINAL_PRESCAN_INSN): Rework to automatically not fill the	previous instruction's load delay slots with nop's if it is safe.	(ASM_OUTPUT_LABEL): If compiling collect, don't use assemble_name.	(ASM_GLOBALIZE_LABEL): If compiling collect, don't use	assemble_name.	(ASM_OUTPUT_LABELREF_AS_INT): Define this for collect.	(ASM_OUTPUT_INT): If collect, don't use output_addr_const.	* mips.md (all floating point): If -msoft-float, don't allow any	floating point builtin operations.	(all patterns): Use 'd' constraint to limit things to GP	registers, rather than 'r'.  This allows unions of	float/int/double to occupy any registers.	(*extend*): Call mips_move_1word to handle loads, which in turn	sees if we can omit the load nop.	(fix_trunc*): Redo, since register allocator can handle moving to	the appropriate register set.	(movdf_xfer*): Use explicit return's instead of falling through	and having the appropriate value in a register from the previous	call.	(movsf_xfer*): New patterns to accomidate unions of floats and	int's.	(movsi_unaligned): New define_expand to call either movsi_ulw or	movsi_usw.  Also, if not a memory operation, use movsi.	(movsi_ulw): Set up to omit load delay nop if we can.	(movsi_usw): Use memory_operand instead of simple_memory_operand.	Also, allow storing 0 to an unaligned location.	(various move patterns): mips_move_1word now takes a third	argument to specify whether a load should sign or zero extend.	(call_value): Use register_operand on return value.	(probe): Turn into define_expand, and set a register to the	contents of memory pointed to by the stack pointer with volatil	set.	* out-mips.c (toplevel): Add new global variables:	dslots_number_nops, mips_load_reg{,2}, mips_regno_to_class,	mips_char_to_class.	(simple_memory_operand): If not optimizing, no global memory	reference is assumed to be in the GP area.	(mips_fill_delay_slot): New function to tell FINAL_PRESCAN_INSN	the current insn is a load and may need a nop.	(mips_move_1word): Take a third argument to say whether load byte	and load half-word sign extend or zero extend.  Change all	callers.  If this is a load, call mips_fill_delay_slots to	schedule the nops.  Change all return's to setting a variable, and	falling through to the end.	(mips_move_2words):  If this is a load, call mips_fill_delay_slots	to schedule the nops.  Change all return's to setting a variable,	and falling through to the end.	(function_arg): if -msoft-float, floating point is passed in GP	registers.	(override_options): Initialize mips_char_to_class.	(print_operand): %( and %) no longer do .set nomacro.	(print_operand): %# prints #nop if gas or -mstats.	(print_operand): Check for too many %), %], and %>'s.	(compute_frame_size): Allocate space in stack to hold FP, just in	case we later need a FP and previously thought we could eliminate	it.	(save_restore): Take a string to indicate the 2word load/store to	use, but don't use it at present.  Change all callers.  Home	varargs registers with sd if we can.	(function_epilogue): Deal with one or more outstanding nop's from	FINAL_PRESCAN_INSN.	(function_epilogue): Revamp -mstats output format.	(function_epilogue): Zero new global variables.	* make-decrose (toplevel): Sort make variables.	(CLIB): Add -lld library.	(LANGUAGES): Add build of collect-osf and g++.	(ULTRIX_DIR): Change internal work directory location.	(cplus-lex.o): Don't optimize to avoid problem with 1.39 compiler.	(collect-osf): Add rules to build OSF/rose version of collect.	* make-mips (LANGUAGES): Add build of g++.	* tm-decrose.h (SIZE_TYPE): Specify to be long unsigned int.	(PTRDIFF_TYPE): Specify to be long int.	(WCHAR_TYPE): Specify to be long unsigned int.	* sdbout.c (plain_type_1): Add support for unknown tags if	SDB_ALLOW_UNKNOWN_REFERENCES is defined.  The MIPS ECOFF support	needs this, but standard COFF typically doesn't allow unknown	references.	* gcc.texinfo (Debugging Info): Document	SDB_ALLOW_UNKNOWN_REFERENCES and SDB_ALLOW_FORWARD_REFERENCES.	* collect-osf.c (whole file): New file to provide collect support	on OSF/rose.Fri Jun 28 09:20:18 1991  Tom Wood  (wood at dg-rtp.dg.com)	* configure (m88k-luna): New target.	* tm-m88kluna.h: New file for the Omron Luna/88k.	* xm-m88k.h: Don't use USG for the luna88k.	* tm-m88kdgux.h: DG/UX implements coff and elf.  Currently elf is	a strange variant of coff that's non-standard (it uses SDB	debugging info for example).  Soon, the DG/UX elf will support	DWARF.  These changes provide transitional support for all three.	(DWARF_DEBUGGING_INFO, SDB_DEBUGGING_INFO): Define both.	(VERSION_0300_SYNTAX): True when -msvr4 and -mversion-03.00.	* tm-m88ksvr4.h (ASM_FILE_END, ASM_OUTPUT_DWARF_LINE): Move these	to tm-m88k.h.  They are dwarf specific.	* tm-m88k.h (TARGET_SWITCHES): Add -mversion-03.00 and -mdwarf.	(OVERRIDE_OPTIONS): If using version 03.00 syntax, assume DWARF_DEBUG.	* tm-m88k.h (REG_ALLOC_ORDER): Adapt slightly for using r26-r29.	* out-m88k.c (m88k_debugger_offset): Don't complain if the base	register is optimized away.Thu Jun 27 21:43:36 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)	* local-alloc.c (memref_referenced_p, memref_used_between_p):	New functions.	(update_equiv_regs): Call memref_used_between_p.Thu Jun 27 19:59:36 1991  Ken Raeburn  (raeburn at watch.com)	* print-tree.c (print_node): Changed the various "lang_#" strings to	indicate which of several possible fields are being examined; new	strings are "tree_#", "decl_#", "type_#".Thu Jun 27 15:05:43 1991  Michael Meissner  (meissner at churchy.gnu.ai.mit.edu)	* xm-mips.h (ONLY_INT_FIELDS): Define if not compiling with GCC	since the MIPS compiler treats enum bitfields as signed.Wed Jun 26 19:48:16 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)	* sched.c (memrefs_conflict_p): Explicitly handle case where both	X and Y are CONST.	(sched_analyze_2): Do create dependencies for insns with REG_EQUIV	notes.	(sched_note_set): Correctly handle the case where the destination	register is a multi-word hard register.	(attach_deaths): Don't add a REG_DEAD note to an insn with a	REG_UNUSED note that mentions the same register.  Correctly handle	the case where the destination register is a multi-word hard	register.	(schedule_block): Also call sched_note_set for CLOBBERs when	computing which registers are dead at the end of the basic block.	Also call sched_note_set for USEs when computing what registers	are still live after a just scheduled insn.	(regno_use_in): New function, subroutine of split_hard_reg_notes.	Searches an rtx for any reference to the given register, and	returns the register rtx used if any.	(split_hard_reg_notes): New function.  Handles the case where a	multi-word hard register with a REG_DEAD note gets split.  Creates	a new REG_DEAD note for each part of the original hard register	used by the split insns.	(new_insn_dead_notes): Don't add a REG_DEAD note to an insn with a	REG_UNUSED note which mentions the same register.	(update_links): Add call to new function split_hard_reg_notes.	Correctly handle the case when the dest of the original insn was a	multi-word register which was split in the split insns.  In this	case, the dest is no longer killed here, so must remove the	REG_DEAD on the last previous insn in this basic block which used	dest, if any such exists.	* unroll.c (reg_dead_after_loop): Check that a CODE_LABEL which is	the target of a JUMP_INSN has a non-zero PREV_INSN field before	trying to derefence it.  Fail if there is no previous insn.	* loop.c (scan_loop): Fix typo.	* local-alloc.c (optimize_reg_copy): Likewise.	* global-alloc (hard_reg_copy_preferences): Likewise.	* gcc.texinfo (REG_LOOP_TEST_P): Likewise.	* optabs.c (expand_float): Likewise.	* tm-vaxv.h (ASM_OUTPUT_ASCII): Likewise.	* out-sparc.c (output_move_double): Sign extend CONST_INTs that	feed DImode targets.	* tm-sparc.h (GO_IF_LEGITIMATE_ADDRESS): Don't accept a LABEL_REF	as a legal address.  Also, delete obsolete parts of preceeding	comment.	* reload1.c (alter_reg): Only try to delete the reg_equiv_init	insn if it hasn't already been deleted by a previous call to	delete_dead_insn.	* toplev.c (main): Handle -gdbx in addition to -gsdb for	orthogonality.	* gcc.texinfo: Document -gdbx.Tue Jun 25 09:57:08 1991  Tom Wood  (wood at dg-rtp.dg.com)	* m88k.md (casesi): Don't emit a barrier; the dispatch code must	adjoin the table.	* tm-m88k.h (DONT_REDUCE_ADDR): Don't use this.	(CONDITIONAL_REGISTER_USAGE): The PIC register is also call-used.	* out-m88k.c (m88k_layout_frame): Save the PIC register.Tue Jun 25 07:40:43 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)	* function.c (expand_function_end): FNDECL should	be CURRENT_FUNCTION_DECL.	* combine.c (find_split_point): If we see an AND operation as the	first operand of some non-AND operation, use it as a split point.	(subst): Add counter to limit restarts, go to restart more often.	(subst, case AND): If we get (ior (and (X C1) C2)) and can't	restart more than once, rewrite with C1 as small as possible and exit.	* cse.c (cse_end_of_basic_block): Don't put branch in our path more	than once.	(cse_main): Clear PATH_SIZE when skipping a block.	(cse_basic_block): Use GET_RTX_CLASS.Tue Jun 25 07:39:29 1991  Matthew Self  (mself at next.com)	* varasm.c (const_hash, compare_constant_1, record_constant_1):	For ADDR_EXPR's, don't hash address of SYMBOL_REF.  Only use	offset and name of symbol.  This allows constructors which	contain pointers to identical string literals to be uniqued.	* loop.c (loop_optimize, init_loop):  Moved call to	gcc_obstack_init() from loop_optimize() to init_loop().	* reload1.c (reload, init_reload):  Moved call to	gcc_obstack_init() from reload() to new function init_reload().	* toplev.c (compile_file):  Call new function init_reload().Mon Jun 24 16:05:57 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)	* stmt.c (expand_end_stmt_expr): Fix typo in comment.	* reload1.c (modes_equiv_for_class_p): Only fail if registers in	CLASS that can hold ALLOCATE_MODE can't also hold OTHER_MODE.  Do	not fail for the reverse test.  ALLOCATE_MODE is always a larger	or same size mode as OTHER_MODE, and will be the mode that reload	uses when allocating spill registers.  Rewrite comments to explain	new behaviour.	(reload): Change call to modes_equiv_for_class_p to match new	semantics.	* combine.c (simplify_shift_const): When simplifying (ashiftrt	(ashift inner_const_int) const_int), was checking the wrong number of	high order bits of inner_const_int.  Also correct typos in comments.	* c-convert.c (convert_to_integer): Must also check ARG1 for	unsignedness, because ARG0 could be a constant when EXPR is a	MINUS_EXPR.	* combine.c (try_combine): When splitting, it is not safe to use	I2DEST if it is referenced by NEWPAT.	* combine.c (distribute_notes): After converting REG_DEAD notes to	REG_UNUSED notes, clear PLACE if it already has a REG_UNUSED note,	to prevent adding a duplicate REG_UNUSED note.	* gcc.texinfo (SIGNED_CHAR_SPEC): Document.Mon Jun 24 10:02:32 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)	* cse.c (cse_set_around_loop): Ensure the insn we find in front	of the loop does the set in the proper mode.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -