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

📄 ochangelog

📁 这是完整的gcc源代码
💻
📖 第 1 页 / 共 5 页
字号:
	* dbxout.c (dbxout_symbol): Ignore VAR_DECLs in memory whose	addresses we can't represent.	* fold-const.c (fold): don't convert >= to > if both args are constant.	When converting >= to >, don't fail to change CODE.Tue Oct 11 04:13:40 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* vax.md (movhi): Error in truncating mcomw, addh3 args to 16 bits.	* final.c: Better error checking for %-specs in templates.	(output_operand_lossage): new fn to report errors.	(insn_noperands): new var: # operands in current fn.	(this_insn_asm_operands): new var: 1 for `asm', 0 otherwise.	(output_asm_insn): Check for operand # out of range.	(output_asm_label, output_operand): Call new fn to report errors.	* reload.c (push_reloads): An input reload for (REG N) can match one	for (POST_INC (REG N)) or (PRE_INC (REG N)), since the value	reloaded is the same in any case.Mon Oct 10 06:19:05 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* recog.c (next_insns_test_no_inequality): Like next_insn_tests...	but check all insns that follow this one and can use it's cc's.	* output-m68k.c (output_btst): Use that.	* vax.md (movsf, movdf): Undo last change; movq/movl set the cc wrong.	* expr.c (expand_call): Set current_function_calls_setjmp if appro.	* stmt.c (setjmp_protect): New fn: move all vars into stack	unless declared `register'.	* c-decl.c (finish_function): Call it if -traditional and setjmp used.	* cccp.c (main): Open output after the input.	Handle `-o -'.Sun Oct  9 00:28:06 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* tm-sun3.h (CPP_SPEC): Define __HAVE_FPA__ if appropriate.	* c-decl.c (pushdecl): After duplicate_decls, maybe warn about	"declared extern and later static".	* expmed.c (store_bit_field): In insv case, avoid turning	VALUE into a subreg of a subreg.	* loop.c (move_movables): When moving a libcall,	un-cse the function address; put it into the call insn.Sat Oct  8 01:48:03 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* cse.c (equiv_constant): Subroutine to find the constant equivalent	of a reg.  Now handles SUBREGs too.	(fold_rtx, fold_cc0): Use that function.	Don't handle SUBREGs like arithmetic.	* reload1.c (choose_reload_targets): Don't call reg_overlap_mentioned_p	if arg is 0.Fri Oct  7 01:00:19 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* assert.h: Typo declaring __eprintf.	* config.gcc: New file for making the links.	Fixed bugs for sun-[23]-os4.  Added sun-[234] for sunos 3.	Added sequent-i386.	* emit-rtl.c (gen_rtx): Return const0_rtx for 0 in DImode.	* varasm.c (immed_double_const): Don't be confused by this.	* expmed.c (negate_rtx): New 1st arg MODE.	* expr.c (push_block): Calls changed.	* m68k.md, ns32k.md, vax.md: Calls changed.	* c-decl.c (duplicate_decls): Don't discard DECL_BLOCK_SYMTAB_ADDRESS.	* tree.c (staticp): INDIRECT_REF with constant address is static.	COMPONENT_REF may not be, if component offset isn't constant.	* c-typeck.c (default_conversion): Converting array to ptr, if array	isn't a VAR_DECL, go through build_unary_op so that COMPONENT_REFs	will be simplified away.	* ns32k.md (tbitd patterns): op 0 constraint: reject constants.	* ns32k.md (extzv for SImode and HImode):	Use adj_offsetable_operand; plus_constant was the wrong thing.Thu Oct  6 00:10:41 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* Version 1.29 released.	* loop.c (scan_loop): Don't think a `return' insn enters the loop.	* ns32k.md (ashrsi3, etc): New define_expands for right shift.	* reload1.c (choose_reload_targets): Change in the `force_group'	logic to avoid crashes.Wed Oct  5 04:09:19 1988  Richard Stallman  (rms at corn-chex.ai.mit.edu)	* expr.c (expand_expr, MINUS_EXPR): When negating integer op1,	truncate it to its mode.	* expmed.c (extract_bit_field): SUBREG error check was wrong;	SImode SUBREGs are possible and ok in extzv, extv.	* tm-ns32k.h (REGISTER_NAMES): Had two excess elements; deleted.Mon Oct  3 01:15:51 1988  Richard Stallman  (rms at corn-chex.ai.mit.edu)	* toplev.c (main, compile_file): If no files spec'd, use stdin, stdout.	* flow.c (propagate_block): When checking for stack-adjust insns,	exclude non-SET patterns.	* jump.c (jump_optimize): When changing jump=>return to return,	must rerecognize the insn.	* toplev.c (compile_file): Allow `-' for main input or output filename.Sun Oct  2 10:30:09 1988  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)	* final.c (final): NOTICE_UPDATE_CC has extra arg, INSN.	* tm-*.h: Change definitions.	* stmt.c (optimize_bit_field): Use gen_lowpart to make subregs.	* stmt.c (assign_parms): Don't obey regdecls in inline function.	Don't lose existing REG_NOTES when adding one.	* stmt.c (expand_function_start): Make return rtx before	marking parms live.	(expand_function_end): Use use_variable to emit USEs for SAVE_EXPRs.	* stmt.c (expand_return): Handle TRUTH_AND_EXPR like ANDIF; OR also.	* stmt.c (expand_end_stmt_expr): Always set TREE_VOLATILE,	sometimes TREE_THIS_VOLATILE.	* jump.c (delete_insn): When finding PREV, skip deleted insns.	* varasm.c (output_constant): WORDS_BIG_ENDIAN test was backwards.	* emit-rtl.c (gen_lowpart): Allow MODE > 1 word if X is same size.	* final.c (final): Don't delete no-op moves (jump did it if appro.).	* final.c: Support prescan pass.	(final_start_function): init_recog and CC_STATUS_INIT mvd to `final'.	(final): New arg PRESCAN.  Do no output if prescanning.	Don't alter conditionals if PRESCAN < 0 (prescan already done).	If jump becomes no-op, change it to a NOTE.	Remember to free the temp space for ASM_OPERANDS.	* final.c (final): Altering store-flag must check STORE_FLAG_VALUE.	Don't try to do it if that isn't defined.	Don't try it if condition doesn't test CC0.	(alter_cond): No need to check COND != 0.	Handle CC_Z_IN_NOT_N and CC_Z_IN_N.	(m68k.md): Delete code that handled CC_Z_IN_NOT_N.	* conditions.h: New flag CC_Z_IN_N.	* tm-*.h: Renumber all CC_... flags to make room.	* combine.c (use_crosses_set_p): Loop start was 1 off.	* local-alloc.c (reg_is_set): When a reg is CLOBBERed and dies in	one insn, make it live immediately before and after that insn.	* global-alloc.c: Hard reg preferences for global pseudos.	Var allocno_preferred_reg deleted; new vars hard_reg_preferences	and regs_someone_prefers.	(global_alloc): Init those vars.  Pass hard_reg_preferences elt	to find_reg.	(set_preference): New function makes entries in those vars.	(global_conflicts): new arg to mark_reg_store.  Call set_preference.	(find_reg): Last arg now a preferred hard_reg_set.	Scan that set first of all.	(mark_reg_store): New arg is offset for renumbered regno.	But the code to use it is turned off.	* global_alloc (check_frame_pointer_required): Handle reg_equiv_address	like reg_equiv_mem.  Don't try to allocate pseudos with equiv mems	that don't use the frame pointer.	* reload1.c (reload): Call changed.	* jump.c (sets_cc0_p): Tests whether rtx sets cc0, and whether	it does nothing but set cc0.	(find_cross_jump, delete_jump): Use that fn for these tests.	* loop.c (loop_skip_over): Likewise.	* reload.c (push_reload): Likewise.	* genoutput.c: Output `const' before the data arrays.	Define it as nothing if not __STDC__.Sat Oct  1 02:19:29 1988  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)	* expr.c (store_one_arg): 3rd arg to emit_block_move is in bytes.	* cse.c (fold_rtx): Handling ZERO_EXTEND or SIGN_EXTEND of constant,	if the arg width is too wide to handle, return safely.	* combine.c (FAKE_EXTEND_SAFE_P): Don't allow extend to > 1 word.	* rtl.c (refers_to_regno_p): Moved from reload.c.  Not static.	(reg_overlap_mentioned_p): New function, calls the above.	* output-*.c: Use that instead of reg_mentioned_p.	* tm-*.h (NOTICE_UPDATE_CC): Likewise.	* reload.c (push_reload, combine_reloads): Likewise.	* reload1.c (choose_reload_targets): Use it to check earlyclobbers.	* reload1.c (choose_reload_targets): Elimination of previous	output-reload feeding our input now limited to pseudo-regs.	* flow.c (life_analysis): Delete any insn copying reg to itself.	(propagate_block): Move update of OLD after special life and death	for CALL_INSNs.	* vax.md (ashrsi3, ashrdi3, rotrsi3): define_expands to negate	the shift count.	* expmed.c (expand_shift): Eliminate negate-the-shift-count feature.	* vax.md (and*i3): define_expands which use complement and bit-clear.	* expmed.c (expand_bit_and): Eliminate feature to do that.	This function could be eliminated.	* expmed.c (store_bit_field): Handle nested subregs.	Allow gen_insv to fail; if it does, delete what we did and then	use store_fixed_bit_field.	(store_fixed_bit_field): Use gen_lowpart to make SUBREGs.	Do that for SUBREGs just as for REGs.	Error check OFFSET must be 0 for REGs.	(store_split_bit_field): Error check OP0 is a SUBREG when expected.	(extract_bit_field): Allow gen_ext{,z}v to fail.	Use gen_lowpart to make subregs.	(expand_shift): If a try fails, delete any insns it made.	* expmed.c (expand_mult): Use expand_unop to negate.	When adding 2 powers of 2, do serial shifts, not parallel.	Handle absval==1 like other powers of 2.	* explow.c (force_reg): Don't lose any existing reg notes.	* stmt.c (expand_start_stmt_expr): Eliminate return value.	(expand_end_stmt_expr): No need for argument.	* c-parse.y (primary): Change calls.Fri Sep 30 01:50:22 1988  Richard Stallman  (rms at corn-chex.ai.mit.edu)	* integrate.c (copy_rtx_and_substitute, copy_address):	'u' case erroneously returned the translated single element.	(copy_address): Special cases for frame-ptr and sums containing it.	MEM and LABEL_REF cases passed wrong arg to copy_rtx_and_substitute.	(copy_rtx_and_substitute): adjust mode of inline_target for context.	* jump.c (true_regnum): For SUBREG of pseudo, use pseudo's # unchanged.Thu Sep 29 02:50:46 1988  Richard Stallman  (rms at corn-chex.ai.mit.edu)	* i386.md (movsi, mov{q,h}i): Use find_reg_note to look for REG_WAS_0.	* vax.md (movsi, movhi): Likewise.	* varasm.c (decode_rtx_const): Was setting un.addr.base wrong	for a CONST.  Should be symbol name, not the SYMBOL_REF.	* rtl.c (rtx_equal_p): When comparing registers, check	REG_FUNCTION_VALUE_P.  If there are `u'-slots in the rtx, ignore them.	* rtl.c (reg_mentioned_p): Some rtx types were mistakenly treated	as uniquified (various constants).	* rtl.c (read_rtx): Element type 'S' is string that may be omitted.	* rtl.def (define_insn, define_peephole): Add a last element, type 'S'.	* genoutput.c: Collect these optional last elements and output as	array `insn_machine_info' of structs `INSN_MACHINE_INFO'.	The last must be defined as a macro.	* recog.h (insn_machine_info): Declare it if appropriate.	* regclass.c (record_address_regs): In PLUS case, look inside SUBREGs.	* reload1.c (reload): Use reg_equiv_address for REG_EQUIVs with	invalid memory addresses.	When changing pseudos to mem refs at end, do FIX_FRAME_POINTER_ADDRESS	on their addresses.	(alter_reg): Check that with reg_equiv_mem.	(spill_hard_reg): If fp reg, spill regardless of basic_block_needs.	* reload1.c (order_regs_for_reload): Don't put invalid regs into	potential_reload_regs at all.  (They used to go at the end.)	* reload.c (find_reloads): Store all earlyclobber operand in	reload_earlyclobbers (# in n_earlyclobbers):	* reload.1 (choose_reload_targets): Don't use value of find_equiv_reg	if it matches an earlyclobber operand.	* reload.c (find_reloads_address for REG):	No need for explicitly excluding hard regs in these tests.	(find_reloads, find_reloads_address_1 for REG): likewise.	* reload.c (push_reload): Code testing reg_equiv_constant should	be obsolete; add error check to verify this.	* reload.c (hard_reg_set_here_p): Handle CLOBBERs, SUBREGs, overlap.	(refers_to_regno_p): Handle CLOBBERS.  Handle overlap.	New arg ENDREGNO specs end of range to check for;	all callers changed (all in this file).	* reload.c (find_reloads): SUBREG like REG in alternate recovery	for earlyclobber conflict.	The operands to unswap are those that are supposed to commute.	When operands match, copy the regclass of earlier one for later one.	* stmt.c (optimize_bit_field): Don't use gen_extend_insn;	use convert_move, then reorder the insns.	* optabs.c (gen_extend_insn): Deleted.	* optabs.c (emit_cmp_insn): Don't emit queue before recursion.	Don't convert size to SImode for cmpstrqi.	* optabs.c (expand_binop): Keep any old REG_NOTES when adding them.	Always delete_insns_since if returning failure.	(expand_unop, emit_unop_insn): Keep any old REG_NOTES when adding them.	* spur.md (movhi): likewise.	* RTL_EXPR_SEQUENCE is now a chain of insns, not a SEQUENCE.	* emit-rtl.c (emit_insns): New fn, emit a chain of insns.	* expr.c (expand_expr): Use that.	Also put const0_rtx in the RTL_EXPR_SEQUENCE (mark RTL_EXPR as output).	* stmt.c (expand_end_stmt_expr): Use get_insns to get the chain.	* stmt.c (expand_end_stmt_expr): Put the RTL_EXPR on rtl_expr_chain.	(fixup_var_refs): Scan all waiting RTL_EXPRs not yet output.	Also scan all stacked sequences on sequence_stack.	* genemit.c (gen_expand): Generate calls to {start,end}_sequence.

⌨️ 快捷键说明

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