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

📄 ochangelog

📁 这是完整的gcc源代码
💻
📖 第 1 页 / 共 5 页
字号:
	Use `emit' to handle a PARALLEL.	(FAIL, DONE): Change to fit gen_expand changes.	* emit-rtl.c (change_address): abort if arg isn't a MEM.	* emit-rtl.c: Sequences work now by saving and restoring first_insn	and last_insn.  So these variables are used even when in a sequence.	emit_to_sequence has been deleted.	(start_sequence, end_sequence): Save and restore first_insn, last_insn.	(get_last_insn, add_insn): Sequences no longer need special treatment.	(delete_insns_since, reorder_insns): likewise.	(push_to_sequence): Set up to emit to a given existing insn chain.	* emit-rtl.c (copy_rtx_if_shared): Don't copy INSNs.	Insert missing return stmt in MEM case (for MEMs ok to share).	(unshare_all_rtx): Now can copy the REG_NOTES simply.	Copy the LOG_LINKS too.	* emit-rtl.c (make_safe_from): Treat SUBREG as X like a REG.	(delete_insns_since): Don't lose if FROM is the first insn.	(emit): Declare void, since no useful value.	Call simplejump_p properly.	(restore_reg_data_1): When a reg is an address, do mark_reg_pointer.	* dbxout.c (dbxout_types): Call dbxout_symbol to do the work.	(dbxout_type_def): Deleted.	(dbxout_symbol): Set TREE_ASM_WRITTEN when a TYPE_DECL is output.	Don't output the same one twice. 	* cse.c (fold_cc0): LABEL_REF is not zero.	* cse.c (cse_insn): Don't insert src, dest if they are the same place.	* cse.c (lookup_as_function): Return entire rtx, not just operand.	(cse_insn): Caller changed.  Also, copy the result before inserting it.	* cse.c (fold_rtx): Put constant arg last if commutative op.	Handle idempotents and identities for mult, div, booleans, shifts.	* cse.c (canon_hash): Parens were missing around shifts in "rotates".	* c-convert.c (convert_to_integer): Truncate TRUTH_ANDIF_EXPR	like TRUTH_AND_EXPR; OR also.	* c-typeck.c (build_binary_op_nodefault): Do truthvalue_conversion	for TRUTH_ANDIF, etc.	(build_unary_op): More simplifications for TRUTH_NOT_EXPR;	uses new fn `invert_truthvalue'.	* recog.c (reg_fits_class_p): New name for reg_renumbered_fits_class_p	since it no longer needs to renumber.  Also it now really assumes	arg is a REG.  Callers changed.	* reload.c: Callers changed.	* recog.c (general_operand): (SUBREG (MEM...)) need not alter mode.	(register_operand, nonmemory_operand): (SUBREG (MEM...)) is allowed.	(memory_operand): (SUBREG (MEM...)) is *not* allowed.	(mode_independent_operand): Operand names were backwards!	(No change in effect of this function.)	* print-tree.c (dump): Some expr nodes contain rtx's.  Print as rtx's.Wed Sep 28 18:51:12 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* reload1.c (choose_reload_targets): If a reload wanted a group,	don't allow a single register for it.Tue Sep 27 11:43:56 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* final.c (output_addr_const): Handle DImode CONST_DOUBLEs.	* tm-*.h (PRINT_OPERAND): Treat DImode CONST_DOUBLE like a CONST_INT.	* vax.md (rotldi3): Insn deleted; it doesn't really exist.	* toplev.c (report_error_function): Also mention the file name,	for parallel makes.  New arg FILE; all callers changed.Mon Sep 26 15:44:18 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* expmed.c (expand_shift): When using extzv, convert OP1 to SImode.	* c-typeck.c (build_binary_op_nodefault): Convert shift-count	to int regardless of result type.	* output-spur.c (output_move_double): Fix typo, optype0=>optype1.	* expr.c (expand_call): Avoid null deref on result of FUNCTION_ARG.	* tm-i386.h (FUNCTION_PROFILER): Use correct assembler syntax.Sun Sep 25 12:13:56 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* fixincludes: Handle some files in netdnet, netdna, vaxif, vaxuba.	* reload.c (find_reloads): Make no optional reloads if not -O.	* loop.c (strength_reduce): Can't eliminate a biv if it's used	to compute a DEST_ADDR giv.  Only DEST_REG givs are safe.	* loop.c (general_induction_var): Shift & divide ops are linear	only in 1st operand; don't look for biv or giv in 2nd operand.	* vax.md (fix_truncdfqi2): Use `%#'.Sat Sep 24 00:25:48 1988  Richard Stallman  (rms at gluteus.ai.mit.edu)	* loop.c (n_times_set, n_times_used): Now file-scope;	no longer passed as args to several functions.	* loop.c (basic_induction_var): Accept reg as source value	only if it's invariant.	(strength_reduce): Benefit calculation and threshold changed.	Check reducibility of givs before trying to reduce them.	Check eliminability of biv before considering the givs;	let this affect the threshold.	(record_giv): New subroutine adds a giv to the chain.	* ns32k.md (incrementing sp): Use cmpd insns to increment by 4 or 8.	* integrate.c (expand_inline_function): Rename return_label	to local_return_label; avoid shadowing.Fri Sep 23 13:57:52 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* loop.c (loop_skip_over): Put the new label after the note that ends	the loop.	* loop.c: New function strength_reduce and subroutines.	* toplev.c: New var flag_strength_reduce, set from -fstrength-reduce.	* vax.md (sob insns): They were broken, with plus in one place	and minus in another.  Use plus consistently.	* rtl.h (REG_LIBCALL, REG_NONNEG): Two new kinds of reg-note.	* optabs.c (expand_binop, expand_unop): Make REG_LIBCALL notes.	* loop.c (scan_loop, move_movables): Move entire library calls.	Use m->set_src to get the expression, in case it's from a REG_EQUAL.	(consec_sets_invariant_p): Likewise.	* loop.c (scan_loop): Start scan from loop_top, if entry is rearranged.	Watch out for pseudo regs created by strength_reduce;	they can't index regno_last_uid.	(replace_regs): # regs mapped is now an arg.	* loop.c (count_loop_regs_set): Don't increment n_times_set past 127.	(consec_sets_invariant_p): Reject if N_SETS arg is 127.	* toplev.c (rest_of_compilation): NREGS arg of loop_optimize deleted.	* c-decl.c (store_parm_decls): Anything but an IDENTIFIER_NODE	in SPECPARMS indicates a parmlist, not an identifier list.	(get_parm_info): Use only PARM_DECLs when making the list of arg types.	* combine.c (try_distrib): Boolean ops can't distribute through PLUS.	MULT can distribute through PLUS and only PLUS.Thu Sep 22 15:57:41 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* jump.c (jump_optimize): uncond jump to a return becomes a return.	* integrate.c (copy_parm_decls, copy_decl_tree): Set TREE_USED.	Avoid inevitable "unused" warning for these decls.	* c-typeck.c (comptypes): When comparing array types,	ignore qualifiers of element type.	* tm-*.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Define new macros.	* final.c (final_start_function): Use them to protect around	the call to the profiling function.	* stmt.c (expand_function_start): Set current_function_needs_context	and current_function_returns_struct.	* stmt.c (expand_null_return_1): If clear_pending_stack_adjust	doesn't clear it, do the adjust now.	* expr.c (clear_pending_stack_adjust): No-op if -finline-functions.	* cccp.c (macarg1, skip_if_group): Backslash makes next char ordinary.	* reload.c (find_reloads): Delete code to look for an equiv reg	for a reg being input-reloaded.  This isn't safe.	* reload1.c (choose_reload_targets): Do it here.Wed Sep 21 00:36:22 1988  Richard Stallman  (rms at hobbes.ai.mit.edu)	* tm-sun3.h (CPP_SPEC): Define it based on TARGET_DEFAULT.	(STARTFILE_SPEC): Likewise.	* reload1.c (choose_reload_targets): When redirecting prev insn	into this insn's reload-reg, check this doesn't break the prev insn	by giving it a reg it can't accept.  Use new fn constraint_all_regs_p.	* tm-sparc.h (ASM_OUTPUT_LOCAL): Use .reserve, not .common.	* tree.h (TREE_USED): New attribute macro.	* c-parse.y (primary): Set TREE_USED in ..._DECL nodes.	* toplev.c, flags.h: Define and set warn_unused.	* stmt.c (expand_end_bindings): Warn if any var is unused.	* print-tree.c (prtypeinfo): Print this attribute.Tue Sep 20 15:29:01 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* assert.h: `assert' must expand to an expression.	Error message should show arg before expansion, not after.	* c-decl.c (implicitly_declare): Make decl perm if !warn_implicit	since start_function needs to look inside it in that case.	* toplev.c (announce_function): If we don't print, don't record we did.Mon Sep 19 15:21:11 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* c-parse.y (structsp): If pedantic, warn if comma at end of enumlist.	* reload.c (find_reloads): Check insn_code_number >= 0 when	looking in insn_operand_strict_low.	* tm-sun[23].h (CPP_SPEC): Rename __HAVE_FPU__ to __HAVE_68881__	and put a space after that option.Sun Sep 18 01:12:56 1988  Richard Stallman  (rms at hobbes.ai.mit.edu)	* reload.c (find_reloads): Make optional reloads for explicit MEMs.	* tm-m68k.h (MODES_TIEABLE_P): If no 68881, can tie fixed to floating.	* m68k.md (movdi): Allow F's (can be DImode now).	Don't allow f-regs (experiment).  Don't preference x-regs.	(DImode push): Allow y-regs.	(DFmode push): Allow y-regs, not x-regs.	* reload1.c (modes_equiv_for_class_p): New function.	(reload): Compare multiple modes for reg group with that function.	Allows differing modes in some cases when not tieable.	* c-parse.y (check_newline): Let ASM_OUTPUT_IDENT override .ident.	* tm-3b1.h (ASM_OUTPUT_IDENT):  Define this as no-op.	* emit-rtl.c (reorder_insns): Update sequence_{first,last}_insn if nec.	(get_last_insn): If in a sequence, return last insn of sequence.	(delete_insns_since): If in a sequence, set sequence_last_insn.	* spur.md (CONST_DOUBLE load insn): Use & for most dests.	(cond branches): pass additional args to output_compare.	(movdf, movdi): Use & loading reg from mem.	(trunc*): Enable these.	(add): New pattern for adding large immediate operand.	(shifts): A define_expand for each kind of shift,	plus a recognizer which outputs repeated insns if necessary.	(call*): Use r9 as temp, not r2.	* output-spur.c (output_compare): New args NEG_{EXCHANGE_,}OPCODE.	(singlemove_string): Handle reg as operand 1.	(output_add_large_offset): Fake add insn with large immediate arg.	(big_immediate_operand): Match such an arg.	* tm-spur.h (FUNCTION_PROLOGUE): Align the stack pointer.	Handle bigger frames.	(TARGET_LONG_JUMP, TARGET_EXPAND_SHIFT): New target flags.	* va-spur.h: Track position in regs and stack separately.	* c-decl.c (duplicate_decls): Warn if prototype follows	non-prototype definition.Sat Sep 17 14:30:23 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* expr.c (expand_builtin): Avoid crash if arg isn't integer type.	* c-decl.c (duplicate_decls): Just warn if redeclaring a builtin,	and leave it built in unless it is redefined.	* vax.md (ashlsi3): Use addl3, moval or movad when useful.	(addsi3): Avoid pushab, movab for constants < 64.	Do use movab when > 64 when operands match.	(mov*i): Use mcom* rather than mneg*.	Use add*3 with two quick immediate args when useful.	(movhi): Don't use movzbw or cvtbw; said to be slow.	* rtl.h: New macros MEM_VOLATILE_P, MEM_IN_STRUCT_P,	INSN_DELETED_P,	REG_USER_VAR_P, RTX_UNCHANGING_P, RTX_INTEGRATED_P,	CONSTANT_POOL_ADDRESS_P.	Most places changed to use them.Fri Sep 16 11:50:15 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* jump.c (jump_optimize): Was testing volatil on non-MEMs erroneously	when looking for no-op move insns.	* cccp.c (handle_directive): Ignore comments between # and directive.	* integrate.c (copy_rtx_and_substitute): Stack-push memrefs need	to be copied.	* tm-bsd386.h (ASM_OUTPUT_DOUBLE): Undef previous def.	* reload1.c (alter_reg): Don't reuse spill_stack_slot	if it isn't big enough for this reg's mode.	* expr.c (emit_move_insn): After force_const_mem, ensure	mem address is valid.	(move_block_to_reg, move_block_from_reg): Likewise.	* expr.c (expand_call): Spurious TREE_VALUE on args[i].tree_value.	* m68k.md (zero_extend*): Require register_operand for operand 0.	* stdarg.h (va_start): Alternate defn for sparc.Thu Sep 15 11:39:06 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* c-parse.y (yylex): When atof gives ERANGE, check for "0.0", etc.	* assert.h (__assert): Alternative definition for -traditional.	* output-sparc.c (output_block_move): Initialize xoperands.	* combine.c (try_combine): Never subst for a reg that is incremented.	* m68k.md (cmpm pattern): Make the match_operands match memrefs	and check that they are pushes in the extra condition.	This makes reloading handle the pushes properly.	* expr.c (MOVE_RATIO): Make it 15.  Allow overriding it.Wed Sep 14 09:50:08 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)	* c-decl.c (build_enumerator): Use saveable_tree_cons.	* vax.md (movdf): Use movq when safe.	* Version 1.28 released.	* tm-sparc.h (FIRST_PARM_CALLER_OFFSET): Defined.Tue Sep 13 00:11:37 1988  Richard

⌨️ 快捷键说明

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