📄 fsfchangelog.10
字号:
* i370/t-mvs: New file.
* configure (i370-*-mvs*): Use it.
* i370/mvs.h (FUNCTION_PROLOGUE): LE/370 takes 120 bytes for DSA.
Have only one copy of timestamp and PPA2 per object module.
Only have unnamed CSECT to match IBM C.
Mon Mar 18 19:26:21 1996 Paul Russell (Rusty.Russell@adelaide.maptek.com.au)
* 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.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -