📄 changelog.1
字号:
Tue Apr 10 21:08:06 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu) * cccp.c (do_line): No error if string follows number without space.Tue Apr 10 20:52:02 1990 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) * recog.c (apply_change_group): Return a zero if rejected changes. * loop.c (update_giv_derive): If a giv is only set conditionally, it may only derive other givs in its own basic block.Tue Apr 10 13:09:40 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu) * tm-ctix.h: New file. Waiting for papers from Ronald Cole. csusac!unify!dbrus.rjc@ucdavis.ucdavis.edu. * cse.c (rtx_cost): Use new macro RTX_COSTS. (COSTS_N_INSNS): New macro for use in RTX_COSTS. * config.gcc: Fix typos in conditionals and case. Also usage message. Missing backslashes in `echo | tee'. Unset various vars after pass 1. * c-typeck.c (build_c_cast): Complain if function type specified. * expmed.c (synth_mult): Accept max_cost as arg and cut off there. Pass it along recursively, making it smaller. Eliminate quadratic loop, thus postponing powers of 2. Costs are now signed. Initialize best_alg->cost from max_cost and change to -1 only before returning. (expand_mult): Pass cost of multiply as max cost. Use synth_mult only if optimizing. In alg_compound case, sign was backward. Use TEM as target for force_operand there, to get better output.Tue Apr 10 07:09:51 1990 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) * expr.c (expand_expr, case COND_EXPR): Add missing argument to operand_equal_p. Check for (X ? unop A : A) in addition to (X ? A + B : A). * Makefile.in (protoize, unprotoize): Compile with GCC, not just link. * fold-const.c (fold): Fix typo in converting conditional to COND. * expr.c (expand_expr): Treat (A ? 1 : 0) as A when A is a comparison. (do_jump): Special-case (A ? 1 : 0) and (A ? 0 : 1). * expr.c (store_expr): Fix typo in checking mode of target.Mon Apr 9 18:33:55 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu) * integrate.c (expand_inline_function): Clear out parm_copies.Mon Apr 9 18:00:40 1990 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) * tree.def: SAVE_EXPR now has three operands. * tree.h: Add new field SAVE_EXPR_CONTEXT; SAVE_EXPR_RTL remains last. * tree.c (save_expr): Set context to current function. (decl_function_context): Context is in SAVE_EXPR_CONTEXT if SAVE_EXPR. * calls.c (expand_call): Call make_tree to build an RTL_EXPR instead of explicitly making SAVE_EXPR. * cplus-typeck.c (c_expand_return): Use make_tree instead of SAVE_EXPR. * c-parse.y, objc-parse.y: Don't call mark_addressable here. * expr.c (expand_expr, ..._DECL cases): If non-local, make addressable. (expand_expr, case SAVE_EXPR): If defined in containing function, put put into stack. * function.c (put_var_into_stack): Use SAVE_EXPR_RTL for SAVE_EXPR. * print-tree.c (dump): SAVE_EXPR_RTL is now third operand. * stmt.c (expand_asm_operands): Call save_expr instead of making tree node directly.Mon Apr 9 00:08:15 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu) * Makefile.in (install): Turn off x bit on SYSCALLS.c.X. * i860.md (cmpeqsf, etc.): Change opcode name to pfeq.ss, etc. * tm-m68k.h (PRINT_OPERAND_PRINT_FLOAT): Delete spurious backslash. * c-decl.c (store_parm_decls): Don't do storedecls in prototype case. That was discarding the enumerators already pushdecl'd. * gcc.c (exec_prefix, startfile_prefix): Record prefix search paths. (find_a_file): New function to search a path. (find_exec_file): Deleted; find_a_file used instead. (find_file): Just call find_a_file. (add_prefix): Add name to a prefix path. (process_command): Call that. * gcc.c (spec_list): Generalize asm_spec, etc., to arbitrary names. (set_spec): New function. Set the old specific vars and spec list. (do_spec_1): Handle `%(' and `%[' for general specs. * ns32k.md (ashlhi3): Use %0, not %1. * cplus-tree.h (TREE_ANON_UNION_ELEM, DECL_ANON_UNION_ELEM): regdecl_attr is now in decl, not common. (TREE_PARMLIST): Use external_attr. (TREE_VIA_PUBLIC): Use static_attr.Sun Apr 8 23:43:59 1990 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) * fold-const (fold): Two conversions in a row are needed if from a pointer type to an integer type of a different precision. * flow.c (mark_used_regs): When replacing addition with register in auto-increment creation, mark that insn must be re-recognized.Sun Apr 8 13:56:17 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu) * tm-m68k.h (ASM_OUTPUT_FLOAT): Defn depends on CROSS_COMPILER. (PRINT_OPERAND): Depends on CROSS_COMPILER and HOST_WORDS_BIG_ENDIAN. (PRINT_OPERAND_EXTRACT_FLOAT, PRINT_OPERAND_PRINT_FLOAT): These new subroutines contain the code that depends. * xm-m68k.h, xm-mips.h, xm-pyr.h, xm-tahoe.h (HOST_WORDS_BIG_ENDIAN): New macro, defined in these files. * config.gcc: Define macro CROSS_COMPILE if making cross-compiler. * Makefile.in (INTERNAL_CFLAGS): Include CROSS. * config.gcc: Decode -host argument. Set $host and $target. Rename vars for files to link to, to tm_file, xm_file, etc. Let $host override xm_file value. Mention $host in messages and config.status if diff from $target. Check for errors in args at beginning of processing. * expmed.c (expand_shift): Make no insns if count is 0. * cse.c (rtx_cost): Increase default cost of mult and div. * expmed.c (synth_mult): New function. Finds best way to multiply by given constant, and the cost. (expand_mult): Use that. (init_expmed): Init new vars add_cost, shift_cost, mult_cost, and negate_cost. mult_is_cheap has been deleted. * expmed.c (store_bit_field): Don't use insv if unit for copying mem to reg won't hold the entire field.Sun Apr 8 12:54:07 1990 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) * expr.c (expand_expr, case COND_EXPR): Add OK_DEFER_POP to path with only OK_DEFER_POP.Sun Apr 8 12:50:54 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu) * i386.md (insv): Use SImode for operand 0.Sat Apr 7 15:24:56 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu) * emit-rtl.c (gen_lowpart, gen_highpart): When checking mode class, check for not MODE_FLOAT. * cse.c (fold_rtx): Likewise when avoiding x-x -> 0 for IEEE float. * jump.c (jump_back_p): Likewise. * optabs.c (emit_cmp_insn): Likewise, comparing result of libcall. * expr.c (move_block_to_reg, emit_push_insn): Likewise, when putting floats in memory. * machmode.def (PSImode, PDImode): Class is now MODE_PARTIAL_INT. * expr.c (convert_to_mode): Don't treat them as ints. * fixincludes: When making directory links, assume any relative path is within /usr/include.Sat Apr 7 14:56:27 1990 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) * function.c (assign_stack_local, assign_outer_stack_local): Don't use division for rounding to avoid problems with negative dividends; use logical operations instead. No need to ever align stricter than BIGGEST_ALIGNMENT.Sat Apr 7 14:38:36 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu) * expr.c (expand_expr, case CONSTRUCTOR:): Finish Jan 12 change in store_expr by calling store_constructor if target is a temp. * cse.c (cse_insn): For regs invalidated by calls, go back to checking for fp and ap explicitly, not fixed_regs.Sat Apr 7 14:06:43 1990 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) * recog.h: Define num_validated_changes and cancel_changes. * recog.c (validate_change, apply_change_group, cancel_changes): Support changes both within an insn and within a MEM.Sat Apr 7 00:45:49 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu) * sparc.md (addcc and subcc patterns): Set CC_NO_OVERFLOW.Fri Apr 6 15:20:51 1990 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) * cccp.c (lookup_import): Return -1 for not found to agree with the open system call. Use -2 for duplicate. (do_include): -2 now means duplicate; previously, -1 meant not found from open and duplicate from lookup_import.Fri Apr 6 00:06:08 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu) * c-decl.c (poplevel): Use DECL_INITIAL to detect undef label. * sparc.md (peephole for returning sum): Use more restrictive preds. * reload1.c (choose_reload_regs): When testing reload reg for HARD_REGNO_MODE_OK, use SImode instead of VOIDmode.Thu Apr 5 14:00:41 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu) * cccp.c (main, include_defaults): Use STANDARD_INCLUDE_DIR instead of /usr/include. * Makefile.in (cccp.o): Specify STANDARD_INCLUDE_DIR. * varasm.c (assemble_variable): No sdb output for initialized global. * toplev.c (compile_file): Output it here, at end of run. * stdarg.h (va_start): Round initial pointer value down to double boundary. This is to eliminate big-endian adjustment. * fixincludes: Delete netinet/ip.h and sundev/vuid_event.h if no changes are needed. * c-typeck.c (build_c_cast): Reject array types for result. * cplus-typeck.c (build_c_cast): Likewise. * tm-*.h (ASM_OUTPUT_SKIP): Print size as unsigned. (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise. * fold-const.c (fold): Simplify double truncation, double extension, or extension followed by truncation. * fixincludes: Don't ignore errors when making dirs. But check whether dir already exists. * cse.c (fold_rtx): Don't simplify real*0, because of nans. * real.h (dconst0, dconst1, dconstm1): Declare them. * tree.c (real_zerop, real_onep): New functions. * fold-const.c (fold): Check for trivial +, -, * with reals. Also use dconst0 instead of computing with REAL_VALUE_ATOF.Tue Apr 3 22:52:26 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu) * m68k.md (32-bit bit fields): Special patterns added. (push byte and adjust stack by 2): New peephole. These from Bruce Robertson. * c-decl.c (grokdeclarator): Complain if fn defn has `typedef' etc.Tue Apr 3 21:39:54 1990 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) * expr.c (preexpand_calls): Reinsert check to not expand calls already preexpanded.Mon Apr 2 07:05:34 1990 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) * c-typeck.c (digest_init): Don't blow up on null list. * Makefile.in (cc1obj): Link OBJC_OBJS instead of C_OBJS. * objc-actions.c: Correct compilation errors. * objc-parse.y: Likewise.Mon Apr 2 03:33:14 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu) * objc-actions.h: Define the objc tree codes. Declare doing_objc_thang.Fri Mar 30 17:28:30 1990 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) * sdbout.c (PUT_SDB_EPILOGUE_END): Write out assembler name for function (i.e., usually include leading "_"). * sdbout.c (PUT_SDB_...): Use new macro SDB_DELIM; it defaults to ";".Fri Mar 30 15:25:20 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu) * jump.c (prev_active_insn, next_active_insn): New functions. These skip USEs and CLOBBERs. (jump_optimize): Use them instead of ..._real_insn for the simple optimizations. * integrate.c (expand_inline_function): Always index const_equiv_map with regno from current function. And set up the map only after creating all the pseudos we will need for the parms. This requires intermediate tables parm_equivs and parm_copies. Make const_equiv_map big enough to handle all the pseudos we expect to make. Record actual size, and don't look in it for regnos too large. (subst_constants, const_equiv): Don't access const_equiv_map if regno is too large. * function.c (trampoline_address): Push and pop obstacks around call to assign_outer_stack_local. * function.c (push_function_context, pop_function_context): Save and restore max_parm_reg and parm_reg_stack_loc. * function.h (struct function): Make slots. * c-decl.c (c_build_type_variant): New function. (grokdeclarator): Call that, for ARRAY_TYPE only, in fields and vars. * c-decl.c, c-typeck.c: All calls to build_type_variant use that now. * emit-rtl.c (reinstate_emit_status): Unused function deleted.Thu Mar 29 15:35:47 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu) * tree.c (rtl_in_current_obstack): New function. * toplev.c (rest_of_compilation): Call that. This makes it true that rtl is allocated in current_obstack during optimization. * reload1.c (eliminate_frame_pointer): Scan equivalent addresses of pseudo-regs, and eliminate frame-pointer there too. (reload): Don't do this here. * c-decl.c (build_enumerator): Return pair of decl and value. (finish_enum): Go through the list replacing decls with names. * function.c (fixup_var_refs): Eliminate all but first arg. Use current sequence_stack, insn chain and rtl_expr_chain. (put_var_into_stack): Don't pass those args. If var is nonlocal, don't do it now; put it on fixup_var_refs_queue. (pop_function_context): Do fixup_var_refs on vars queued up.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -