📄 changelog.8
字号:
Sat Jan 8 14:54:06 1994 Doug Evans (dje@cygnus.com) * toplev.c (rest_of_compilation): jump_optimize can change max_reg_num so rerun reg_scan before calling cse_main.Fri Jan 7 20:34:14 1994 Torbjorn Granlund (tege@adder.cygnus.com) * config/alpha/alpha.h (RTX_COSTS): Return actual costs for multiplication.Tue Jan 4 13:44:09 1994 Jim Wilson (wilson@cygnus.com) * sdbout.c (sdbout_symbol): Handle variables at zero offset from frame pointer.Tue Jan 4 07:35:05 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) * tree.c (substitute_expr): Don't abort for RTL_EXPR and SAVE_EXPR; just do nothing.Tue Jan 4 00:52:15 1994 Jeffrey A. Law (law@snake.cs.utah.edu) * pa.md (andsi3): Use "?" instead of "!" to avoid losing in some cases.Mon Jan 3 16:59:34 1994 Torbjorn Granlund (tege@adder.cygnus.com) * jump.c (thread_jumps): Don't thread to loop label; create new label before loop instead. (thread_jumps): Rename argument `verbose' -> `flag_before_jump'. * toplev.c (rest_of_compilation): Pass 1 for flag_before_jump first time we call thread_jumps. * c-typeck (build_binary_op, case *_DIV_EXPR): Use same shorten condition as for *_MOD_EXPR.Mon Jan 3 08:00:16 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) * fold-const.c (truth_value_p): New function. (fold): Use it to see when we should make a TRUTH_{AND,OR}_EXPR. (fold, case TRUTH_{AND,OR,ANDIF,ORIF}_EXPR): Use distributive law on expressions such as (A && B) || (A && C).Sun Jan 2 08:14:38 1994 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) * cse.c (simplify_relational_operation): Correct declaration of variables holding parts of constants.Fri Dec 31 06:27:57 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) * toplev.c (main): Turn on -fomit-frame-pointer if it is safe. Add -O3, which turns on -finline-functions. * a29k.h, alpha.h, clipper.h, h8300.h, m88k.h, pa.h, romp.h, rs6000.h: Define CAN_DEBUG_WITHOUT_FP; delete OPTIMIZATION_OPTIONS. * sh.h, sparc.h: Likewise. * arm.h: Delete OPTIMIZATION_OPTIONS. * h8300.h: Define NO_FUNCTION_CSE and CAN_DEBUG_WITHOUT_FP; delete OVERRIDE_OPTIONS. * i960.h (OPTIMIZATION_OPTIONS): Just turn on machine-specific opts. (CAN_DEBUG_WITHOUT_FP): Define. * mips.h (CAN_DEBUG_WITHOUT_FP): Define. (OPTIMIZATION_LEVELS): Just set MASK_GPOPT. * cse.c (simplify_relational_operation): Rewrite and simplify. Add case when we can simplify A-B for compare of A and B. * combine.c (added_links_insn): New variable. (distribute_links): Set it. (if_then_else_cond): New function. (try_combine): Return added_links_insn if it is earlier than what we would otherwise return. (subst): Generalize (OP X Y) to call if_then_else_cond instead of only checking for an explicit IF_THEN_ELSE. (subst, case IF_THEN_ELSE): When converting to a MULT, simplify the MULT before putting it into OP. (subst, case AND): Don't make IF_THEN_ELSE here; now made in generic case earlier. * combine.c (force_to_mode): Add new parm JUST_SELECT; all callers changed.Wed Dec 29 18:05:00 1993 Leonid Baraz (lbaraz@iil.intel.com) * fold-const.c (fold, case PLUS_EXPR): Add a missing test of flag_fast_math.Wed Dec 29 06:52:07 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) * cse.c (simplify_binary_operation, case MULT): Don't convert to ASHIFT if still generating RTL.Mon Dec 27 22:15:55 1993 Ian Lance Taylor (ian@cygnus.com) * fixincludes: Do not fix <sundev/ipi_error.h>, because SunOS sed can not handle the very large macro it contains.Mon Dec 27 06:28:48 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) * alpha.md (maxsf3, minsf3): Correct numerous errors. * combine.c (subst, case MINUS): Allow some FP simplifications if -ffast-math. (reversible_comparison_p): FP comparisons reversible with -ffast-math. * cse.c (simplify_binary_operation, fold_rtx): Allow some FP simplications with -ffast-math. (simplify_relational_operation): FP comparisons can be reversed if -ffast-math is specified. * fold-const.c (fold): Simplify more FP ops if -ffast-math. * jump.c (can_reverse_comparison_p): Return 1 if -ffast-math. * loop.c (get_condition): Can reverse comparison if -ffast-math. * alpha.c (ior_operand): New function. * alpha.h (PREDICATE_CODES): Add ior_operand. * alpha.md (iordi3): Use ornot for some constant cases.Sun Dec 26 07:55:26 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) * expr.c (do_tablejump): Call emit_cmp_insn with likely-constant as second operand. * jump.c (jump_optimize): When deleting an insn after a jump, update reallabelprev since it might point to the deleted insn. * cse.c (count_reg_usage): Don't count a register used within a SET that sets it. (delete_dead_from_cse): Pass new parm to count_reg_usage. * cse.c (fold_rtx, case PLUS): If we have (plus A B), A is equivalent to a negative constant, and the negated constant is in register, convert to (minus A C) where C is the register containing the negated constant.Sat Dec 25 23:47:01 1993 Jeffrey A. Law (law@snake.cs.utah.edu) * pa.h (DBX_BLOCKS_FUNCTION_RELATIVE): Define. (ASM_OUTPUT_SOURCE_LINE): Likewise. (DBX_FUNCTION_FIRST): Likewise. * pa.h (FRAME_POINTER_REGNUM, ARG_POINTER_REGNUM): Change to %r3 for compatability with HP compilers. * pa.h (READONLY_DATA_SECTION): Re-enable use of $LIT$.Sat Dec 25 06:05:28 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) * emit-rtl.c (gen_reg_rtx): Only clear part of arrays we aren't going to copy into. * expr.c (expand_expr, case CONSTRUCTOR): If have a target, don't build constructor into memory. * expr.c (expand_expr, case ARRAY_REF): Remove uses of *_type_node and simplify folding a reference to a character in a STRING_CST. * a29k.c, a29k.h: Rename R_ACC to R_ACU to not conflict with access.h. * m68k/crds.h (HAVE_VPRINTF): Delete from here. * m68k/xm-crds.h (HAVE_VPRINTF): Define. * m68k/dpx2.h (USG): Delete from here (already in xm.h file). * print-tree.c (print_node, print_node_brief): Say something when TREE_CONSTANT_OVERFLOW is set. * loop.c (check_dbra_loop): Fix error in previous change. * combine.c (set_nonzero_bits_and_sign_copies, nonzero_bits): Fix errors in SHORT_IMMEDIATES_SIGN_EXTEND code. * alpha.h (FUNCTION_ARG): Pass complex float in float regs. * fold-const.c (fold, case EQ_EXPR, NE_EXPR): If COMPLEX_TYPE and at least one arg is a COMPLEX_EXPR, split into a logical operation on the real and imaginary parts. * c-typeck.c (common_type): For COMPLEX_TYPE, return one of the original types if is the desired common type. (build_binary_op): Use SHORT_COMPARE code even if complex. * c-decl.c (grokdeclarator): Properly validate __complex__ and create the various kinds of complex integer types. * cse.c (simplify_unary_operations): Check that operations really are double-word before doing them.Fri Dec 24 15:21:16 1993 Jim Wilson (wilson@mole.gnu.ai.mit.edu) * cccp.c (read_name_map, read_filename_string, open_include_file): New functions. (struct file_name_list): New members: name_map, got_name_map. (main, path_include, do_include, do_once): Set got_name_map. (do_include): Use open_include_file instead of open. Add new parameter to lookup_import calls. (lookup_import): New parameter searchptr. Call open_include_file instead of open. * expr.c (convert_modes): Can't truncate REG with gen_lowpart if TRULY_NOOP_TRUNCATION doesn't allow it.Fri Dec 24 14:36:53 1993 Jeffrey A. Law (law@snake.cs.utah.edu) * cse.c (cse_insn): Set "cse_jumps_altered" when collapsing a switch statement into an unconditional jump. * toplev.c (rest_of_compilation): Rerun jump_optimize before the second CSE pass.Fri Dec 24 05:34:38 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) * cse.c (simplify_binary_operation, case PLUS, MINUS): Simplify such things as (X >> 1) - X. * alpha.md (define_attr type): Add new type ISUBR. (divmod): Set to type ISUBR. * alpha.c (output_prolog): Need GP if type ISUBR. * reload.c (push_reload, find_reloads): Reload inside a paradoxical SUBREG of MEM except don't force a reload unless the inner mode is narrower than BIGGEST_ALIGNMENT. * c-typeck.c (check_init_type_bitfields): Check recursively inside arrays and records. * c-parse.in (attrib): Allow expressions instead of constants. * c-common.c (decl_attribute): Verify that alignment and format argument numbers are all integer constants. Continue on to next attribute if one is in error. * cse.c (simplify_binary_operation): Can fold multi-word operations when first is CONST_INT. (simplify_binary_operation, case PLUS, MINUS): Don't call plus_constant when OP0 is VOIDmode. * c-typeck.c (pop_init_level): Don't abort if have incomplete array type inside some other type.Thu Dec 23 22:06:21 1993 Torbjorn Granlund (tege@adder.cygnus.com) * jump.c (thread_jumps): Delete redundant loop termination test. * cse.c (simplify_binary_operation, case *SHIFT*): Reduce arg1 as defined by SHIFT_COUNT_TRUNCATED. * config/pa/pa.c (Several places): Declare values from INTVAL(x) as HOST_WIDE_INT. (uint32_operand): New function. (output_block_move): Change unroll threshold from 64 to 32. (compute_movstrsi_length): Corresponding change. (print_operand): Don't call debug_rtx, just abort. * config/pa/pa.h (FUNCTION_INCOMING_ARG): Delete definition. (RTX_COSTS) [PLUS]: Rewrite. (output_scc_insn): Delete. (output_floatsisf2): Delete. (output_floatsidf2): Delete. (PREDICATE_CODES): Define, but leave within #if 0 for now. * config/pa/pa.md (iorscc): New recognizer. 2 new recognizers for sub;subb. 1 new recognizer for addi;subb. (movstrsi): Remove predicates. Set inline threshold to 8. (umulsidi3): Change predicates to nonimmediate_operand. New recognizer for multiply-by-immediate. (andsi3): Add `!' for register alternative. (vdepi_ior, vdepi_and): New recognizers. (vextru rx,1,ry, vextrs rx,1,ry): New recognizers. * config/pa/pa.c (initialize_pic): Delete. (finalize_pic): Use PIC_OFFSET_TABLE_REGNUM rather than 19. * config/pa/pa.h (CONDITIONAL_REGISTER_USAGE): Never make PIC_OFFSET_TABLE_REGNUM fixed. (INITIALIZE_PIC): Delete. * config/pa/pa.md (call, call_value): If PIC, emit USE for for PIC_OFFSET_TABLE_REGNUM. Use PIC_OFFSET_TABLE_REGNUM rather than 19.Thu Dec 23 18:51:12 1993 Jim Wilson (wilson@cygnus.com) * local-alloc.c (optimize_reg_copy_1): After decreasing sregno's reg_live_length, correct it if it is now obviously too small. * loop.c (check_dbra_loop): Don't reverse loop if there is a single memory store to an invariant address. * gcc.c (translate_options): Skip arguments of -B, -b, -V, -x, and -Xlinker options. * configure (riscos-*-*): Use fixincludes instead of fixinc.mips. * fixinc.mips: Delete file. * fixincludes: Merge in changes from fixinc.mips. Fix identifiers host_mips, mips, MIPSE[LB], R[34]000, SYSTYPE_*. Fix size_t uses in stddef.h, memory.h, unistd.h. Fix /**/ in bsd43/bsd43_.h.Thu Dec 23 18:28:02 1993 Richard Earnshaw (rwe11@sticte.cl.cam.ac.uk) * expmed.c (expand_mult): Preserve useful sub-expressions when expanding a synthesized mult.Thu Dec 23 18:21:34 1993 Russ Noseworthy (jrnosewo@ral.rpi.edu) * configure (m68k-wrs-vxworks): New, same as m68k-sun-sunos*.Thu Dec 23 09:03:30 1993 Phil Nelson (phil@cs.wwu.edu) * ns32k.h (ASM_OUTPUT_ADDR_DIFF_ELT): Use .long, not .double.Thu Dec 23 07:30:24 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) * Makefile.in (libgcc.a): Allow chmod of tmpcopy directory to fail since it can be empty. * gcc.c (default_compilers, gnat1): Don't write -gnatb. * c-common.c (T_ST): Fix typo in last change. * expr.c (expand_expr, case MINUS_EXPR): When expanding an initializer, use plus_constant as appropriate. * collect2.c (main): When searching compiler directories, look for ld_suffix, not full_ld_suffix. * a29k/unix.h (TARGET_DEFAULT): Update to use new values. * Makefile.in (GCC_CFLAGS): Add -I./include.Thu Dec 23 06:57:39 1993 Chip Salzenberg (chip@fin.uucp) * Makefile.in (ENQUIRE_CFLAGS): Omit -DNO_STDDEF. (USE_ALLOCA): Allow ${ALLOCA} to begin with a dash. (OBJC, OBJECTIVE-C): Depend on objc-runtime. (objc-headers): Make include directory if missing. * xm-svr3.h (HAVE_VPRINTF): Define. * cse.c (delete_reg_equiv): Don't reference elements of REG_{NEXT,PREV}_EQV that are not defined.Wed Dec 22 14:21:49 1993 Jim Wilson (wilson@mole.gnu.ai.mit.edu) * dbxout.c (dbxout_parms): For parameter passed by invisible reference, use DECL_INCOMING_RTL if DECL_RTL is a pseudo-reg address. * xcoffout.h (DBX_FINISH_SYMBOL): Get variable name from DECL_RTL instead of from DECL_ASSEMBLER_NAME.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -