📄 changelog.6
字号:
TARGET_LONG_CALLS.Fri Oct 16 00:21:57 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Makefile.in (libobjc.a): Get directories right, using shell vars thisdir1, srcdir1. Put quotes around $(GCC_CFLAGS). Use $(MAKE).Thu Oct 15 17:07:18 1992 Mike Stump (mrs@hal.gnu.ai.mit.edu) * configure, config.sub, config/elxsi.{c,h,md}, config/xm-elxsi.h, config/x-elxsi: Add support for new 64 bit CPU, called Elxsi.Thu Oct 15 16:55:22 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) * alpha.c (alpha_builtin_saveregs): Fix bug in last change. * fold-const.c (distribute_bit_expr): Test for BIT_{AND,IOR}_EXPR. * cse.c (cse_insn): Add missing call to apply_change_group.Thu Oct 15 15:09:45 1992 Michael Meissner (meissner@osf.org) * t-mips (CCLIBFLAGS, LIBGCC2_CFLAGS): Delete, so that libgcc.a is built with the -G 8 option, instead of -G 0, so that the linker doesn't complain when linking in libg++.a. * t-decstatn (CCLIBFLAGS, LIBGCC2_CFLAGS): Ditto.Thu Oct 15 14:30:25 1992 Jim Wilson (wilson@sphagnum.cygnus.com) * mips-tfile.c (parse_def): Allow spaces in arguments for C++. Correct test for null when searching for end of name.Thu Oct 15 11:55:51 1992 Tim Moore (moore@defmacro.cs.utah.edu) * pa.c (compute_frame_size): Take an fregs_live parameter instead of setting the static variable save_fregs. (output_function_prologue): Initialize save_fregs to 0 and pass to compute_frame_size. * pa.h (INITIAL_FRAME_POINTER_OFFSET): Pass extra null parameter to compute_frame_size.Thu Oct 15 08:40:07 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) * alpha.h (TARGET_FPREGS): New flag. (TARGET_SWITCHES): Remove temporary -mfp and add -msoft-float and -mfp-regs. (TARGET_DEFAULT): Set to -mfp-regs -mno-soft-float. (CONDITIONAL_REGISTER_USAGE): Use TARGET_FPREGS. (FUNCTION_VALUE, FUNCTION_ARG, LIBCALL_VALUE): Use integer registers for FP items if -mno-fp-regs. * alpha.c (alpha_builtin_saveregs): Store integer regs twice instead of storing the FP regs if -mno-fp-regs. * fold-const.c (fold): Add missing test in case when we distribute a NOP_EXPR into a COND_EXPR and try to pull it back out again.Thu Oct 15 08:11:00 1992 Tom Wood (wood@dg-rtp.dg.com) * fold-const.c (simple_operand_p): Don't regard global or static variables as simple. (fold_truthop): Only require the RHS to be simple. * m88k.h (CPP_SPEC): Add -D__m88110__ when -m88110 is in effect, similarly for -m88100. * m88kdgux.h (CPP_SPEC): Ditto. * m88kluna.h (CPP_PREDEFINES): Drop -Dmc88100. (CPP_SPEC): Reproduce the predefine -Dmc88100 when -m88100 is in effect. Otherwise, supply -D__mc881x0__ when -m881x0 is in effect.Thu Oct 15 02:09:49 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) * expr.c (get_inner_reference): If flag_volatile, treat every INDIRECT_REF as volatile. * collect2.c (main): If COLLECT_GCC is a relative name, use it anyway. * x-next: New file. * configure (m68k-next-*): Use that. * Changes from NeXT: * libgcc2.c [L_ctors] (__CTOR_LIST__, __DTOR_LIST__): Initialize these default definitions if __NeXT__. * gvarargs.h [__NeXT__]: Define _VA_LIST_ if _ANSI_STDARG_H_ was defined; then define _ANSI_STDARG_H_. * gstddef.h (_ANSI_STDDEF_H): Define, along with _STDDEF_H. * next.h (INCLUDE_DEFAULTS): New macro. * cp-method.c (index, rindex): Delete declarations. (build_overload_value): Cast result of index. * cccp.c (cplusplus_comments): New var. (main): Set it according to options. (rescan, handle_directive, skip_if_group, validate_else): (skip_to_end_of_comment, macarg1, discard_comments): Use cplusplus_comments to enable C++ comment syntax.Wed Oct 14 11:34:58 1992 Chip Salzenberg (chip@tct.com) * libgcc2.c (__gcc_bcmp): Don't depend on signedness of `char'.Wed Oct 14 18:52:28 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu) * sched.c (sched_note_set): Set subreg_p for anything except a paradoxical subreg. * configure (sparc-*-solaris2): Use xm-spc-sol2.h not xm-spcv4.h. * reload.c (find_reloads): Don't let an operand have a numbered constraint that makes it match itself.Wed Oct 14 10:38:31 1992 Tim Moore (moore@defmacro.cs.utah.edu) * pa.md (sCC patterns): Comparison operator should have SImode, not CCmode. (indexed addressing mode patterns): New patterns to use indexed addressing if possible. * pa.c (output_and): Do handle (const_int 0) as an operand; it seems to occur in unoptimized compilation. * pa.h (REGNO_OK_FOR_FP_P): Logic bug. * va-pa.h : When __GNUC__ == 1, don't include the gcc 1 varargs file (va-hp9k8.h). Instead, the definitions are explicitly defined here. This avoids multiple typedefs of va_list. * xm-pa.h (HAVE_VPRINTF) Define in HPUX 8.0. * pa.md (mulsi): Use the hardware multiply instruction, xmpyu, if TARGET_SNAKE. (umulsidi3): New pattern. (reload_insi, reload_outsi, reload_indi, reload_outdi): New patterns. These are needed because SImode and DImode pseudoregs may be allocated (or reloaded) in floating point registers for multiplication. That means that their addresses, which were legitimate for SImode and DImode, aren't valid any more. (movsi, movhi, movqi, movdf, movdi, movsf): Pass null scratch operand to emit_move_sequence. (fp SImode load and store patterns): Move before main movsi pattern. (fp DImode load and store patterns) New patterns. (movhi, movqi patterns): Support moves to/from fp registers. (movdf pattern): Ensure at least one operand is a register. * pa.c (emit_move_sequence): Take reload scratch register argument, deal with reloads of SImode and DImode mems into floating point registers, handle function_label_operand moves. (secondary_reload_class): A scratch register is needed if reloading a function_label_operand address (probably doesn't happen) or an SImode or DImode value into/out of a floating point register. * pa.h (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REG_CLASS_FROM_LETTER): Define a new register class FP_OR_SNAKE_FP_REGS, used only be reload_{in,out}{si,di}. (HARD_REGNO_MODE_OK): Allow all integer modes in Snake floating point registers. QImode and HImode pseudoregs may end up there when using xmpyu. * pa.md (pic symbolic address pattern): New pattern. (movsi, movdi patterns): Remove some * constraints from fp registers. (pic label address pattern): Fix typo. (function_label_operand patterns): New patterns for loading a label address in HPUX 8.0. * pa.c (finalize_pic): No real initialization is necessary for pic. (output_function_prologue): Save r19, the pic offset table register. If profiling, save and restore the structure value return register (r28) around the call to mcount. (hppa_encode_label, function_label_operand): New functions. Record if a label is a code label so it can be treated specially in HPUX 8.0. * pa.h (TARGET_SHARED_LIBS): New flag. Generate code that can be linked with HPUX 8.0 shared libraries. (TARGET_SWITCHES): New flags: -mshared-libs and -mno-shared-libs. (PIC_OFFSET_TABLE_REGNUM): This is really r19. The preliminary docs from HP were wrong. (ASM_DECLARE_FUNCTION_NAME): Specify "ENTRY" param in .EXPORT directive. (ENCODE_SECTION_INFO): Encode function labels. (ASM_OUTPUT_LABELREF): Deal with function labels. (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Don't do anything for now; their only use (saving stuff during profiling) interacts in a wierd way with required assembler directives at the start of a function. Instead, do the save and restore in the function prologue. (hppa_encode_label): Declare. * pa-hpux.h, pa-ghpux.h (TARGET_DEFAULT): Link against shared libraries. (LINK_SPEC): Don't link against shared libraries if debugging or profiling. * pa1-hpux.h, pa1-ghpux,h (TARGET_DEFAULT): Link against shared libraries. Wed Oct 14 10:17:49 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Makefile.in (gcc.xtar): Copy the objc subdir. (mostlyclean): Run the mostlyclean target in the objc subdir. (objc-runtime, libobjc.a, sublibobjc.a): New targets. (objc, objective-c): Dep on objc-runtime. * objc/*: New files.Wed Oct 14 07:17:19 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) * alpha.md (smax, smin): Fix typo in output strings. * a29k.c (const_16_operand, const_24_operand): Fix typo in declaration of MODE. (gpc_reg_or_immediate_operand, and_operand, add_operand): Likwise.Wed Oct 14 00:12:16 1992 Jeffrey A. Law (law@schirf.cs.utah.edu) * pa.h (RTX_COST): Fix spacing typo.Tue Oct 13 21:51:05 1992 Jim Wilson (wilson@sphagnum.cygnus.com) * a29k.md (call, call_value): Don't use call_operand, since checking for recursive calls at this point is not safe.Tue Oct 13 18:52:17 1992 Brendan Kehoe (brendan@rtl.cygnus.com) * cp-type2.c (my_friendly_abort): Tell them to write to bug-g++.Tue Oct 13 18:16:12 1992 Chris Smith (csmith@convex.com) * convex.h (P_tmpdir): define to use /tmp. (RETURN_POPS_ARGS): correct definition to return size. (ASM_IDENTIFY_GCC): output something between gcc2_compiled and first function to keep gcc2_compiled out of assembler stabs. * convex.md (adddi3, ordi3, xordi3): check sign of CONST_INT operands before using as immediates; these insns are word only. (ashrdi3): don't use negative shift counts. * convex*.h (CPP_SPEC): define __NO_INLINE_STDLIB * xm-convex.h: remove temporary workaround from OS 8.0.Tue Oct 13 14:10:15 1992 Jim Wilson (wilson@sphagnum.cygnus.com) * cp-lex.c (check_newline): Verify that main_input_filename is valid before using it.Tue Oct 13 19:08:54 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) * a29k.c: Now includes reload.h. (spec_reg_operand): Validate mode and know that some regs support MODE_PARTIAL_INT and some MODE_INT. (call_operand, reload_memory_operand, a29k_get_reloaded_address) New functions. (in_operand): Allow constants with MODE_PARTIAL_INT. (out_operand): Allow special registers with any mode. Any MEM a word or wider is valid. (extend_operator): Deleted. (secondary_reload_class): A pseudo is the same as memory; we need BP_REGS for multi-word memory or for bytes and halfword if -mndw. (print_operand): Delete %X; add %m. (print_operand, case 'F'): Check for SYMBOL_REF. * a29k.h (PROMOTE_MODE, ADJUST_COST): New macros. (CALL_USED_REGISTERS): LR0 is call-used. (HARD_REGNO_MODE_OK): Handle MODE_PARTIAL_INT and the special registers that can only hold those modes. (MODES_TIEABLE_P): Clean up and handle MODE_PARTIAL_INT modes. (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add new classes LR0_REGS, FC_REGS, and CR_REGS. (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Likewise. (PREDICATE_CODES): Update for new and deleted predicates. * a29k.md: Use GEN_INT when appropriate. (define_attr type): New types for SQRT. (call patterns): Use SCRATCH for LR0. Use new predicate call_operand so that some integers can be used as addresses; fix CALLI so it doesn't accept constant. (EXBYTE, EXTHW, INBYTE, INHW): Use ZERO_EXTEND instead of AND when combine will make it. Use PSImode for BP value and don't reference BP explicitly. Clean up define_expands for these operations. (rotlsi3): Use PSImode pseudo for FC. (sign_extend): Sign extension insns clobber BP. ({load,store}_multiple): Use PSImode pseudo for CR. (MTSR): Add pattern for TRUNCATE from SImode to PSImode. (sqrtsf2, sqrtdf2, movpsi): New patterns. (load/store bytes/halfword): Clean up to accept temporaries as input and use PSImode when required. (movhi, movqi): Allocate temporaries here. (reload_inqi, reload_outqi, reload_inhi, reload_outhi): New patterns. (movdf, movdi, movti): Use SCRATCH for BP register. (reload_{in,out}{df,di,ti}): New patterns.Tue Oct 13 16:52:33 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) * fixinc.svr4 (sys/stream.h, sys/strsubr.h): Delete spurious `extern' in various structure definitions. * rtlanal.c (single_set): Fix typo in REG_UNUSED check. * cse.c (simplify_binary_operation): Insure that folded >> extends the sign even if the host bootstrap compiler doesn't. * final.c (output_asm_insn): Advance over the = when processing %=. * fixincludes (stdio.h): Fix va_list when preceeded by a *.Tue Oct 13 14:52:57 1992 Brendan Kehoe (brendan@mole.gnu.ai.mit.edu) * spc-sol2.h (STARTFILE_SPEC): Add crtbegin.o. (LIB_SPEC): Add crtend.o for running ctors/dtors. * t-sol2 (EXTRA_PARTS): Add crtbegin.o and crtend.o for C++. (FIXINCLUDES): Deleted. * configure (sparc-*-solaris2*): Set fixincludes here.Tue Oct 13 20:15:45 1992 Eric Youngdale (youngdale@v6550d.nrl.navy.mil) * make-cc1.com: Simplify extraction of YYEMPTY from cp-parse.c. Generate c-parse.y, objc-parse.y from c-parse.in if required. Pat Rankin did some of this.Tue Oct 13 14:06:45 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu) * sparc.md (in_branch_delay): Allow fpload and fpstore. * collect2.c (main): Only install a signal handler for signals that already have handlers. (fork_execute): Don't ignore signals before calling do_wait. * i960.md: Change 'f' constraint for dest to '*f' if it is not the only alternative. Add '*f' dest constraints to all patterns where it is valid but was previously missing. * i960.h (OVERRIDE_OPTIONS): Enable function inlining. * i960.c (g14_save_reg): Delete variable. (i960_output_call_insn): Add two new parameters arg_pointer and scratch_reg. Save/set/restore g14 if necessary. (i960_expand_call): Delete function. * i960.md (call, call_value): No longer call i960_expand_call, instead call call_internal/call_value_internal pattern. (call_internal, call_value_internal): Rewrite patterns to pass new args to i960_output_call_insn. * sparc.md (movstrsi+1): Add `+' to constraints for clobbered inputs. * i960.c (i960_output_call_insn): Emit bx instead of b, callx instead of callj. * sparc.c (sparc_frw_output_function_prologue): Frame pointer base must be same as for regular sparc code.Tue Oct 13 06:02:03 1992 Tom Wood (wood@dg-rtp.dg.com) * loop.c (loop_optimize): Verify that max_uid_for_loop is still larger than the uid of any insn. Increase the number of exit blocks from 4 to 32 per loop. (find_and_verify_loops): Stop trying to relocate exit blocks when allocating a new label would exceed max_uid_for_loop.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -