X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=d5cc7974308fd350ec9d8f51552d4c70d3412b92;hb=ddae5ef5a01545bc58324a35ec1f1390e0ec5ce8;hp=97dea44cce24cb42f282d1fc595a2c1c2936395c;hpb=f708f8fd7b3f028eb8bd3ea06048a94a8ae6d9b3;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 97dea44cce2..d5cc7974308 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,292 @@ +Tue Aug 25 12:23:20 PDT 1998 Richard Henderson + + * reload.c (operands_match_p): Handle rtvecs. + + * i386.c (legitimate_pic_address_disp_p): New. + (legitimate_address_p): Use it. + (legitimize_pic_address): Use unspecs to represent @GOT and @GOTOFF. + Handle constant pool symbols just like statics. + (emit_pic_move): Use Pmode not SImode for clarity. + (output_pic_addr_const) [SYMBOL_REF]: Remove @GOT and @GOTOFF hacks. + [UNSPEC]: New, handling what we killed above. + [PLUS]: Detect and abort on invalid symbol arithmetic. + * i386.h (CONSTANT_ADDRESS_P): Remove HIGH. + +Tue Aug 25 12:02:23 1998 Mark Mitchell + + * alias.c: Include output.h. + (DIFFERENT_ALIAS_SETS_P): Don't treat alias sets as + different if we're in a varargs function. + * Makefile.in (alias.o): Depend on output.h + +Tue Aug 25 19:20:12 1998 J"orn Rennecke + + * sh.h (GIV_SORT_CRITERION): Delete. + +Tue Aug 25 13:19:46 1998 Dave Brolley + + * regclass.c (regclass): Use xmalloc/free instead of alloca. + * stupid.c (stupid_life_analysis): Ditto. + * reload1.c (reload): Ditto. + +Tue Aug 25 05:48:18 1998 Jakub Jelinek + + * config/sparc/sparc.c (arith_4096_operand, arith_add_operand, + arith_double_4096_operand, arith_double_add_operand): New + predicates. + * config/sparc/sparc.h (PREDICATE_CODES): Add them, declare them. + * config/sparc/sparc.md (adddi3, addsi3, subdi3, subsi3): Use + them to transform add/sub 4096 into add/sub -4096. + +Mon Aug 24 23:31:03 1998 David S. Miller + + * loop.c (scan_loop): Allocate some slop to handle pseudos + generated by move_movables. + (load_mems_and_recount_loop_regs_set): Honor AVOID_CC_MODE_COPIES + here too. + +Mon Aug 24 19:45:40 1998 Jim Wilson + + * tree.def (DECL_RESULT): Correct documentation. + +Tue Aug 25 01:15:27 1998 J"orn Rennecke + + * reload1.c (reload_reg_free_before_p): New argument EQUIV; Changed + all callers. Abort for RELOAD_FOR_INSN. RELOAD_FOR_OUTADDR_ADDR: + conflicts will all RELOAD_FOR_OUTPUT reloads. + + * reload1.c (reload_cse_regs_1): When deleting a no-op move that + loads the function result, substitute with a USE. + +Mon Aug 24 15:20:19 1998 David Edelsohn + + * rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Use TARGET_POWERPC64 + when testing LEGITIMATE_INDEXED_ADDRESS_P DFmode and DImode. + (LEGITIMIZE_ADDRESS): Use TARGET_POWERPC64 for INDEXED fixup. + * rs6000.c (print_operand, case 'L'): Add UNITS_PER_WORD, not 4. + (print_operand, cases 'O' and 'T'): Fix typos in lossage strings. + * rs6000.md (fix_truncdfsi2_store): Remove %w from non-CONST_INT + operand. + (movdf_softfloat32, movdf_hardfloat64, movdf_softfloat64): Change + 'o' to 'm' for GPR variant constraints. + +Mon Aug 24 10:25:46 1998 Jeffrey A Law (law@cygnus.com) + + * loop.c (scan_loop): Honor AVOID_CC_MODE_COPIES. + + * h8300.h (STRIP_NAME_ENCODING): Fix typo. + + * sparc.md (TFmode splits): Use reg_overlap_mentioned_p to detect + when the source and destination overlap. + + * stmt.c (emit_case_nodes): Change rtx_function to rtx_fn to avoid + clash with global type. + +Mon Aug 24 00:53:53 1998 Jason Merrill + + * fixinc.irix: Add curses.h handling from fixinc.wrap. + +Fri Aug 14 14:12:59 1998 Jason Merrill + + * c-common.c (combine_strings): Also set TREE_READONLY. + Change warn_write_strings to flag_const_strings. + * c-decl.c, c-tree.h: Likewise. + +Sun Aug 23 18:39:11 1998 David S. Miller + + * config/sparc/sparc.c (sparc_emit_set_const32): If outputting a + CONST_INT, not a symbolic reference, don't use a HIGH/LO_SUM + sequence, use SET/IOR instead so CSE can see it. + * config/sparc/sparc.md (movhi_const64_special, + movsi_const64_special): New patterns necessitated by that change. + (movhi_high): Remove. + (movhi_lo_sum): Change to match an IOR. + (movdf_insn_sp32): Test TARGET_V9 not TARGET_ARCH64. + (movdf_insn_v9only): New pattern for when V9 but not ARCH64. + (movdf_insn_sp64): Test both TARGET_V9 and TARGET_ARCH64. + (movdf splits): Allow when not V9 or when not ARCH64 and integer + registers are involved. + (snesi_zero_extend split): Remove reload_completed test. + (unnamed plus and minus zero_extend sidi splits): Add it. + +Sun Aug 23 11:56:08 1998 Mark Mitchell + + * extend.texi: Remove description of extension to explicit + instantiation that is now endorsed by standard C++. + +Sun Aug 23 09:39:09 1998 David S. Miller + + * config/arc/arc.c (arc_initialize_pic): Remove. + * config/arc/arc.h (INITIALIZE_PIC): Similarly, this routine does + nothing on any platform and is invoked by no-one, it does not even + appear in the documentation. + * config/sparc/sparc.h (INITIALIZE_PIC): Likewise. + * config/sparc/sparc.c (initialize_pic): Likewise. + (find_addr_reg): Remove this as well, no longer referenced after + my rewrite. + +Sun Aug 23 00:17:14 1998 Jeffrey A Law (law@cygnus.com) + + * recog.c (validate_replace_rtx_group): New function. + * recog.h (validate_replace_rtx_group): Declare it. + * regmove.c (optimize_reg_copy_3): If any substitution fails, then undo + the entire group of substitutions. + +Sat Aug 22 23:31:00 1998 Klaus-Georg Adams (Klaus-Georg.Adams@chemie.uni-karlsruhe.de) + + * loop.c (load_mems): Fix initializers. + +Fri Aug 21 23:07:46 1998 David S. Miller + + * config/sparc/sparc.md (TFmode splits): Handle destination + registers being referenced in the address correctly. + + * expmed.c (make_tree) [CONST_INT]: Sign extend even if + TREE_UNSIGNED, when bitsize of type's mode is larger than + HOST_BITS_PER_WIDE_INT. + +Fri Aug 21 19:31:31 1998 Alexandre Petit-Bianco + + * tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR): New tree nodes. + * tree.h (LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY, + EXIT_BLOCK_LABELED_BLOCK, EXIT_BLOCK_RETURN, LOOP_EXPR_BODY): New + macros. + * expr.c (expand_expr): Handle LABELED_BLOCK_EXPR and + EXIT_BLOCK_EXPR. + +Thu Aug 20 19:43:44 1998 Jeffrey A Law (law@cygnus.com) + + * h8300.c (h8300_encode_label): Use '&' for tiny data items. + * h8300.h (TINY_DATA_NAME_P): Likewise. + (STRIP_NAME_ENCODING): Handle '&'. + + * mn10200.h (REG_OK_FOR_INDEX_P): Do not check the mode of the + register (it could be accessed via an outer SUBREG). + (REG_OK_FOR_BASE_P): Likewwise. + (GO_IF_LEGITIMATE_ADDRESS): Consistently use REGNO_OK_FOR_BASE_P. + + * remove.c (optimize_reg_copy_3): Abort instead of silently generating + bogus rtl. + + * jump.c (rtx_renumbered_equal_p): Do not consider PLUS commutative. + +Thu Aug 20 17:35:20 1998 David S. Miller + + * config/sparc/sparc.md (movtf_insn_sp32): All memory operands + must be offsettable so the splits can be made. + +Thu Aug 20 13:56:53 1998 Michael Meissner + + * config/i386/winnt.c: Include system.h, not stdio.h to get + sys/param.h pulled in before rtl.h in case the system defines MIN + and MAX. + +Thu Aug 20 13:44:20 1998 David Edelsohn + + * rs6000.md (movqi, movhi): Add CONSTANT_P_RTX. + +Thu Aug 20 13:15:11 1998 Dave Brolley + + * stor-layout.c (layout_type): Compute TYPE_SIZE_UNIT correctly for + arrays of bits. + * cpplib.c (cpp_define): Handle macros with parameters. + +Wed Aug 19 21:33:19 1998 David Edelsohn + + * rs6000.c (rs6000_output_load_toc_table): Use ld for 64-bit. + (output_toc): Use single TOC slot or llong minimal-toc for DFmode + and DImode 64-bit. Use llong for minimal-toc SFmode and + SYMBOL_REF / LABEL_REF 64-bit. + (output_function_profiler): Use llong for profiler label and ld to + load 64-bit label address. + +Wed Aug 19 17:52:27 1998 Nick Clifton (nickc@cygnus.com) + + * config/arm/thumb.md (extendqisi2_insn): Cope with REG + + OFFSET addressing. + +Wed Aug 19 14:13:31 PDT 1998 Jeff Law (law@cygnus.com) + + * version.c: Bump for snapshot. + +Wed Aug 19 13:10:30 PDT 1998 Jeff Law (law@cygnus.com) + + * version.c: Bump for snapshot. + +Wed Aug 19 13:06:47 1998 Jason Merrill + + * collect2.c (extract_init_priority): Use atoi instead of strtoul. + +Wed Aug 19 13:51:35 1998 Hans-Peter Nilsson + + * tm.texi (Misc): Fix typo "teh". + + * tm.texi (PIC): Fix typo "PPIC". + + * tm.texi (Caller Saves): Say that DEFAULT_CALLER_SAVES has no + effect when -O2 and higher. + * invoke.texi (Optimize Options): Likewise for -fcaller-saves. + +1998-08-19 Michael Hayes + + * regclass.c: Changed register set documentation to be consistent + with GCC behaviour. + + * final.c (final_start_function) Removed redundant test for + call_fixed_regs. + +Wed Aug 19 13:28:41 1998 Mark Mitchell + + * rtl.h (rtx_function): New type. + (for_each_rtx): New function. + * rtlanal.c (for_each_rtx): Define it. + + * recog.c (change_t): New type. + (change_objects, change_old_codes, change_locs, change_olds): + Replace with ... + (changes): New variable. + (validate_change): Dynamically allocate room for more changes, if + necessary. Uses changes array instead of change_objects, etc. + (apply_change_group): Use changes array instead of + change_objects, etc. + + * loop.c (loop_mem_info): New type. + (loop_mems): New variable. + (loop_mems_idx): Likewise. + (looop_mems_allocated): Likewise. + (scan_loop): Remove nregs parameter. + (next_insn_in_loop): New function. + (load_mems_and_recount_loop_regs_set): Likewise. + (load_mems): Likewise. + (insert_loop_mem): Likewise. + (replace_loop_mem): Likewise. + (replace_label): Likewise. + (INSN_IN_RANGE_P): New macro. + (loop_optimize): Don't pass max_reg_num() to scan_loop. + (scan_loop): Remove nregs parameter, compute it after any new + registers are created by load_mems. Use INSN_IN_RANGE_P and + next_insn_in_loop rather than expanding them inline. Call + load_mems to load memory into pseudos, if appropriate. + (prescan_loop): Figure out whether or not there are jumps from the + loop to targets other than the label immediately following the + loop. Call insert_loop_mem to notice all the MEMs used in the + loop, if it could be safe to pull MEMs into REGs for the duration + of the loop. + (strength_reduce): Use next_insn_in_loop. Tweak comments. + +Wed Aug 19 08:29:44 1998 Richard Earnshaw (rearnsha@arm.com) + + * arm.c (arm_override_options): Remove lie about ignoring PIC flag. + +Wed Aug 19 07:08:15 1998 David S. Miller + + * config/sparc/sparc.c (finalize_pic): Check for the correct + nonlocal_goto_receiver UNSPEC number. + * config/sparc/sparc.md (nonlocal_goto_receiver): Add comment + making note of this dependency existing in sparc.c + (negtf2_notv9 split): Give NEG SFmode. + (negsf2): Fix insn output string. + Tue Aug 18 12:40:27 1998 Richard Henderson * c-common.c (decl_attributes): Issue an error if the argument @@ -5,6 +294,13 @@ Tue Aug 18 12:40:27 1998 Richard Henderson Tue Aug 18 10:33:30 1998 Jeffrey A Law (law@cygnus.com) + * haifa-sched.c (sched_analyze): Put all JUMP_INSNs on the last + pending memory flush list. + + * combine.c (can_combine_p): Allow combining insns with REG_RETVAL + notes. + (try_combine): Allow combining insns with REG_LIBCALL notes. + * expr.c (emit_block_move): Do not call memcpy as a libcall instead build up a CALL_EXPR and call it like any other function.