?? changelog.9
字號:
* configure: Ditto. * rs6000/xm-sysv4.h: New file, to support building GCC for a System V.4 PowerPC system. * rs6000/sysv4.h: Ditto. * rs6000/x-sysv4: Ditto. * rs6000/eabi.h: New file, to support building GCC for an embedded PowerPC system. * rs6000/rs6000.h (TARGET_SWITCHES): Add -mmultiple, -mno-multiple to control emitting load/store multiple instructions. On the power, this is on by default, and on the powerpc it is off. (SUBTARGET_SWITCHES): New macro, which defaults to nothing to allow a subtarget to add new switches. (SAVE_FP_*, RESTORE_FP_*): New macros that give the prefix and suffix to use for the functions that save and restore the floating point registers. * rs6000/rs6000.c (output_prolog): Use TARGET_MULTIPLE instead of TARGET_POWER to control whether to emitt load/store multiple instructions. Use the SAVE_FP_*/RESTORE_FP_* macros instead of using the hardwired AIX names for the functions to save and restore the floating point registers. (output_epilog): Likewise. (print_operand_address): Do not prepend a '.' for %z when using the ELF object file format. (svr4_traceback): New function to emit the word before the procedure prologue that System V.4 expects to do tracebacks. (output_prolog): Call svr4_traceback under ELF systems. (output_epilog): Omit AIX style traceback tables for ELF systems. (output_function_profiler): Abort for now in the ELF case. * rs6000/rs6000.md (load_multiple, store_multiple): Test against TARGET_MULTIPLE instead of TARGET_POWER.Tue Jan 31 19:27:43 1995 Torbjorn Granlund <tege@cygnus.com> * pa.h (REAL_ARITHMETIC): Define. (ASM_OUTPUT_DOUBLE): Rewrite. (ASM_OUTPUT_FLOAT): Rewrite. * pa.md (SF and DF move): Use constraint 'E' instead of 'F'. * pa.c (singlemove_string): Make case with SFmode CONST_DOUBLE abort. (print_operand): #ifdef out CONST_DOUBLE cases.Tue Jan 31 19:27:43 1995 Jim Wilson <wilson@chestnut.cygnus.com> * pa/pa.h (TARGET_SOFT_FLOAT): New macro. (TARGET_SWITCHES, CPP_SPEC, CONDITIONAL_REGISTER_USAGE, FUNCTION_VALUE, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P, FUNCTION_ARG_REGNO_P, FUNCTION_ARG, ASM_DECLARE_FUNCTION_NAME, GO_IF_LEGITIMATE_ADDRESS, RTX_COSTS): Use TARGET_SOFT_FLOAT. * pa/pa.md (*sf*, *df*, etc): Make all floating point patterns depend on ! TARGET_SOFT_FLOAT. (movsi, movdi, movsf, movdf): Add patterns for TARGET_SOFT_FLOAT.Tue Jan 31 15:53:04 1995 Jason Merrill <jason@phydeaux.cygnus.com> * toplev.c (lang_options): Add -f{no-,}check-new.Tue Jan 31 13:55:37 1995 Doug Evans <dje@cygnus.com> * mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Ensure section is .text if no section attribute. * mips/elf64.h (ASM_OUTPUT_SECTION_NAME): Use asm_out_text_file for functions.Tue Jan 31 13:26:42 1995 Ian Lance Taylor <ian@cygnus.com> * libgcc2.c: Include <limits.h>, not "glimits.h".Mon Jan 30 16:34:24 1995 Jason Merrill <jason@phydeaux.cygnus.com> * c-common.c (type_for_size): Try to match on int before other types (which might be the same size). (type_for_mode): Ditto.Sat Jan 28 16:28:15 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> * config/sparc/sysv4.h (ASM_OUTPUT_SECTION_NAME): #undef before defining.Sat Jan 28 13:54:23 1995 Jeffrey A. Law (law@snake.cs.utah.edu) * pa.md (call, call_value): Always save the PIC register before a call.Sat Jan 28 07:31:26 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) * c-typeck.c (c_expand_return): Refine check for returning pointer to local variable to allow subtracting a pointer from it. * calls.c (expand_call): When emitting queue for each arg, call protect_from_queue; put in initial_value so EXPR_LIST in is_const case won't have QUEUED.Sat Jan 28 04:36:46 1995 Jeffrey A. Law (law@snake.cs.utah.edu) * pa.md (call_internal_reg): Use an even faster sequence for TARGET_FAST_INDIRECT_CALLS. (call_value_internal_reg): Likewise.Fri Jan 27 21:28:51 1995 Ronald F. Guilmette (rfg@segfault.us.com) * config.sub (unixware, svr4): Treat as synonyms for sysv4.Fri Jan 27 19:36:13 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> * config/i386/gnuelf.h: New file.Fri Jan 27 16:55:05 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) * libgcc1.c (perform_lshlsi3, __lshlsi3): Deleted. * libgcc2.c (__lshldi3): Deleted. * Makefile.in (LIB1FUNCS): Delete _lshlsi3. (LIB2FUNCS): Delete _lshldi3. * expr.c (expand_expr, case MINUS_EXPR): Remove bogus operand swap. * optabs.c (expand_binop): Add missing test for VOIDmode before calling convert_to_mode. * final.c (high_{block,function}_linenum): New variables. (final_start_function): Initialize them. (final_end_function): Pass highest line number to function end debugging routines. (final_scan_insn): Pass highest line number in block to block end debugging function. (output_source_line): Update highest line in block and function.Thu Jan 26 03:46:35 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> * configure (i[345]86-*linux*): Set $extra_parts if $elf. (*-*-gnu*): Likewise.Wed Jan 25 18:11:19 1995 Jim Wilson <wilson@cygnus.com> * sh.c (prepare_scc_operands): Force sh_compare_op1 to a register if it is an invalid constant. (output_branch): Add cases for 4, 8, and 18. Correct branch offsets in comments. (find_barrier): Correct test for move instructions that need to be fixed by verifying that the set source is a bad constant. (arith_reg_or_0_operand): New function. * sh.h (CONST_OK_FOR_LETTER_P): Add case for 'N'. Correct comment. (ADJUST_INSN_LENGTH, SHORTEN_WITH_AJUST_INSN_LENGTH): New macros. * sh.md (define_attr type): Combine pcloadsi and pcloadhi into pcload. (*): Likewise for all patterns that use them. (define_attr length): Delete cases for pcloadsi and pcloadhi. Modify branch offsets and lengths to be correct. Correct comment. (*): Correct length attributes for all patterns. (in_delay_slot): Delete maybe value. Change default case from yes to no. Delete case for lengths of 4, 6, 8, 10, and 12. (cmpeq_0, cmpeq_0-1, cmpeq_0-2): Delete patterns. (cmpeqsi_t): Delete case with constant as first operand. (cmpgtsi_t, cmpgesi_t): Use arith_reg_or_0_operand not arith_operand. Put register cases first. (cmpgeusi_t, cmpgtusi_t): Delete cases for comparing against zero. (jump): Call output_far_jump if insn length >= 14 instead of == 14. (casesi): Use arith_reg_operand not arith_operand for operand 2. * fixincludes (strings.h): Fix return type of strlen. * expr.c (expand_expr, case MIN_EXPR): If must emit multiple instructions, then don't allow a MEM target.Wed Jan 25 17:07:47 1995 Pat Rankin (rankin@eql.caltech.edu) * cccp.c (do_include): For VMS, don't attempt to treat `#include X' as `#include <X.h>' unless `X' has already been macro expanded. (main): For VMS, do a better job of picking out the base name from argv[0]'s absolute name. * vax/xm-vms.h (FAILURE_EXIT_CODE): Define.Wed Jan 25 14:50:45 1995 David S. Miller (davem@nadzieja.rutgers.edu) * genattrtab.c (check_attr_value): Change error message text. (simplify_test_exp): Likewise. * stmt.c (expand_asm, expand_asm_operands): Likewise. * mips.c (print_operand, print_operand_address): Likewise. * dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise. (limit_reload_class, double_reg_to_memory): Likewise. (print_operand_address, emit_1600_core_shift): Likewise. (gen_tst_reg, gen_compare_reg): Likewise. * dsp16xx.md (compare): Likewise. * unroll.c (find_splittable_givs): Likewise.Wed Jan 25 13:21:10 1995 Matthias Pfaller (leo@marco.de) * configure (ns32k-pc532-netbsd): Use netbsd32k.h instead of netbsd.h. * ns32k/netbsd32k.h: Renamed from netbsd.h. Don't include ansi.h. Include config/netbsd.h and delete definitions included from it. * ns32k/xm-netbsd.h (HAVE_ATEXIT): Deleted.Wed Jan 25 12:53:40 1995 Philippe De Muyter (phdm@info.ucl.ac.be) * m68k/mot3300.h (DEFAULT_PCC_STRUCT_RETURN): Define as zero. (RETURN_IN_MEMORY): Small aggregates are to be returned in d0.Wed Jan 25 12:48:43 1995 Paul Eggert <eggert@twinsun.com> * cccp.c (handle_directive): Fix typo: '\' caused next char to be copied blindly, which was an error if !traditional and if the next char was newline or one of <\'"/.Wed Jan 25 08:15:49 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) * jump.c: Include expr.h after insn-config.h and insn-flags.h.Tue Jan 24 23:19:28 1995 Doug Evans <dje@cygnus.com> Improved conditional move support from Richard Earnshaw. * optabs.c (movcc_gen_code): New variable. (init_optabs): Initialize it. (emit_conditional_move): New function. (can_conditionally_move_p): New function. * combine.c (simplify_set): Call it. * expr.h: (emit_conditional_move): Declare it. (can_conditionally_move_p): Likewise. (movcc_gen_code): Likewise. * genopinit.c (optabs): Add entry for movcc_gen_code. * genconfig.c (main): Delete #ifndef around HAVE_conditional_move. * jump.c (jump_optimize): Try to emit a conditional move insn before trying a store-flag insn. * alpha.md (movsicc): New named pattern. (movdicc, movsfcc, movdfcc): Likewise. (SImode conditional move): New matcher. * sparc.h (HAVE_conditional_move): Delete. * configure: Recognize and ignore --x-* options.Mon Jan 23 23:23:33 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> * config/svr4.h (ASM_OUTPUT_SECTION_NAME): Renamed from ASM_OUTPUT_SECTION. The old name was a typo. (ASM_OUTPUT_SECTION_NAME): Take proper number of args.Mon Jan 23 18:51:38 1995 Jason Merrill <jason@phydeaux.cygnus.com> * collect2.c (main): Check LD_INIT_SWITCH and LD_FINI_SWITCH separately. (scan_prog_file): Don't add shared library initializers or finalizers to list if LD_INIT_SWITCH or LD_FINI_SWITCH are defined, respectively.Mon Jan 23 18:45:13 1995 Ian Lance Taylor <ian@cygnus.com> * config/mips/mips.c (override_options): Permit any small integral mode in the HI/LO registers.Mon Jan 23 15:41:10 1995 Steve Chamberlain <sac@cygnus.com> * h8300.md (table_jump_h8300, table_jump_h8300h): Constrain operand to use register.Sat Jan 21 00:01:08 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> * configure (*-*-gnuelf*): Set elf=yes. (*-*-gnu*): Use ${cpu_type}/gnuelf.h under --with-elf.Fri Jan 20 20:11:17 1995 Jim Wilson <wilson@cygnus.com> * combine.c (num_sign_bit_copies): Can handle paradoxical subreg only if LOAD_EXTEND_OP is defined to SIGN_EXTEND. * loop.c (record_giv): Initialize new field same_insn. * loop.h (structure induction): Add new field same_insn. * unroll.c (copy_loop_body): When check for shared address givs, use new same_insn field. (find_splittable_givs): New variable v2. Scan givs to set new same_insn field. Use same_insn to indentify address givs to be shared. * flow.c (find_basic_blocks): No longer need to check for deleted nonlocal_labels. * function.c (delete_handlers): When clear LABEL_PRESERVE_P, also remove label from nonlocal_label list. * integrate.c (save_for_inline_copying): Add comment that nonlocal_label list should be updated if it ever can be nonzero. * sdbout.c (syms.h): Don't include under Linux. * loop.c (scan_loop): For the replace_rtx call, copy the rtx that is being substituted in before the call. * sh.c (machine_dependent_reorg): When remove SUBREG, add in SUBREG_WORD to new register number. * sh.c (multcosts): Do not compute cost of constant power-of-two multiplies as if they were shifts. Reduce multiply cost from 5 to 3. Delete variable insn_cost.Fri Jan 20 14:21:49 1995 Mike Stump <mrs@cygnus.com> * stmt.c (expand_cleanups): Add 4th argument to indicate if code needs to be expanded for the cleanup. (expand_goto_internal): Ditto. (bc_expand_goto_internal): Ditto. (fixup_gotos): Ditto. (expand_end_bindings): Ditto. We now always call expand_cleanups, even after BARRIERs, so that the call to the exception handling routines is always done.Thu Jan 19 18:39:14 1995 Ian Lance Taylor <ian@cygnus.com> * config/mips/mips.h (MASK_SINGLE_FLOAT): Define. (MASK_MAD): Define. (TARGET_SINGLE_FLOAT, TARGET_DOUBLE_FLOAT): Define. (TARGET_MAD): Define. (TARGET_SWITCHES): Add single-float, double-float, mad, no-mad, 4650. (ASM_SPEC): For gas, pass down -m4650, and pass -m4650 if -mmad is used. (CC1_SPEC): If -mips3 is used, only set -mfp64 if neither -msingle-float nor -m4650 are used. Don't permit both -mfp64 and -msingle-float, or both -mfp64 and -m4650. If -m4650 is used, pass down -mcpu=r4650. (FIXED_REGISTERS): Change HI and LO to not be fixed. (HARD_REGNO_NREGS): If TARGET_SINGLE_FLOAT, use floating point registers in 4 byte units, not 8 byte units. (SECONDARY_RELOAD_CLASS): Define. (mips_secondary_reload_class): Declare. (LIBCALL_VALUE): If TARGET_SINGLE_FLOAT, only use FP_RETURN if the mode size is <= 4. (REGISTER_MOVE_COST): Use a cost of 12 when moving HI or LO to anything other than a general register. * config/mips/mips.c (function_arg): If TARGET_SINGLE_FLOAT, pass DFmode arguments in general registers. (override_options): Accept 4650 as a cpu type. If
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -