OSDN Git Service

* toplev.c (display_help): Prefix "f" to "sched-verbose=".
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 6705abd..e08f5e8 100644 (file)
@@ -1,3 +1,322 @@
+2000-04-15  David Edelsohn  <edelsohn@gnu.org>
+
+       * toplev.c (display_help): Prefix "f" to "sched-verbose=".
+       * haifa-sched.c: Update -fsched-verbose comments to use "=".
+
+Sat Apr 15 10:59:19 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * Makefile.in (ggc-page.o): Now includes toplev.h.
+       * ggc-page.c (toplev.h): Now included.
+       (gc_time): Remove declaration.
+       (ggc_collect): TIME now long.
+       * toplev.c (parse_time, varasm_time, gc_time): Still global; all
+       others static.
+       * toplev.h (gc_time, parse_time, gc_time): New declarations.
+
+       * toplev.c: Make *_time variable long to reduce chance of overflow.
+       (TIMEVAR): Likewise for `otime'.
+       (print_time): Arg is now long; compute percentage in FP and round.
+       * toplev.h (print_time): Arg is long.
+
+       * tree.c: Minor whitespace changes.
+
+       * configure.in (alpha*-*-*): Add config/alpha/t-alpha.
+       * configure: Rebuilt.
+       * libgcc2.c (__fixunstfDI): Renamed from __fixunstfdi.
+       (__fixunsxfDI): Renamed from __fixunsxfdi.
+       (__fixunsdfDI): Renamed from __fixunsdfdi.
+       (__fixunssfDI): Renamed from __fixunssfdi.
+       (__floatdisf): Use proper type in REP_BIT macro.
+       (__fixunsxfSI): Renamed from __fixunsxfsi.
+       (__fixunsdfSI): Renamed from __fixunsdfsi.
+       (__fixunssfSI): Renamed from __fixunssfsi.
+       * libgcc2.h: Add cases for MIN_UNITS_PER_WORD > 4.
+       Change location of macros and upper-case some names as above.
+       * longlong.h ([alpha]): Use PARAMS, not __P in decl of __udiv__qrnnd.
+       * config/alpha/t-alpha, config/alpha/qrnnd.asm: New files.
+
+       * varasm.c (assemble_variable): Add cast to remove warning.
+       (immed_real_const_1): Only use CONST[01]_RTX if not in nested function.
+
+       * flow.c (count_basic_blocks, find_basic_blocks_1): Remove last change.
+       * optabs.c (emit_libcall_block): If have REG_EH_REGION, update
+       region number to -1.
+
+2000-04-15  Richard Earnshaw (rearnsah@arm.com)
+
+       * emit-rtl.c (unshare_all_rtl_again): Unmark everything, then
+       call unshare_all_rtl.
+
+       * arm.md (movhi): REGNO_POINTER_ALIGN is now bits.
+
+Fri Apr 14 16:58:45 2000  Jim Wilson  <wilson@cygnus.com>
+
+       * config/ia64/lib1funcs.asm (__divdi3, __moddi3, __udivdi3, __umoddi3):
+       Use .s1 not .s0 for all FP instructions.
+
+2000-04-14  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * cpplex.c (cpp_output_tokens, cpp_scan_buffer_nooutput): New public
+       interfaces.
+       (safe_fwrite, output_line_command): New static functions.
+       (cpp_expand_to_buffer): Now private to cpplib.
+       (cpp_scan_buffer): Take a printer.
+
+       * cpphash.h: Update prototypes.
+       * cpplib.h: Update prototypes.
+       (cpp_printer): New.
+       (cpp_buffer): Remove last_nominal_fname.
+       (cpp_reader): Remove lineno.
+
+       * cppmain.c: Use a cpp_printer.
+       * fix-header.c: No need to inhibit line commands.  Call
+       cpp_start_read with no printer.
+
+       * cpperror.c (cpp_notice_from_errno): Provide default name.
+       * cppfiles.c (make_IHASH, _cpp_fake_ihash): New functions.
+       (find_include_file, cpp_read_file): Use make_IHASH.
+       (file_cleanup): Set control_macro and clear
+       input_stack_listing_current here.
+       (_cpp_execute_include): Don't output entering-file marker.
+       * cpphash.c (special_symbol): Look for the line number in the
+       buffer, not the reader.
+       (_cpp_macroexpand): No need to disable line commands.
+       (_cpp_dump_definition): No need to generate line commands.
+       (dump_hash_helper): Remove excess newline from output.
+       * cppinit.c (dump_special_to_buffer): No need to generate line
+       commands.
+       (cpp_printer_init): New.
+       (cpp_start_read): Take a printer, and start it up if it's not
+       NULL.  No need to generate line commands.
+       (cpp_finish): Expect no buffers stacked at all.  Take a
+       printer argument, and flush the output buffer if it's not
+       NULL.
+       * cpplex.c (_cpp_lex_token): Return EOF if there's no buffer.
+       Don't put two hashes at the beginning of an assertion.
+       (cpp_get_token): Don't increment pfile->lineno or emit line
+       commands here.  Return EOF if there's no buffer when we get
+       EOF.
+       * cpplib.c (do_define, skip_if_group): 
+       No need to disable line commands.
+       (_cpp_output_line_command): Delete function.
+       (do_line): Don't emit line commands here, but set things up so
+       they will be emitted if necessary.  Use _cpp_fake_ihash to
+       make unique nominal_fnames if necessary.
+       (do_elif, do_else, _cpp_handle_eof): Call cpp_error_with_line
+       with 0 for column, not -1.
+       (_cpp_handle_eof): Don't set the control macro here.  Don't
+       clear input_stack_listing_current here.  Don't emit line
+       commands.
+
+2000-04-14  Geoff Keating  <geoffk@cygnus.com>
+
+       * config/rs6000/sysv4.h (LINK_START_SOLARIS_SPEC): Define to empty
+       always, use the default SVR4 start address.
+
+       * config/rs6000/linux.h (LINK_SPEC): Don't define.
+       (LINK_SHLIB_SPEC): Define.
+       (LINK_START_DEFAULT_SPEC): Define.
+       (LINK_OS_DEFAULT_SPEC): Define.
+
+       * config/rs6000/sysv4.h (ENDFILE_SPEC): Use the %(endfile_*) macros.
+
+       * config/rs6000/eabi.asm (__eabi): Call __init rather than 
+       __do_global_ctors to handle constructors.
+       * config/rs6000/sysv4.h (STARTFILE_ADS_SPEC): Use crtbegin.
+       (STARTFILE_YELLOWKNIFE_SPEC): Likewise.
+       (STARTFILE_MVME_SPEC): Likewise.
+       (STARTFILE_SIM_SPEC): Likewise.
+       (ENDFILE_ADS_SPEC): Use crtend.
+       (ENDFILE_YELLOWKNIFE_SPEC): Likewise.
+       (ENDFILE_MVME_SPEC): Likewise.
+       (ENDFILE_SIM_SPEC): Likewise.
+       (STARTFILE_SOLARIS_SPEC): Use crtbegin/crtbeginS.
+       (ENDFILE_SOLARIS_SPEC): Use crtend/crtendS.
+       (STARTFILE_LINUX_SPEC): Use crtbeginS for shared objects.
+       (ENDFILE_LINUX_SPEC): Use crtendS for shared objects.
+       * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Don't build eabi-ctors.o.
+       (EXTRA_MULTILIB_PARTS): Build crtbeginS/crtendS.
+       (CRTSTUFF_T_CFLAGS_S): Define.
+       * config/rs6000/eabi-ctors.c: Delete.
+       
+       * config/rs6000/eabi-ci.asm (__init): Align stack to 16-byte
+       boundary.
+       (__fini): Likewise.
+       * config/rs6000/eabi-cn.asm (__init): Allow for 16-byte stack frame.
+       boundary.
+       (__fini): Likewise.
+
+Fri Apr 14 16:09:02 2000  Jim Wilson  <wilson@cygnus.com>
+
+       * combine.c (force_to_mode, case LSHIFTRT): Check that shift shift
+       plus mask size is smaller or equal to the mode size.
+
+Fri Apr 14 18:07:30 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * print-rtl.c (print_rtx, case NOTE): Don't blow up if NOTE_BASIC_BLOCK
+       not yet set.
+
+       * expr.c (reload.h): Now included.
+       (emit_block_move): Set volatile_ok when checking for movstr.
+       (emit_move_1): Check for replacements in addresses in multi-word case.
+       * Makefile.in (expr.o): Now includes reload.h.
+
+       * flow.c (count_basic_blocks): Remove unused var PREV_CALL.
+       Never have a LIBCALL end a basic block.
+       (find_basic_blocks_1): Likewise.
+       Reorganize CALL_INSN cases.
+
+       * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Revert last change.
+
+Fri Apr 14 10:54:22 2000  Jim Wilson  <wilson@cygnus.com>
+
+       * config/ia64/lib1funcs.asm (__ia64_nonlocal_goto): Drop obsolete
+       completers from mov.ret instruction.
+
+2000-04-14  Richard Henderson  <rth@cygnus.com>
+
+        * fold-const.c (extract_muldiv): Don't distribute and widen
+        multiply across plus for non-sizetype unsigned types.
+
+2000-04-14  Richard Henderson  <rth@cygnus.com>
+
+       * flow.c (find_auto_inc): Don't autoinc eliminable registers.
+       If the original source is dead in the incr insn, it's dead now.
+
+Fri Apr 14 07:40:32 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * stor-layout.c (layout_decl): Properly compare KNOWN_ALIGN to
+       see if DECL_BIT_FIELD needs to still be set.
+
+       * tree.h (struct tree_type): Make PRECISION 9 bits and MODE 7.
+
+       * dbxout.c (dbxout_type, case INTEGER_TYPE): Don't call
+       print_int_cst_octal with something that's not an INTEGER_CST.
+
+       * config/alpha/alpha.c (alpha_emit_floatuns): Ensure we pass a REG
+       and not a SUBREG to a FLOAT rtl.
+
+Thu Apr 13 19:39:56 2000  Clinton Popetz  <cpopetz@cygnus.com>
+
+       * emit-rtl.c (try_split): Avoid infinite loop if the split
+       results in a sequence that contains the original insn.
+
+2000-04-13  Andreas Jaeger  <aj@suse.de>
+
+       * config/mips/mips.c (expand_block_move): Pass alignment
+        argument to move_by_pieces in bits, not bytes.
+
+       * config/mips/linux.h (CPP_PREDEFINES): Also define __PIC__ and
+       __pic__ for little endian.
+
+2000-04-13  Andreas Jaeger  <aj@suse.de>
+
+       * config/i386/i386-protos.h: Add prototype for
+       uno_comparison_operator.
+
+Thu Apr 13 15:55:08 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * alias.c (nonlocal_reference_p): Take care of CALL_INSNS's fusage.
+       * calls.c (ECF_PURE): New flag.
+       (emit_call_1): Handle ECF_PURE calls.
+       (initialize_argument_information): Unset ECF_PURE flag too.
+       (precompute_arguments): Precompute for ECF_PURE too.
+       (expand_call): Handle ECF_PURE calls too.
+       (emit_library_call_value_1): Rename no_queue argument to fn_type,
+       accept value of 2 as pure function.
+       (emit_library_call_value, emit_library_call): Rename no_queue argument
+       to fn_type.
+       * optabs.c (prepare_cmp_insn): Pass fn_type 2 to memcmp call.
+
+       * tree.h (DECL_IS_PURE): New macro.
+       (struct tree_decl): Add pure_flag.
+       * c-common.c (enum attrs): Add attribute "pure".
+       (init_attributes): Initialize attribute "pure"
+       (decl_attributes): Handle attribute "pure".
+       * extend.texi (Attribute "pure"): Document.
+       * calls.c (expand_call): Add (mem:BLK (scratch)) to "equal from"
+       in pure function.
+       (flags_from_decl_or_type): Support attribute "pure".
+
+2000-04-13  Jason Merrill  <jason@casey.cygnus.com>
+
+       * cpplex.c (_cpp_lex_token): Handle digraphs.  Don't null-terminate
+       the token except for numbers and identifiers.
+
+Thu Apr 13 00:09:16 EDT 2000  John Wehle  (john@feith.com)
+
+       * i386.c (ix86_expand_binary_operator,
+       ix86_expand_unary_operator): Check no_new_pseudos
+       instead of reload_in_progress and reload_completed.
+       (ix86_split_ashldi, ix86_split_ashrdi,
+       ix86_split_lshrdi): Check no_new_pseudos instead
+       of reload_completed.
+
+2000-04-12  Jeffrey A Law  (law@cygnus.com)
+
+       * function.c (purge_addressof): Unshare any shared rtl created by
+       purge_addressof and its children.
+
+2000-04-12  Mark Mitchell  <mark@codesourcery.com>
+
+       * function.c (aggregate_value_p): VOID_TYPE nodes are never
+       aggregates.
+
+2000-04-05  Andreas Jaeger  <aj@suse.de>
+
+       * config/mips/linux.h (SUBTARGET_ASM_SPEC): Use proper flags if
+       not compiling PIC code, add flags for mabi=64.
+       (SUBTARGET_CPP_SIZE_SPEC): New.
+       (SUBTARGET_CPP_SPEC): New.
+       (CPP_PREDEFINES): Define __PIC__ and __pic__.  PIC code is default
+       for MIPS/Linux and lots of code needs these defines.
+
+Wed Apr 12 22:44:11 2000  Hans-Peter Nilsson  <hp@axis.com>
+
+       * reorg.c (fill_slots_from_thread): Check side_effects_p when
+       trying the "opposite arithmetic" approach.
+
+Wed Apr 12 20:51:20 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * sh.h (STRUCT_VALUE): Just 0 for TARGET_HITACHI.
+       (struct sh_args): Add new field force_mem.
+       (INIT_CUMULATIVE_ARGS): Initialize it.
+       (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Act on it.
+
+Wed Apr 12 17:20:41 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * calls.c (expand_call): Do not reverse args in "equal from" field.
+       (emit_library_call_value_1): Emit_libcall_block for const and pure
+       function.
+
+Wed Apr 12 16:00:25 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * reload1.c (reload_combine): Don't enable optimization for fixed
+       registers when encountering a BARRIER.
+
+Wed Apr 12 15:54:11 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * builtins.c (expand_builtin_memcmp): Do expansion even with
+       !HAVE_cmpstrsi, do libcall when gen_strcmpsi fails.
+
+       * calls.c (expand_call): Do NO_DEFER_POP unconditionally once
+       stack is propertly aligned; add sanity checking for aligned
+       stack pointer.
+       (expand_library_call_value_1): Add sanity checking for aligned
+       stack pointer.
+
+Wed Apr 12 07:51:54 2000  Catherine Moore  <clm@cygnus.com>
+        * calls.c (emit_library_call_value_1): Change 3rd arg to
+        locate_and_pad_parm to disregard the setting of partial.
+
+Wed Apr 12 08:47:38 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * tree.c (unsave_expr_now_r, unsafe_for_reeval): Properly do TREE_LIST.
+
+       * print-rtl.c (print_rtx): For CALL_PLACEHOLDER, output the
+       CALL_INSN from the normal case.
+
 Fri Apr  7 12:23:04 MET DST 2000  Jan Hubicka  <jh@suse.cz>
 
        * i386.c (x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8):