X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=0a74c9a302a254f853e50ea81b11b5d1bdf0714e;hb=1515f92ff456e0479c0f4358519f0f1af5aae3d3;hp=d28c7eef98e94b7da90990b0ab4e7dbf3cc6cd59;hpb=342f389720577eaa20f8e059bb40b2ef399abc83;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d28c7eef98e..0a74c9a302a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,241 @@ +2001-01-03 Kaveh R. Ghazi + + * builtins.c (expand_builtin_strncmp): Use host_integerp and + tree_low_cst. Allow using cmpstrsi in more cases. + +Wed Jan 3 10:48:43 2001 Richard Kenner + + * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable + sized types. + +Wed Jan 3 12:22:32 2001 Alexandre Oliva + + * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'. + * Makefile.in (HOST_CFLAGS): Mention build-make. + +Wed Jan 3 08:53:50 2001 Richard Kenner + + * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore + as JUMP_INSN. + +2001-01-01 Bernd Schmidt + + * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on + a REG rtx. + + * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg. All + callers changed. + + * alias.c (throughout): Use ORIGINAL_REGNO when accessing + reg_base_value and reg_known_value arrays. + (init_alias_analysis): Add more cases to detect known values. + * sched-deps.c (deps_may_trap_p): New function. + (sched_analyze_2): Use it. + +2001-01-03 Alexandre Oliva + + * combine.c (simplify_shift_const): Even if we're sign-extracting, + don't discard an ASHIFTRT if we're shifting in a wider mode. + +2000-01-02 John David Anglin + + * toplev.c (rest_of_compilation): Don't print basic block information + when CFG isn't up to date. + +2001-01-02 Mark Elbrecht + + * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define. + (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define. + (UNALIGNED_SHORT_ASM_OP): Define. + (CPP_PREDEFINES): Remove defines for GO32 and DJGPP. + +2001-01-02 Mark Mitchell + + * fold-const.c (fold_convert): Fix typo. + +2001-01-02 Richard Henderson + + * c-common.h (ASM_INPUT_P): New. + * c-parse.in (asm): Set it when needed. + * c-semantics.c (genrtl_asm_stmt): Test it instead of the + existance of an operand. + +Tue Jan 2 20:27:07 MET 2001 Jan Hubicka + + * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY. + (dwarf2out_frame_debug_expr): Likewise. + (mem_loc_descriptor): Handle PRE and POST_MODIFY. + +Tue Jan 2 20:21:31 MET 2001 Jan Hubicka + + * i386.c (ix86_split_to_parts): Return number of part required; + handle TFmodes. + (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle + TFmodes. + (ix86_split_long_move): Use number of part returned + by ix86_split_to_parts + * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE): + New macros. + (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double + (LONG_DOUBLE_TYPE_SIZE): Change from constant. + (MAX_LONG_DOUBLE_TYPE_SIZE): New macro. + (INTEL_EXTENDED_IEEE_FORMAT): Likewise. + (ALIGN_MODE_128): Add TFmode. + (IS_STACK_MODE): Likewise. + (HARD_REGNO_NREGS): TFmode needs 3 registers. + (HARD_REGNO_OK): Support TFmodes. + (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes. + * i386.md (scheduler definitions): Use memory operand to determine + fst/fld instructions; use mode attribute to determine real mode of + the instruction. + (*tf): New patterns, expanders and splitters; based on XFmode patterns. + * invoke.texi (128bit-long-double, 96bit-long-double): Document. + +2001-01-02 Mark Mitchell + + * tree.def (TRUTH_NOT_EXPR): Improve documentation. + +Tue Jan 2 10:47:38 2001 Richard Kenner + + * config/mips/mips.c (function_arg): Don't pass NULL_TREE to + host_integerp. + +2001-01-02 Jeffrey Oldham + + * tm.texi (FUNCTION_ARG): Document that @var{type} can be an + incomplete type. + +Tue Jan 2 10:47:38 2001 Richard Kenner + + * tsystem.h: Define HAVE_DECL_GETOPT. + +2001-01-02 Philip Blundell + + * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber + of input operand. + +2001-01-02 Richard Henderson + + * alpha.md (*ze_and_ne): Duplicate insn condition to split. + +2001-01-02 Andreas Jaeger + + * c-decl.c (c_decode_option): Remove support of + -Wmissing-noreturn. + + * toplev.c (documented_lang_options): Remove -Wmissing-noreturn. + (W_options): Add -Wmissing-noreturn here. + + * flow.c: Define lang_missing_noreturn_ok_p. + (check_function_return_warnings): Use it. + + * c-common.h: Declare lang_missing_noreturn_ok_p. + + * c-lang.c (c_missing_noreturn_ok_p): New function. + (lang_init): Set lang_missing_noreturn_ok_p. + + * invoke.texi (Warning Options): Document this. + +2000-12-27 Phil Edwards + + * extend.texi (C++ Extensions): New node for C++ attributes; + describe init_priority and com_interface. + * invoke.texi: Remove -finit-priority as it now has zero effect. + * install.texi: Fix xref syntax. + * md.texi: Likewise. + +Mon Jan 1 21:28:29 2001 Richard Kenner + + * config.gcc (sparc64-wrs-vxworks*): New case. + * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files. + + * config/sparc/sparc.c (sparc_override_options): Do support different + pointer and architecture size. + * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4. + (POINTERS_EXTEND_UNSIGNED): Define. + (Pmode): Test TARGET_ARCH64, not TARGET_PTR64. + (FUNCTION_MODE): Define to be Pmode. + * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI. + + * function.c (expand_function_end): Properly handle DECL_RESULT + and copy when ptr_mode != Pmode. + * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed. + +2001-01-01 Kaveh R. Ghazi + + * c-common.c (c_common_nodes_and_builtins): Set prototype + parameters for __builtin_fputs, __builtin_fputc and + __builtin_fwrite. Don't declare plain fputc as a builtin. + +2001-01-01 John David Anglin + + * loop.c (add_label_notes): Increment the label usage count when + a note is added to an insn which refers to a CODE_LABEL. + * gcse.c (add_label_notes): Likewise. + +2001-01-01 Andreas Jaeger + + * loop.c (scan_loop): Use xmalloc to allocate movables. + +2001-01-01 Alexandre Oliva + + * tm.texi (REGISTER_MOVE_COST): Add a mode argument. + * reload.c (REGISTER_MOVE_COST): Likewise. Adjust all callers. + * reload1.c (REGISTER_MOVE_COST): Likewise. + * regclass.c (REGISTER_MOVE_COST): Likewise. + (move_cost, may_move_in_cost, may_move_out_cost): Add mode + dimension. Adjust all users. + (init_reg_sets_1): Iterate on all modes. + * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust. + * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust. + * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust. + * config/arc/arc.h (REGISTER_MOVE_COST): Adjust. + * config/arm/arm.h (REGISTER_MOVE_COST): Adjust. + * config/avr/avr.h (REGISTER_MOVE_COST): Adjust. + * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust. + * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust. + * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust. + * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust. + * config/i386/i386.h (REGISTER_MOVE_COST): Adjust. + * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust. + * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust. + * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust. + * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust. + * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust. + * config/mips/mips.h (REGISTER_MOVE_COST): Adjust. + * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust. + * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust. + * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust. + * config/pa/pa.h (REGISTER_MOVE_COST): Adjust. + * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust. + * config/pj/pj.h (REGISTER_MOVE_COST): Adjust. + * config/romp/romp.h (REGISTER_MOVE_COST): Adjust. + * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust. + * config/sh/sh.h (REGISTER_MOVE_COST): Adjust. + * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust. + +2001-01-01 Bernd Schmidt + + * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of + arg VARIES_P. Call it with extra arg. + (true_dependence): Likewise. + * rtl.h (rtx_addr_can_trap_p): Declare. + (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update + prototypes. + * rtlanal.c (rtx_addr_can_trap_p): No longer static. + (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow + pic offset table register if it's zero. All callers changed. + (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed. + Mon Jan 1 07:38:33 2001 Richard Kenner * explow.c (convert_memory_address, case SYMBOL_REF): Copy @@ -22,13 +260,13 @@ Mon Jan 1 07:38:33 2001 Richard Kenner * unroll.c (copy_loop_body, loop_iterations): Likewise. (remap_split_bivs): Likewise. -2001-01-01 Michael Hayes +2001-01-01 Michael Hayes * loop.c (loop_ivs_free): New function. (strength_reduce): Break out from... 2001-01-01 Michael Hayes - + * loop.h (struct iv): New. (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'. (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info', @@ -48,7 +286,7 @@ Mon Jan 1 07:38:33 2001 Richard Kenner * loop.h (REG_IV_CLASS): New accessor macro. * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array. * unroll.c (REG_IV_CLASS): Likewise. - + Sun Dec 31 19:20:51 2000 Richard Kenner * dwarf2out.c (loc_descriptor_from_tree, case WITH_RECORD_EXPR): New. @@ -61,14 +299,14 @@ Sun Dec 31 19:20:51 2000 Richard Kenner (prescan_loop): Set pre_header_has_call in loop_info. * loop.h (struct_iv_class): Add `final_value' and `all_reduced'. (struct loop_info): Add `pre_header_has_call'. - + * loop.c (loop_bivs_find): Break out from strength_reduce. (loop_bivs_init_find, loop_bivs_check, loop_givs_find): Likewise. (loop_givs_check, loop_biv_eliminable_p): Likewise. - + * loop.c (LOOP_REG_LIFETIME, LOOP_REG_GLOBAL_P): Define. (scan_loop, record_giv): Use LOOP_REG_LIFETIME and LOOP_REG_GLOBAL_P. - + * loop.h (REGNO_FIRST_LUID, REGNO_LAST_LUID): Define. * loop.c (REGNO_FIRST_LUID, REGNO_LAST_LUID): Use in place of direct access to uid_luid array. @@ -107,7 +345,7 @@ Sun Dec 31 19:20:51 2000 Richard Kenner 2000-12-30 Philip Blundell - * config/arm/arm.c (arm_expand_prologue): Fix typos in error + * config/arm/arm.c (arm_expand_prologue): Fix typos in error message and comment. Note location of testcase for an unhandled situation. @@ -145,7 +383,7 @@ Sun Dec 31 19:20:51 2000 Richard Kenner * stmt.c (expand_decl): Don't use assign_stack_temp in error case. (add_case_node): No need to copy nodes anymore. - + 2000-12-30 Alexandre Oliva * config/sh/sh.c (split_branches): Don't dereference re-computed @@ -300,7 +538,7 @@ Sun Dec 31 19:20:51 2000 Richard Kenner * calls.c (store_one_arg): If parm is passed both in stack and in register and offset is greater than reg_parm_stack_space, split - the offset and call emit_push_insn(). + the offset and call emit_push_insn(). 2000-12-27 Nick Clifton @@ -326,7 +564,7 @@ Sun Dec 31 19:20:51 2000 Richard Kenner between conditionally executed insns. (sched_analyze_1, sched_analyze_2, sched_analyze_insn): Don't free dependency lists if current insn is a COND_EXEC. - + 2000-12-27 Geoffrey Keating * config/rs6000/rs6000.md (define_attr "length"): Correct @@ -387,7 +625,7 @@ Sun Dec 31 19:20:51 2000 Richard Kenner (arm_expand_prologue): If the link register has not been saved set lr_save_eliminated and emit a USE to prevent later passes from scavenging it. - + * dwarf2out_frame_debug_expr: Allow the (scratch) frame pointer to be initialised from the stack pointer plus a constant. @@ -422,7 +660,7 @@ Sun Dec 31 19:20:51 2000 Richard Kenner * dwarf2out.c (file_info_cmp): Prototype. (dwarf2out_line): Hide variable `old_in_use'. - + * objc-act.c (objc_fatal): Delete. * sched-vis.c (visualize_stall_cycles): Remove unused variable. @@ -524,7 +762,7 @@ Sun Dec 31 19:20:51 2000 Richard Kenner (nop_m, nop_i, nop_f, nop_b, nop_x, cycle_display, cycle_display_1, bundle_selector): New patterns. (insn_group_barrier): Now has an operand. - + 2000-12-21 DJ Delorie * dwarf2out.c (simple_decl_align_in_bits): new @@ -867,9 +1105,9 @@ Sun Dec 17 12:41:48 2000 Richard Kenner * config/c4x/c4x-protos.h (c4x_init_builtins): Add tree argument. - * config/c4x/c4x.c (c4x_init_builtins): Add tree argument. + * config/c4x/c4x.c (c4x_init_builtins): Add tree argument. (c4x_output_ascii): Fix. - + 2000-12-17 Michael Hayes Herman A.J. ten Brugge @@ -888,7 +1126,7 @@ Sun Dec 17 12:41:48 2000 Richard Kenner (*toieee_movqf_clobber, *frieee_movqf_clobber): Likewise. 2000-12-17 Michael Hayes - + * libgcc2.h: Use Wtype for SItype and DWtype for DItype in prototypes. * libgcc2.c (__absvsi2): Use Wtype and DWtype. (__absvdi2, __addvsi3, __addvdi3, __subvsi3): Likewise. @@ -930,8 +1168,8 @@ Sat Dec 16 10:41:11 2000 Richard Kenner (do_warning): New function. (finclude): Skip past the newline and increase the line number before calling output_line_command. - (do_line): Skip the new line after output_line_command. Don't - pre-decrement the line number. + (do_line): Skip the new line after output_line_command. Don't + pre-decrement the line number. 2000-12-15 Diego Novillo @@ -996,7 +1234,7 @@ Fri Dec 15 03:37:51 2000 J"orn Rennecke * alias.c (get_alias_set): Call record_component_aliases for COMPLEX_TYPE. (record_component_aliases): Handle COMPLEX_TYPE. - + 2000-12-14 Kaveh R. Ghazi * fixinc/gnu-regex.c: Disable NLS. @@ -1018,7 +1256,7 @@ Fri Dec 15 03:37:51 2000 J"orn Rennecke * gcc.c (cpp_options): Update to use '&'. (struct switchstr): Change type of validated to save space. New member 'ordering'. - (handle_braces, validate_switches): Update to handle '&'. + (handle_braces, validate_switches): Update to handle '&'. 2000-12-13 Laurynas Biveinis @@ -1062,7 +1300,7 @@ Fri Dec 15 03:37:51 2000 J"orn Rennecke * tradcpp.c (special_symbol): Improve test for definedness, though it is still not perfect. (do_define): Don't define illegal macro names. - + 2000-12-07 Aldy Hernandez * config/mips/elf.h (ASM_OUTPUT_SECTION_NAME): emit @nobits @@ -1171,7 +1409,7 @@ Mon Dec 11 13:51:09 2000 Jeffrey A Law (law@cygnus.com) * cppfiles.c (stack_include_file): Update. (_cpp_pop_file_buffer): Update. * cpphash.h (struct cpp_buffer): New members - include_stack_listed and type. + include_stack_listed and type. * cpplib.c (_cpp_handle_directive): Buffer->inc is not null. (run_directive): Take buffer type. cpp_push_buffer cannot fail. (_cpp_do__Pragma, cpp_define, _cpp_define_builtin, cpp_undef, @@ -1205,7 +1443,7 @@ Mon Dec 11 13:51:09 2000 Jeffrey A Law (law@cygnus.com) 2000-12-09 Richard Henderson - * genrecog.c (validate_pattern): Verify that ZERO_EXTRACT and + * genrecog.c (validate_pattern): Verify that ZERO_EXTRACT and STRICT_LOW_PART as SET_DEST have in-out constraints. 2000-12-09 Joseph S. Myers @@ -1974,8 +2212,8 @@ Tue Dec 5 20:09:14 2000 Jeffrey A Law (law@cygnus.com) 2000-12-02 Geoffrey Keating * c-common.c (combine_strings): When the ISO C standard specifies - the maximum length of a string, it doesn't include the trailing - zero byte. + the maximum length of a string, it doesn't include the trailing + zero byte. * cpplib.c (do_ifdef): Add check_eol() call. (do_ifndef): Likewise. @@ -2097,13 +2335,13 @@ Tue Dec 5 20:09:14 2000 Jeffrey A Law (law@cygnus.com) 2000-12-01 Jim Blandy * dbxout.c (dbxout_parms): Correctly describe parameters passed by - invisible reference in registers, but then spilled to the stack. - Remove code to emit a second stab for such parameters; it attempts - to describe the value's location by introducing a synthetic C++ - `reference' type, and then saying the stack slot has that - reference type. This loses type information (breaking GDB's - `ptype' command, among other things) just to describe a location - which stabs can represent correctly in other ways. + invisible reference in registers, but then spilled to the stack. + Remove code to emit a second stab for such parameters; it attempts + to describe the value's location by introducing a synthetic C++ + `reference' type, and then saying the stack slot has that + reference type. This loses type information (breaking GDB's + `ptype' command, among other things) just to describe a location + which stabs can represent correctly in other ways. 2000-12-01 Alexandre Oliva @@ -2658,7 +2896,7 @@ Mon Nov 27 17:29:44 2000 kaz Kojima canonicalizes conditional compares. (arm_select_cc_mode): Likewise. * arm.md: Garbage collect some dead code. - (cmp_and, cmp_ior): New patterns. + (cmp_and, cmp_ior): New patterns. (splitter for conditional move with inverted false): Use cond_exec and handle unordered comparisons. @@ -2675,7 +2913,7 @@ Mon Nov 27 17:22:56 MET 2000 Jan Hubicka arm_subsi3_insn, anddi_zesidi_di, arm_andsi3_insn, anddi_notdi_di, anddi_notzesidi_di, anddi_notsesidi_di, arm_iorsi3, one_cmpldi2): Merge with splitters to create define_insn_and_split - patterns. Remove redundant splits. + patterns. Remove redundant splits. (peephole2 for add:SI of invalid immediate): New. (peephole2 for minus:SI of invalid immediate): New. (peephole2 for ior:SI of invalid immediate): New. @@ -7395,7 +7633,7 @@ Mon 25-Sep-2000 23:31:45 BST Neil Booth * dwarf2out.c (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP, SECTION_ASM_OP, ASM_BYTE_OP): Here. * dwarfout.c (FILE_ASM_OP, VERSION_ASM_OP, - UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, ASM_BYTE_OP, + UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, ASM_BYTE_OP, PUSHSECTION_ASM_OP, POPSECTION_ASM_OP): Here. * defaults.h (ASM_STABD_OP, EH_FRAME_SECTION_ASM_OP): Here. * varasm.c (ASM_STABS_OP): Here.