📄 changelog.7
字号:
(PRINT_OPERAND, _ADDRESS): Call convex.c. (EXIT_BODY): Define for libgcc2. Call atexit handler if present. convex.md: Add scheduling info. (movxx): One of the operands must be a register. (movdf, movdi): Add anonymous patterns that can load an arbitrary const_double by doing two immediate loads. This is not superior to loading it from memory, and can be worse, so LEGITIMATE_CONSTANT_P still rejects these constants, but the patterns are still useful so rtx folding can produce arbitrary results. (floatunsdidf, floatunsdisf): Add patterns that avoid double rounding. (floatunssidf, floatunssisf): Add patterns that mimic gcc's default method, to keep SI cvts from promoting to the above DI cvts. (fix_truncdfsi2): Use cvtd.l even if cvtd.w is available -- on c34 cvtd.w is microcoded and slower. (addqi3, subqi3, mulqi3): can do immediate with word insn. (subsi3): use sub/neg to get reverse subtract (reduces reg shuffling). (udivsi3): give up on having sign_expand_binop do this; people keep breaking it. Manually extend unsigned SI to signed DI, then divide. (xshfxx3): The options rank differently on different machines, so spell them all out and enable the appropriate ones under TARGET_Cxx. (sqrtxx2): Put under flag_fast_math. (sinxx2, cosxx2): I don't know why these exist, but they do, so supply them. The other microcoded intrinsics are in convex math.h. (txtxx): Remove, no longer necessary. (cmpdi): Add alternative to fake "eq.l #0,sk" with "neg.l sk,scratch". (cmpqi): Omit, seems to produce marginally better cse than the old way. (cmpsf): Avoid compare against 0.0 in ieee mode, since -0.0 is possible and would confuse old ucode. (movstrsi): Add. (anon): Add patterns to pick up on dbra optimizations and implement the sub/test part. (This optimizes out the compare against 0.) (call, call_value): Use _pop form instead, and let convex.c replace the pushes with fp stores. (end): Put local variable list back. convex.c (init_convex): New. Fill in tables used by convex.h. (psw_disable_float): New. Turn off float exception enables to make the environment more ieee-like. (set_cmp): Change name to output_cmp. (gen_cmp): Change name to output_condjmp. Add handling for `neg.x' as a fake `eq.x #0' and for optimized-out compares that read the carry of a preceding decrement. (simplify_for_convex): New. Replace addr-(-const) with addr+const so /bin/as will like the notation. (expand_movstr): New. Generate pipelined load/store sequence. (asm_declare_function_name): New. Output arg count for debuggers. (print_operand): Moved from convex.h. Add %u and %v to fetch subwords of a CONST_DOUBLE, %z to use in replacing shift by mul. (print_operand_address): Moved from convex.h. (outfloat): New, call REAL_VALUE_TO_DECIMAL. (replace_arg_pushes): New. Replace sp by fp if possible; this does not allow us to get rid of sp but stores are faster than pushes on new machines. (emit_ap_optimizations): New. Do simple live analysis of arg pointer register and eliminate dead reloads. math-convex.h: removed. fixinc.convex: new file.Thu May 6 22:54:43 1993 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu) * config/we32k/we32k.h (ASM_OUTPUT_ASCII): Cast PTR to unsigned char *. * config/clipper/clix.h (ASM_OUTPUT_ASCII): Likewise.Thu May 6 20:20:41 1993 Brendan Kehoe (brendan@lisa.cygnus.com) * cp-decl.c (build_enumerator): Strip any no-op casts off the value before we try to do anything with it. * cp-call.c (convert_harshness): Take volatility, in addition to constness, into account when figuring out the penalty for the type under question. * cp-decl.c (grokdeclarator): Undo unneeded change of Apr 6 when we returned the type of the local typedef, instead of the typedef itself.Thu May 6 19:21:34 1993 Doug Evans (dje@canuck.cygnus.com) * reload1.c (eliminate_regs, case {PRE,POST}_{INC,DEC}): Account for PUSH_ROUNDING.Thu May 6 18:17:19 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * config/i386/sequent.h (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Override the usual definitions. * objc/hash.h, objc/objc.h, objc/runtime.h, objc/sarray.h: Use gstddef.h, with doublequotes.Thu May 6 15:58:18 1993 Ian Lance Taylor (ian@cygnus.com) * fixincludes: More fixes for IRIX 4.0.1. Rather than replacing [^A-Z]CTRL, replace [^A-Z_]CTRL and [^A-Z]_CTRL. Also patch "//" in elf_abi.h which the sed script breaks.Thu May 6 13:58:39 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu) * clix.h: Include "clipper/clipper.h" instead of "clipper.h". * config.sub (os): Add -clix*. * configure (clipper-intergraph-clix): Add clipper/ filename prefixes. * c-typeck.c (pointer_diff): Error if op1 is pointer to incomplete type. * fixinc.svr4 (sys/varargs.h): Replace.Thu May 6 11:58:28 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * reload1.c (forget_old_reloads_1): Accept and ignore 2nd arg. (reload_as_needed): Pass that second arg. * c-parse.in: For Objc, expect just 20 conflicts. * objc-act.c (OBJC_GEN_METHOD_LABEL): Do use CAT_NAME. * config/i386/i386.md (extendsidi2): Use cdq or cltd, not cwtl. * configure (i[34]86-*-bsd): Don't use collect2. * c-typeck.c (convert_for_assignment): Don't use convert_and_check when handling arithmetic types here. * c-common.c (truthvalue_conversion): Turn off Apr 29 change.Thu May 6 05:44:23 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) * reload.c (find_equiv_reg): Don't look inside a CONST_DOUBLE; use operand_subword instead. * varasm.c (record_constant): Properly make the header of a struct constant_descriptor. * function.c (walk_fixup_memory_subreg): Add new arg UNCRITICAL. (fixup_var_refs_insn): Call with UNCRITICAL of 1 when processing REG_NOTES. * integrate.c (expand_inline_function): Don't call convert_to_mode unless we need to; some converstions of VOIDmode objects can mess them up. * expmed.c (store_split_bit_field): Properly handle VALUE when it is a CONST_DOUBLE. * fold-const.c (decode_field_reference): Don't do anything for non-integral fields. * cse.c (simplify_binary_operation, simplify_relational_operation): Check for MODE_CC modes, not just CCmode.Thu May 6 00:54:40 1993 Kresten Krab Thorup (krab@iesd.auc.dk) * objc/class.c, objc/hash.c: Change calloc to __objc_xcalloc. * objc/objects.c (class_create_instance): bzero new instances * objc/sendmsg.c (__objc_send_initialize, class_add_method_list): Allow multiple +initialize methods per class.Wed May 5 21:40:04 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * config/i386/sequent.h (LINK_LIBGCC_SPECIAL): #if 0. * toplev.c (main): Improve error message in previous change.Wed May 5 19:36:15 1993 Jeffrey A. Law (law@snake.cs.utah.edu) * combine.c (combinable_i3pat): Do not make REG_DEAD notes for the stack pointer, frame pointer, or arg pointer.Wed May 5 17:57:30 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * config/i386/sequent.h (LINK_LIBGCC_SPECIAL): Defined.Wed May 5 00:01:57 PDT 1993 Ron Guilmette (segfault!rfg@netcom.com) * expr.h: Fix comment typos. emit_block_move decl was hidden. * toplev.c (main): If C++ for Dwarf requested, warn and turn it off.Wed May 5 21:48:24 1993 Kresten Krab Thorup (krab@iesd.auc.dk) * objc-act.c (check_methods_accessible): Handle interface types. Wed May 5 14:37:42 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) * fold-const.c: (optimize_bit_field_compare): Add missing arg to const_binop. * reg-stack.c (record_asm_reg_life): Don't abort for asm that doesn't match its constraints. * combine.c (num_sign_bit_copies, case SUBREG): Properly compute the number of sign bit copies of SUBREGs of promoted objects. * optabs.c (add_equal_note, expand_binop, expand_unop): Make copy of operands for REG_EQUAL note to avoid sharing RTL if called later than RTL generation. (emit_libcall_block, expand_fix): Likewise. * expr.c (convert_move): Likewise, though probably not called after RTL generation.Wed May 5 14:11:12 1993 Ian Lance Taylor (ian@cygnus.com) * fixincludes: Only quote argument to _IO[A-Z]*, not first item in parentheses. Added patches for IRIX 4.0.1 header files to undo some inappropriate changes.Wed May 5 11:34:59 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * toplev.c (flag_defer_pop): Initialize to 0. (main): Set it to 1 if optimizing.Wed May 5 06:38:47 1993 Tom Wood (wood@hal.gnu.ai.mit.edu) * configure (i[34]86-next-*, m68k-next-*): collect2 isn't needed.Tue May 4 14:21:11 1993 Kresten Krab Thorup (krab@xiv.iesd.auc.dk) * objc/objc.h, objc/runtime.h: Remove inclusion of memory.h * objc/objc.h, objc/hash.h, objc/runtime.h: Remove inclusion of gstddef.h * objc/Makefile (OBJC_H): Add typedstream.h * objc/Object.h: Add includes objc/objc.h and objc/typedstreams.h objc/Object.h: Removed `minimal' definitions. Includes objc.h instead. * objc/archive.c: Add include "typedstream.h" * objc/typedstream.h: New file. Contents moved from objc/objc-api.h. * objc/objc.h (IvarList, Ivar, SymTab, Module, Method, Category, Super, objc_method_description, objc_protocol_list): Data definitions moved to objc/objc-api.h * objc/archive.c: Change malloc into __objc_xmalloc * objc/objc.h, objc/sendmsg.c: Remove any code for hash lookup * objc/cache.h: File removed * objc/objc-api.h (class_create_instance, object_copy, object_dispose): Definitions moved to objc/objects.c * objc/objc.h: Remove declarations for library functions. * objc/Object.m (-conformsTo:): Bugfix: Also ask superclasses.Tue May 4 23:46:37 1993 Brendan Kehoe (brendan@lisa.cygnus.com) * cp-decl.c (start_decl): Give an error, not a sorry, when they try to declare a template on a VAR_DECL or a TYPE_DECL. * cp-type2.c (process_init_constructor): If we have a VAR_DECL that's static in the class, don't try to use it when we're working on an initializer-list; it has no business being there. * cp-cvt.c (convert_pointer_to): Only call get_base_distance et al. on RECORD_TYPEs, not on UNION_TYPEs. * cp-decl.c (grokdeclarator): Don't try to divine the name of the incomplete type for a field decl.Tue May 4 19:55:29 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu) * combine.c (distribute_notes, REG_DEAD case): Handle hard registers which partially overlap the destination of the insn.Tue May 4 17:59:10 1993 Jeffrey A. Law (law@snake.cs.utah.edu) * pa.md (casesi0): Remove incorrect fix from April 23. * pa.h (CASE_DROPS_THROUGH): Define.Tue May 4 13:22:21 1993 John Hassey (hassey@dg-rtp.dg.com) * t-dgux: Fixed name of link script.Tue May 4 11:15:40 1993 Steve Chamberlain (sac@wookumz.gnu.ai.mit.edu) * sh.md (arith patterns): Rework constraints. * sh.h (ASM_OUTPUT_CASE_LABEL): Ensure jump table is aligned. * sh.c (arith_reg_operand): New constraint. (dump_constants): Force out a constant table if necessary.Mon May 3 20:41:00 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * tree.c (build_array_type): The main variant of an array type should always be an array whose element type is the main variant.Mon May 3 19:27:04 1993 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu) * lite.h (CPP_PREDEFINES): Delete -Dsun and -Dunix. * combine.c (make_extraction): Move BYTES_BIG_ENDIAN != BITS_BIG_ENDIAN offset correction after the offset calculation. * elxsi.h, mips.h (BITS_BIG_ENDIAN): Define to zero. * c-decl.c (grokdeclarator, ARRAY_REF case): Build array type, and then build the variant array type. * sparc.md (floatsitf2): Output fitoq not fitox. * i960.md (scc pattterns): Add missing mode to conditional operators. * i960.c (output_function_profiler): Add missing newlines in strings. * c-common.c (truthvalue_conversion): Don't optimize subtract of reals when target uses IEEE arithmetic. * c-parse.in: Delete cond.awk reference. * cond.awk: Delete file.Mon May 3 16:58:55 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * c-typeck.c (digest_init): Check size properly for wide-string. * Makefile.in (TEXI2DVI): New variable. (cpp.dvi, gcc.dvi): Use it.Mon May 3 16:29:38 1993 Brendan Kehoe (brendan@lisa.cygnus.com) * cp-search.c (lookup_nested_field): Pass complain down as the value for lookup_field's `protect' argument. This will help avoid incorrect visibility errors when we're parsing things.Mon May 3 21:02:22 1993 H.J. Lu (hlu@yardbird.eecs.wsu.edu) * config/i386/linux.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT): Remove PIC stuff. We wait for the ELF support in gas and binutils. (LINK_SPEC): Defined for -v.Mon May 3 06:41:56 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * objc/Makefile (copy-headers): Put `-' on mkdir command.Sun May 2 09:28:43 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * cccp.c (macroexpand): Treat `foo ( )' as 0 args if foo wants 0 args.Sun May 2 07:37:45 1993 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) * reload1.c (eliminate_regs, case SUBREG): Leave the SUBREG when the inner object is a pseudo on machines that extend byte loads (to be consistent with reload.c). * reload.c (push_reload): Allow non-paradoxical SUBREGs of MEM on machines that extend byte loads. Sun May 2 08:57:33 1993 Michael Meissner (meissner@osf.org) * real.c (EDOM, ERANGE): Do not define since errno.h was previously included.Sun May 2 08:28:15 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * cse.c (re
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -