📄 changelog.10
字号:
* combine.c (simplify_if_then_else): Allow for case that condition might no longer be a condition.Mon Mar 18 19:14:42 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) * c-typeck.c (build_conditional_expr): If OP1 is null, set both OP1 and ORIG_OP1 to IFEXP. * c-iterate.c (iterator_loop_epilogue): Don't clear DECL_RTL for a static decl.Mon Mar 18 08:02:25 1996 Stephen L Moshier <moshier@world.std.com> * alpha.c (summarize_insn, case SUBREG, CONST_*): New cases.Sun Mar 17 16:55:00 1996 Doug Evans <dje@cygnus.com> * combine.c (find_split_point): Handle NULL return from make_extraction. (make_field_assignment): Likewise.Sat Mar 16 18:56:47 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) * tree.c (substitute_in_expr, case COMPONENT_REF): Ignore if inner PLACEHOLDER_EXPR has not yet been initialized. * i386.c (standard_80386_constant_p): -0.0 is not 0.0. * i386.md (insv): Restore missing end of comment. * combine.c (make_extraction): Correct typo in force_to_mode call in previous change. Return 0 if pos+len out of range of want desired mode.Sat Mar 16 16:20:43 1996 David Mosberger-Tang <davidm@azstarnet.com> * alpha.md (trap): New attribute. Modify patterns for all floating-point trap generating instructions. * alpha.h (CPP_SPEC): Added -mieee and -mieee-with-inexact. (alpha_trap_precision, alpha_fp_rounding_mode, alpha_fp_trap_mode): New enum types. (target_flags, alpha_tp, alpha_fprm, alpha_fptm): New external vars. (alpha_fprm_string, alpha_fptm_string, alpha_tp_string): Likewise. (TARGET_IEEE{,_WITH_INEXACT,_CONFORMANT}): New macros. (MASK_IEEE{,_WITH_INEXACT,_CONFORMANT}): Likewise. (MASK_FP, MASK_FPREGS, (TARGET_SWITCHES): Added "ieee-conformant", "ieee", and "ieee-with-inexact"; use MASK symbols. (TARGET_OPTIONS): New macro. (OVERRIDE_OPTIONS, FINAL_PRESCAN_{INSN,LABEL}): New macros. (PRINT_OPERAND_PUNCT_VALID_P): Allow operand codes for FP insns. (CC1_SPEC): New macro. * alpha.c (alpha_tp, alpha_fprm, alpha_fptm): New variables. (alpha_tp_string, alpha_fprm_string, alpha_fptm_string (trap_pending): Likewise. (override_options, summarize_insn, final_prescan_insn): New functions. (print_operand): Handle cases '&', '\'', ')', and '+'. (output_prolog): Emit ".eflag 48" if TARGET_IEEE_CONFORMANT. (output_epilog): Call final_prescan_insn before emitting epilog. * final.c (final_scan_insn, case CODE_LABEL): Invoke FINAL_PRESCAN_INSN if FINAL_SCAN_LABEL is defined. * alpha/{linux.h,x-linux,xm-linux.h}: New files. * configure (alpha-*-linux*): New case. * alpha.c (output_prolog): Set alpha_function_needs_gp if profiling and TARGET_PROFILING_NEEDS_GP defined.Thu Mar 14 22:28:20 1996 David Edelsohn <edelsohn@mhpcc.edu> * rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Fix last change. * aix41.h (LINK_SPEC): add -bnoentry if shared and no explicit entry.Thu Mar 14 12:47:33 1996 Jim Wilson <wilson@cygnus.com> * mips.h (ASM_OUTPUT_DOUBLE_INT): Use 'X' if CONST_INT and HOST_BITS_PER_WIDE_INT == 64. * mips.c (mips_expand_prologue): Change TYPE_NEEDS_CONSTRUCTING to TREE_ADDRESSABLE;Thu Mar 14 11:21:37 1996 Michael Meissner <meissner@tiktok.cygnus.com> * rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): For 32-bit mode, allow TImode variables with int offsets, so that structures greater than 8 bytes and less than or equal to 16 bytes can be instantiated correctly. * rs6000.c (rs6000_valid_type_attribute_p): Add exception attribute for Windows NT. * win-nt.h (ASM_OUTPUT_FUNCTION_PREFIX): Delete, merge into ASM_DECLARE_FUNCTION_NAME. (ASM_DECLARE_FUNCTION_NAME): Add support for exception attribute setting fields 3 & 4 of the structured exception handling table.Thu Mar 14 01:53:19 1996 Jeffrey A. Law <law@cygnus.com> * pa.h (ASM_DECLARE_FUNCTION_NAME): Change TYPE_NEEDS_CONSTRUCTING to TREE_ADDRESSABLE. From Jim Wilson.Wed Mar 13 13:40:32 1996 Jim Wilson <wilson@chestnut.cygnus.com> * c-tree.h (warn_sign_compare): Add extern to declaration.Wed Mar 13 13:37:00 1996 Doug Evans <dje@cygnus.com> * configure: Use cross-make and build-make if building cross compiler with cross compiler.Wed Mar 13 12:00:34 1996 Michael Meissner <meissner@tiktok.cygnus.com> * i386/cygwin32.h (ASM_OUTPUT_ALIGN): Correct defination. * rs6000/{win-nt,cygwin32}.h (STARTFILE_SPEC): Add crti.o before all objects. (ENDFILE_SPEC): Add crtn.o after all objects. * configure (powerpcle-*-cygwin32): Use t-winnt, not t-cygin32 * rs6000/t-cygwin32: Delete, no longer used. * rs6000/t-winnt ({,INSTALL_}LIBGCC): Build and install crti.o and crtn.o. * rs6000/win-nt.h (EXTRA_SECTION_FUNCTIONS): Add ctors_section and dtors_section. (INVOKE__main): Define, so that __main is called. (ASM_OUTPUT_{CONSTRUCTOR,DESTRUCTOR}): Define to put pointers to the constructor/destructor in the appropriate section. * nt-c{i,n}.asm: New files to be linked before/after all of the users' objects.Wed Mar 13 00:42:17 1996 Per Bothner <bothner@cygnus.com> * dbxout.c (dbxout_type): Better "variant" handling to ignore const/volatile but not typedef names. Improves Feb 12 change.Tue Mar 12 17:25:14 1996 David Mosberger-Tang <davidm@azstarnet.com> * glimits.h (__LONG_MAX__): On Alpha, use 64 bit value.Tue Mar 12 15:07:49 1996 Torbjorn Granlund <tege@tmg.se> * m68k.c (valid_dbcc_comparison_p): Don't test cc_prev_status here. (flags_in_68881): New function. * m68k.md (dbra peepholes): Use flags_in_68881.Tue Mar 12 13:54:15 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) * sparc.md (nonlocal_goto): Emit barrier after jump. (setjmp{,_64,_32}): New patterns.Tue Mar 12 12:43:27 1996 Jim Wilson <wilson@cygnus.com> * i960.h (ROUND_TYPE_SIZE): Return round_up result instead of COMPUTED. * expr.c (expand_expr, case COMPONENT_REF): For unaligned object in an aligned union, delete check for EXPAND_SUM. * expr.h (clear_storage): Add comment terminator.Mon Mar 11 19:07:50 1996 Jeffrey A. Law <law@cygnus.com> * recog.c (constrain_operands, case 'V'): Don't call offsettable_memref_p before reload has completed.Mon Mar 11 16:06:13 1996 Doug Evans <dje@cygnus.com> * h8300.h (SP_AND_G_REGS): Renamed from SP_AND_G_REG. (CC_DONE_CBIT): Delete. (CC_OVERFLOW_0,CC_OVERFLOW_UNUSABLE,CC_NO_CARRY): Define. * h8300.c (cond_string): Delete CC_DONE_CBIT handling. (notice_update_cc): Delete CC_CBIT, CC_WHOOPS. Add CC_SET_ZN_C0. (restore_compare_p): New function. (shift_one): Use shll instead of shal so overflow bit is usable. Set cc_valid bits to cc_status.flags values. (emit_a_shift): Set cc_status.flags. * h8300.md (attr cc): Delete whoops,cbit. Add set_zn_c0. (all patterns) Update cc attr setting. (tstqi,tsthi,tstsi): Delete CC_DONE_CBIT handling. (addhi3,subhi3): Change define_expand to define_insn. (branch_true,branch_false): Check if compare needs to be restored.Mon Mar 11 13:55:23 1996 Michael Meissner <meissner@cygnus.com> * rs6000.h (CONST_DOUBLE_OK_FOR_LETTER_P): Add 'H' for movdi patterns in 32 bit that generate 3 instructions. (num_insns_constant): Add declaration. * rs6000.c (num_insns_constant{,_wide}) Functions to determine the number of insns it takes to generate an integer constant. (easy_fp_constant): Allow DImode in easy constants. Use num_insns_constant_wide. (input_operand): Allow any CONST_{INT,DOUBLE}'s for {SI,DI}mode. * rs6000.md (movdi): Generate a normal movdi using a CONST_DOUBLE for 32 bit mode rather than using SUBREG's. For 64 bit mode, break large integer constants into smaller pieces. Add various define_splits to handle loading the various DImode constants.Mon Mar 11 06:54:19 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) * combine.c (make_extraction): Use proper mode for INNER in all cases. (simplify_comparison, case ZERO_EXTRACT): For bits big endian and no extzv, use BITS_PER_WORD. * fx80.md, gmicro.md, i386.md, m68k.md, tahoe.md, vax.md: Use proper modes and predicates for {sign,zero}_extract.Sun Mar 10 06:23:52 1996 J"orn Rennecke (amylaar@meolyon.hanse.de) * emit-rtl.c (free_insn): New variable. (init_emit, restore_emit_status): Clear it. (gen_sequence): Store insn in free_insn when sequence length is 1. (make_insn_raw): Use free_insn if available and still in the rtl generation phase.Fri Mar 8 15:37:31 1996 Mike Stump <mrs@cygnus.com> * expr.c (expand_expr, case TARGET_EXPR): Delay putting the cleanup on the cleanup chain until after the subexpression has been expanded.Fri Mar 8 16:14:51 1996 J"orn Rennecke (amylaar@meolyon.hanse.de) * i386.c (ix86_binary_operator_ok): One memory operand is OK. This is independent of commutativity.Fri Mar 8 14:07:43 1996 Jim Wilson <wilson@cygnus.com> * expr.c (store_constructor_field): Call store_field if bitpos is nonzero and target is not a MEM. * jump.c (jump_optimize): When handle a USE insn before an unconditional jump, disable the optimization if the USE is the only insn in the loop. * sh.c (reg_unused_after): Return 0 if see a JUMP_INSN.Fri Mar 8 12:08:36 1996 Doug Evans <dje@cygnus.com> * sparc/lynx.h (CPP_SPEC): Use %(cpp_cpu). * sparc/sparc.md (move_pic_label_si,move_label_di): Rewrite length attr calcs to be more conservative.Thu Mar 7 19:14:21 1996 Doug Evans <dje@cygnus.com> * sparc/t-splet: New file. * sparc/splet.h: New file. * configure (sparclet-*-aout*): Use them. * sparc.h (MASK_LIVE_G0,TARGET_LIVE_G0): Define. (FIRST_PSEUDO_REGISTER): Add 1 for %icc (now 101). (FIXED_REGISTERS,CALL_USED_REGISTERS): Update. (FIXED_REGISTERS): %g0 is fixed by default. (SPARC_{FIRST,LAST}_V9_FCC_REG): Define. (SPARC_{ICC,FCC}_REG): Define. (CONDITIONAL_REGISTER_USAGE): Don't fix %fcc0 if v8. (REG_CLASS_CONTENTS): Reg 0 is an int reg, reg 100 is %icc. (REGNO_REG_CLASS): Rewrite to use global `sparc_regno_reg_class'. (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER,LEAF_REGISTERS): Add %icc. (REG_CLASS_FROM_LETTER): Handle 'c' for FPCC_REGS in non-v9 case. (REGNO_OK_FOR_{BASE,INDEX}_P): Treat %g0 as a normal reg. (REG_OK_FOR_{BASE,INDEX}_P,EXTRA_CONSTRAINT): Likewise. (REGISTER_NAMES): Add %icc. (ADDITIONAL_REGISTER_NAMES): Use SPARC_ICC_REG. * sparc.c (leaf_reg_remap): Add %icc=100. (reg_or_0_operand): Don't allow 0 if TARGET_LIVE_G0. (fcc_reg_operand): Renamed from ccfp_reg_operand. Use SPARC_FCC_REG. Don't treat reg 0 as an fcc reg. Don't match modes if `mode' argument is VOIDmode. (icc_or_fcc_reg_operand): New function. (gen_compare_reg): Use SPARC_FCC_REG for v8 fp compares. Use SPARC_ICC_REG for int compares. (eligible_for_epilogue_delay): Don't allow anything if TARGET_LIVE_G0. Delete unnecessary test for %g0. (emit_move_sequence): Don't emit (set (mem) (const_int 0)) if TARGET_LIVE_G0. (output_scc_insn): Label moved to operand 3. Condition code reg moved to operand 2. (sparc_mode_class): Enum C_MODE renamed to CC_MODE. (hard_32bit_mode_classes): Set reg 0 to S_MODES. Add entry for %icc. (hard_64bit_mode_classes): Set reg 0 to D_MODES. Add entry for %icc. (sparc_regno_reg_class): New global. (sparc_init_modes): Initialize it. (output_cbranch): Delete fp_cond_reg argument. (print_operand, MEM op): Don't print "%g0+" if TARGET_LIVE_G0. (sparc_flat_eligible_for_epilogue_delay): Don't allow anything if TARGET_LIVE_G0. * sparc.md (live_g0): New attribute. (*): Integer condition code register is now reg 100. Use SPARC_ICC_REG instead of hardcoding reg 100 where possible. Non-v9 floating point condition code register is now reg 96. (*cmp{sf,df,tf}_{fpe,fp}_sp{32,64}): Combine v9/non-v9 cases. (*{normal,inverted}_{,fp,fpe}_branch): Update call to output_cbranch. (*mov{qi,hi,si}_insn): Don't use if TARGET_LIVE_G0. (*mov{qi,hi,si}_insn_liveg0): New patterns. (*mov{si,di,sf,df,tf}_ccfp{,e}_sp64): ccfp_reg_operand renamed to fcc_reg_operand. (*negdi2_sp32,negsi2,one_cmplsi2,ffssi2): Ensure %%g0 is 0 if TARGET_LIVE_G0. (*one_cmpldi2_sp32): Move operand 1 to rs1 and use 0 as rs2. (patterns that use %g0 in rs2): Use 0 immediate value instead. (patterns that read %g0): Don't use if TARGET_LIVE_G0.Thu Mar 7 15:39:16 1996 Jim Wilson <wilson@chestnut.cygnus.com> * sh.h (PASS_IN_REG_P): Change < to <=. * va-sh.h (va_start): Change __SH3E___ to __SH3E__. (va_arg): Add little-endian SH3E support. Fix big-endian version to work for arguments smaller than the word size.Thu Mar 7 10:37:37 1996 Jeffrey A. Law <law@cygnus.com> * lib2funcs.asm: Remove entry/exit routines. Move them into... * ee.asm: New file. Entry/exit code. * ee_fp.asm: New file. Entry/exit code with frame pointer. * t-pa: Corresponding changes. * t-pro: Corresponding changes. * pa.c: Fix misc small typos/thinkos in recent changes.Wed Mar 6 17:36:03 1996 Jason Merrill <jason@yorick.cygnus.com> * cplus-dem.c (demangle_template): Fix for address-of-extern arguments.Wed Mar 6 15:12:55 1996 Jeffrey A. Law <law@cygnus.com> * t-pro (dp-bit rule): Fix typo. * lib2funcs.asm (__outline_prologue): Remove frame pointer support. (__outline_prologue_fp): Out of line prologue with frame pointer. (__outline_epilogue, outline_epilogue_fp): Similarly.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -