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

📄 changelog.2

📁 早期freebsd实现
💻 2
📖 第 1 页 / 共 5 页
字号:
	* integrate.c (subst_constants): Only commute operands if op0 is const.	* rtl.def (INLINE_HEADER): Add new integer field.	* rtl.h (POPS_ARGS): New macro for place to save	current_function_pops_args.	(FUNCTION_FLAG_POPS_ARGS): Deleted; no longer a single bit.	* emit-rtl.c (gen_inline_header_rtx): Add new arg for "pops args".	* integrate.c (initialize_for_inline, output_inline_function):	Correctly save and restore current_function_pops_args.Sun Jan	 6 14:10:44 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)	* rtl.h (ASM_OPERANDS_INPUT_LENGTH): New macro.	* reload1.c (eliminate_regs): Use ASM_OPERANDS_... macros.	* recog.c (asm_noperands, decode_asm_operands): Likewise.	* rtl.def (IF_THEN_ELSE): Set class to '3'.	* cse.c (simplify_{unary,binary,ternary}_operation): New functions,	from fold_rtx.	(fold_rtx): Call these function to do the bulk of the work.	Use GET_RTX_CLASS to find commutative and comparison operations.	Swap folded_arg[01] when commuting operands.	* rtl.h: Define new functions.	* integrate.c (try_constants): Replace constant folding code with	calls to new functions above.	In commutative operations, put constants last.		* genemit.c (struct clobber_pat): New data structure.	(gen_insn): If pattern ends with a group of CLOBBERs of hard	registers, store this information in a struct clobber_pat.	(output_add_clobbers): New function.	(main): Call it to write code to add CLOBBERs.	* genrecog.c (struct decision): Add new field num_clobbers_to_add.	(make_insn_sequence): If pattern ends with a group of CLOBBERs,	set up to recognize it without the CLOBBERs but to indicate the	number of CLOBBERs omitted.	(add_to_sequence): Initialize num_clobbers_to_add.	Remove unnecessary conditionalization on STORE_FLAG_VALUE.	(break_out_subroutines, write_subroutine, write_tree): Remove	RETURN_PREFIX parameter; TYPE is sufficient.	(write_subroutine): Add extra parameter for recog_* functions.	(write_tree_1): Pass TYPE instead of string for return.	Write out code to return number of CLOBBERs needed.	(write_tree): Add new parameter to recog_*.	(main): Add new parameter to recog.	Don't pass return string to break_out_subroutines and write_tree.	* recog.c (recog_memoized): Pass extra (0) parameter to recog.	* combine.c (recog_for_combine): New function.	(try_combine, simplify_and_cc0, try_distrib): Use it instead of recog.	(reg_dead_at_p, reg_dead_at_p_1): New functions.	* flow.c (mark_set_1): Count in reg_n_sets when a part of a register	is modified.	Update SIGNIFICANT correctly when subreg_p and multiple hard regs.	Compute reg_n_sets for hard registers.Sun Jan	 6 13:41:49 1991  Richard Stallman  (rms at mole.ai.mit.edu)	* function.c (locate_and_pad_parm): Do REG_PARM_STACK_SPACE just once.	* Changes by wilson@cygnus.com.	* calls.c (expand_call): Test value of REG_PARM_STACK_SPACE instead	of assuming that it will always be greater than zero.	* function.c (assign_parms): Same as above.  Also, correct	calculation of STACK_BYTES.	* reload1.c (reload_reg_free_p): Old input reload blocks input_addr.Sat Jan	 5 18:32:15 1991  Richard Stallman  (rms at mole.ai.mit.edu)	* Makefile.in (mostlyclean): New name for old `clean'.	(clean): Deletes gnulib also.	(cleanconfig): Need not delete gnulib here.	* reload.c (push_reload): Don't use dying reg unless operand fits.	* c-parse.y (yylex): Hex and octal constants now traditionally signed.Sat Jan	 5 18:03:50 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)	* regclass.c (regclass): reg_n_sets is one per set.  It does not	take into account loop_depth.  So don't adjust by loop_depth here.Fri Jan	 4 13:18:07 1991  Richard Stallman  (rms at mole.ai.mit.edu)	* function.c (put_var_into_stack): Don't mung virtual reg.	(fix_lexical_addr): Accept the virtual arg pointer.	* function.h (struct var_refs_queue): New structure.	(struct function): Use that for the pending var refs queue.	* print-tree.c (print_node): Nicer format for rtl of decls.	* c-decl.c (push_c_function_context, pop_c_function_context):	No need to deal with current_function_decl.	* c-parse.y (nested_function): Delete spurious nonterminal.Fri Jan	 4 12:13:14 1991  Michael Tiemann  (tiemann at cygnus.com)	* cplus-class.c (modify_vtable_entries): In case we are modifying	the main vtable, start with the vtable that comes from the immediate	baseclass, not the most base class.  This is needed because later	fixups (for non-first and virtual baseclasses) do not fix up this	case.Fri Jan	 4 06:55:00 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)	* optabs.c (expand_binop): Fix typo in testing for SImode operation.	Generalize to apply in more cases by calling emit_store_flag rather	than doing the gen_sltu explicitly.	* expmed.c (store_bit_field, extract_bit_field): When insv/extv	don't allow MEM and we need to load the field into a register, don't	use the mode of OP0 if it is wider than the mode to be used for	insv/extv operating on a register.	* expmed.c (emit_stor_flag): Try to convert some comparisons with	1 and -1 to comparisons with zero.	Explicitly test sign bit of STORE_FLAG_VALUE rather than testing it	for being less than zero.	* cse.c (find_comparison_args): Don't compute STORE_FLAG_VALUE < 0;	instead, test the relevant sign bit.	Use GET_RTX_CLASS instead of comparison_code_p.	* loop.c (get_condition): Likewise.	* recog.c (validate_change): Eliminate duplicate code by always	saving the change.  If in_group == 0, call apply_change_group.	(apply_change_group): If recog_memoized fails, see if we have a	CLOBBER at the end.  Use validate_change to replace the pattern	with one without the CLOBBER if so; later we will verify that change.	* tree.c (stabilize_reference_1): Now static; also, define as forward	reference at start of file.	* rtl.def: Add new field in DEF_RTL_EXPR macro to give the "class"	of the rtx operation.	* rtl.h: DEF_RTL_EXPR has one additional arg.	(rtx_class, GET_RTX_CLASS): New var and macro.	* rtl.c: DEF_RTL_EXPR has one additional arg.	(rtx_class): Initialize table.	* reload.c (push_reload): If an input operand contains a dead	register used nowhere else in the insn, try to use it as a reload reg.	* reload1.c (reload_as_needed): If cancelling optional reload,	clear reload_reg_rtx.	(choose_reload_regs): If we can find reload value lying around,	use that register unless choice made by find_reloads would also save	an insn (the new choice added above won't).	* genoutput.c: Update comments on things written.  Change order to	agree with the order written.	(output_epilogue): Remove extraneous tests.Thu Jan	 3 13:32:54 1991  Richard Stallman  (rms at mole.ai.mit.edu)	* rtl.c (read_rtx): Cast NULL vector.	* By Jim Wilson.	* tree.c (stabilize_reference): Modified to call stabilize_reference_1	instead of save_expr.	(stabilize_reference_1): New function.	For arithmetic operator trees,	recurse on the subtrees.  Otherwise, put a SAVE_EXPR around the	tree if it has side-effects.  Thu Jan	 3 12:37:56 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)	* reload1.c (choose_reload_regs): Only set reload_when_needed to	RELOAD_FOR_OUTPUT or RELOAD_FOR_INPUT when it used to be RELOAD_OTHER.Wed Jan	 2 18:28:23 1991  Richard Stallman  (rms at mole.ai.mit.edu)	* emit-rtl.c (init_emit_once): Fix typo setting constm1_rtx.Wed Jan	 2 07:53:04 1991  Michael Tiemann  (tiemann at cygnus.com)	* sparc.md (fix_truncdfsi2 recognizer): xoperands must have 3	elements because `output_fp_move_double' can write to operands[2].Wed Jan	 2 17:16:20 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)	* calls.c (emit_call_1): If we have call_pop, use it if we have	no stack arguments.	* out-vax.c (relational_op): Deleted, redundant.	* vax.md (branch): Use comparison_operator (in recog.c) instead of	relational_op.	* tm-vax.h (PRINT_OPERAND_PUNCT_VALID_P): "C" is not punctuation.	* reload1.c (reload_as_needed, forget_old_reloads_1): Don't clear	reg_has_output_reload and reg_is_output_reload for each insn, just	ones that need reload.	Instead, interpret each entry as zero if	n_reloads == 0.Wed Jan	 2 15:52:13 1991  Richard Stallman  (rms at mole.ai.mit.edu)	* optabs.c (expand_binop): Fix typos.	* toplev.c (rest_of_compilation): Clear cse_not_expected after loop.	* rtl.h (cse_not_expected): Declare here.	* expr.h: Not here.Tue Jan	 1 21:55:11 1991  Richard Stallman  (rms at mole.ai.mit.edu)	* emit-rtl.c (constm1_rtx): New standard constant.	(gen_rtx): Use it when appropriate.	(init_emit_once): Initialize it.	* out-vax.c (split_quadword_operands): New function.	(relational_op): Likewise.	* vax.md (extendsidi2, adddi3, subdi3): New patterns.	(movdi): Use clrq when appropriate.	(movaq recognizer): New pattern.	* recog.h (OUT_FCN): New macro.	* genoutput.c: Include recog.h in output file.	No	longer define "const", since that happens in recog.h.	* tm-vax.h (PRINT_OPERAND): Add 'C' to print a reversed condition.	* out-vax.c (rev_cond_name): Return its name.	* vax.md (unnamed patterns): Combine several reversed branch patterns	into one, using match_operator with relational_op and "%C".	* optabs.c (expand_binop): Handle multi-word addition and subtraction.	* Makefile.in (install-gnulib): Use RANLIB_TEST.  Use libg_dir.	(libg_dir): New customization variable.	* assert.h (__assert): Use standard GNU format for error messages.Tue Jan	 1 21:25:00 1991  Richard Kenner  (kenner at vlsi1)	* reload1.c (eliminate_regs, case PLUS): Always move constant to the	outside of a PLUS expression.Tue Jan	 1 11:45:22 1991  Richard Stallman  (rms at mole.ai.mit.edu)	* ecoff-cmp: Specify `c' in option to tail.	* stor-layout.c (layout_record, layout_union, layout_type):	Use ROUND_TYPE_ALIGN and ROUND_TYPE_SIZE to compute	alignment and size of records, unions and arrays.	* ROUND_TYPE_ALIGN: New.  Args are type, spec'd align, other min align.	* ROUND_TYPE_SIZE: New.	 Args are type, size of contents, align.	* reload1.c (emit_reload_insns) [PRESERVE_DEATH_INFO_REGNO_P]:	Scan output and output-address reloads together.	Check for matching hard reg.	* config.gcc: Set proper shell vars in big dispatch.  Not `machine'.	(i386-isc): New alternative.Tue Jan	 1 08:29:49 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)	* reorg.c (update_block): Turn bb_tick update back on; it is needed,	after all.Mon Dec 31 18:12:07 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)	* genattrtab.c (write_test_expr, case EQ_ATTR): Use correct expression	number for attribute value.	* cse.c (cse_insn): Use single_set when looking for an insn that sets	cc0 followed by one that no longer does.	* recog.c (find_single_use): If the next insn after one that sets	cc0 is not an INSN or JUMP_INSN, return 0; don't blow up on a NOTE.	* emit-rtl.c (emit_insn_before, emit_insn_after, emit_insn): Return	something sensible if a SEQUENCE of length zero was passed.	We no longer make a SEQUENCE with XVEC == 0, so don't test for it.	* reload1.c (emit_reload_insns): Handle gen_move_insn returning	no insns (occurs on RT for dummy registers).		* rtl.h (reg_cc0_rtx, find_cc): No longer needed.	* emit-rtl.c: Likewise.	* conditions.h: Entire file is #ifdef HAVE_cc0.	* final.c (CC_STATUS_INIT): Make a null default #ifndef HAVE_cc0.	(cc_status): No longer exists #ifndef HAVE_cc0.	(final_scan_insn): Do CC processing only #ifdef HAVE_cc0.	(alter_cond): Only exists #ifdef HAVE_cc0.	* genemit.c (gen_exp): No longer have CC0_REGNUM or reg_cc0_rtx.	* genoutput.c (main): Include insn-config.h before conditions.h.	* reorg.c: Likewise.	* jump.c (rtx_equal_for_thread_p): Remove reference to CC0_REGNUM;	we'll have to do this optimization some other way later.	* tm-a29k.h (NOTICE_UPDATE_CC): Deleted.Mon Dec 31 14:44:31 1990  Richard Stallman  (rms at mole.ai.mit.edu)	* reload.h (enum_reload_when_needed):	New alternatives RELOAD_FOR_OUTPUT, RELOAD_FOR_INPUT.	* reload1.c (choose_reload_regs): Use those when appropriate.	(mark_reload_reg_in_use): Record this usage specially.	(reload_reg_free_p, reload_reg_free_before_p): Handle this usage.	(reload_reg_reaches_end_p): Likewise.	(emit_reload_insns): Treat RELOAD_FOR_INPUT like RELOAD_OTHER.	* i386.md (push for SFmode): Operand of fst was missing.Mon Dec 31 08:50:17 1990  Craig Burley	(burley at pogo.ai.mit.edu)	* stor-layout.c (layout_type): For ARRAY_TYPE case, don't try	and compute a size if there is no TYPE_MAX_VALUE for the index.	* tree.c, tree.h (build_index_2_type): New function, like	build_index_type except it accepts the low value as an arg instead	of assuming 0.Mon Dec 31 08:09:10 1990  Michael Tiemann  (tiemann at cygnus.com)	* cplus-typeck.c (c_expand_return): Handle case when we try	to return a void value (such as a void function call) in a	function returning void, and there are cleanups to run.Sun Dec 30 21:08:32 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)	* tm-a29k.h (TARGET_VERSION): Can't use target_flags since we can	be called from gcc.c.

⌨️ 快捷键说明

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