OSDN Git Service

* i386/i386.c (ix86_save_reg): Also test
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index de9440f..421f8c2 100644 (file)
@@ -1,3 +1,381 @@
+2003-03-05  Michael Matz  <matz@suse.de>
+
+       * i386/i386.c (ix86_save_reg): Also test
+       current_function_uses_const_pool.
+
+2003-03-05  Michael Matz  <matz@suse.de>
+
+       * unwind.h: Add the GPL exception.
+       * Makefile.in (USER_H): Add unwind.h.
+
+2003-03-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR c/9799
+       * c-typeck.c (push_init_level): Add sanity check.
+
+Wed Mar  5 02:04:04 CET 2003  Jan Hubicka  <jh@suse.cz>
+
+       * toplev.c (rest_of_compilation):  Deffer RTL compilation only when
+       RTL inlining is done.
+
+       * cgraphunit.c (cgraph_mark_local_functions): New local function.
+       (cgraph_optimize): Mark local functions.
+       * i386-protos.h (init_cumulative_args): Update prototype.
+       * i386.c (init_cumulative_args): Use register passing convention for
+       local functions.
+
+       * cgraph.c (cgraph_global_info_ready): New global variable
+       (cgraph_local_info, cgraph_global_info): New functions.
+       * cgraph.h (struct cgraph_local_info, cgraph_global_info): New
+       structures.
+       (cgraph_local_info, cgraph_global_info, cgraph_global_info_ready):
+       Declare.
+       * cgraphunit.c (cgraph_finalize_function): Set inline_many.
+       (cgraph_mark_functions_to_output): Use inline_many.
+       (cgraph_expand_function): Free DECL_SAVED_TREE uncondtionally.
+       (cgraph_expand_functions): Expand inline functions last.
+       (cgraph_optimize): Do not emit uneeded functions.
+
+2003-03-04  Steve Ellcey  <sje@cup.hp.com>
+
+       * expr.c (convert_modes): Check for legal hard register.
+
+2003-03-04  Tom Tromey  <tromey@redhat.com>
+
+       * doc/sourcebuild.texi (Front End Directory): Document tags.
+       * configure: Rebuilt.
+       * configure.in (target_list): Added tags.
+       * Makefile.in (TAGS): Depend on lang.clean.  Include subdirectory
+       TAGS files by reference.
+       * objc/Make-lang.in (objc.tags): New target.
+
+2003-03-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * gcov-io.h (gcov_save_position, gcov_reserve_length, gcov_resync,
+       gcov_skip, gcov_skip_string, gcov_write_unsigned, gcov_write_counter,
+       gcov_write_string, gcov_read_unsigned, gcov_read_counter,
+       gcov_read_string, gcov_write_length): Modified to enable reading/
+       writing of whole .da file just once.
+       (da_file_open, da_file_close, da_file_eof, da_file_error,
+       da_file_position, da_file_seek, da_file_write, da_file_read): New
+       functions.
+       (actual_da_file, actual_da_file_position, actual_da_file_length,
+       actual_da_file_buffer, actual_da_file_buffer_size): New static
+       functions.
+       * libgcov.c (gcov_exit): Modified to read/write the whole .da file at
+       just once.
+
+
+2003-03-04  Andreas Schwab  <schwab@suse.de>
+
+       * config/m68k/m68k.c (m68k_output_function_prologue): Fix CFA
+       offset without frame pointer.
+
+2003-03-04  Steve Ellcey  <sje@cup.hp.com>
+
+       * expr.c (expand_expr): Call promote_mode to set unsignedp.
+
+2003-03-04  Daniel Jacobowitz  <drow@mvista.com>
+
+       * configure.in: Don't always define TARGET_SYSTEM_ROOT.
+       * configure: Regenerated.
+       * gcc.c: Check whether TARGET_SYSTEM_ROOT is defined.
+
+2003-03-04  Andreas Jaeger  <aj@suse.de>
+
+       * configure.in: Check for <memcheck.h>.
+        * configure: Regenerated.
+
+       * config.in: Define HAVE_MEMCHECK_H.
+
+       * ggc-common.c: Use <memcheck.h> if available instead of
+       <valgrind.h>.
+       * ggc-page.c: Likewise.
+       * cppfiles.c: Likewise.
+
+2003-03-04  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (*extzv_8_8): Fix cc and lengths.
+
+2003-03-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR c/9262
+       * c-typeck.c (do_case): Attach the first case label to the SWITCH_BODY.
+       (c_finish_case): Rechain the next statements to the SWITCH_STMT.
+
+Tue Mar  4 11:30:04 CET 2003  Jan Hubicka  <jh@suse.cz>
+
+       * doc/invoke.texi:  Document that unit-at-a-time is enabled for -O3
+       * toplev.c (parse_options_and_default_flags): Enable flag_unit_at_a_time
+       for -O3.
+
+2003-03-04  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * configure.in: Delete three unused variables.  Move a variable
+       definition closer to its use.  Simplify use_collect2 logic.  Start to
+       organize.  Simplify tests for in-tree gas and ld.
+       * configure: Regenerate.
+
+2003-03-04  Neil Booth  <neil@daikokuya.co.uk>
+
+       * Makefile.in: Update.
+       * c-common.c (flag_no_line_commands, flag_no_output,
+       flag_dump_macros, flag_dump_includes): New.
+       * c-common.h (flag_no_line_commands, flag_no_output,
+       flag_dump_macros, flag_dump_includes, preprocess_file): New.
+       (init_c_lex): Update prototype.
+       * c-lex.c (init_c_lex): Update prototype; move some code to
+       c_common_init.
+       * c-opts.c (preprocess_file): Subsume into c_common_init.
+       (c_common_decode_option): Update flags.
+       (c_common_init): Move code from preprocess_file and init_c_lex.
+       (sanitize_cpp_opts): Update.
+       * c-ppoutput.c: New, cppmain.c almost verbatim.
+       * cpphash.h (struct printer): Remove.
+       (struct cpp_reader): Remove print.
+       * cpplib.h (dump_none, dump_only, dump_names, dump_definitions,
+       cpp_preprocess_file): Remove.
+       (struct cpp_options): Remove no_output, no_line_commands, dump_macros
+       and dump_includes.
+       * cppmain.c: Remove.
+       * doc/passes.texi: Update.
+
+2003-03-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * function.c (STACK_ALIGNMENT_NEEDED): New macro.  Default to 1.
+       (assign_stack_local_1): Perform overall stack alignment only when
+       STACK_ALIGNMENT_NEEDED is non-zero.
+       * doc/tm.texi (STACK_ALIGNMENT_NEEDED): Document.
+
+       * pa.c (compute_frame_size): Rename fsize to size.  Account for
+       alignment to a word boundary before general register save block.  Only
+       account for double-word alignment before floating point register save
+       block if one or more are saved.  Don't allocate space for %r3 when
+       frame pointer is needed.
+       (hppa_expand_prologue): Include alignment to word boundary in local
+       frame size.
+       * pa.h (STARTING_FRAME_OFFSET): Define to 8 on both 32 and 64-bit ports.
+       (STACK_ALIGNMENT_NEEDED): Define.
+
+2003-03-04  Kevin Buettner  <kevinb@redhat.com>
+
+       * dwarf2out.c (rtl_for_decl_location): Don't return NULL_RTX for
+       global register variables.
+
+2003-03-04  Alexandre Oliva  <aoliva@redhat.com>
+
+       * reload.c (reload_adjust_reg_for_mode): New function.
+       (subst_reloads): Call it.
+       (operands_match_p): Adjust registers using HARD_REGNO_NREGS.
+       * reload.h (reload_adjust_reg_for_mode): Declare.
+       * reload1.c (emit_input_reload_insns, emit_output_reload_insns):
+       Call it.
+
+2003-03-03  James E Wilson  <wilson@tuliptree.org>
+
+       * optabs.c (add_equal_note): Delete SUBREG_REG use.
+       Fixes PR c/7872.
+
+2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (*ixorsi3_ashift_16): New.
+       (*ixorsi3_lshiftrt_16): New.
+       (*iorsi3_ashift_16): Remove.
+
+2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (*extzv_8_8): Use '?' to simplify the
+       pattern.
+
+2003-03-03  Geoffrey Keating  <geoffk@apple.com>
+
+       * doc/install.texi (Specific): Update entry for powerpc-darwin.
+
+2003-03-03  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/ia64.h (HAVE_AS_LTOFFX_LDXMOV_RELOCS): Default to 0.
+
+2003-03-03  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c (rs6000_multipass_dfa_lookahead): Delete.
+       (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Delete.
+       (rs6000_variable_issue): Do not return negative value.
+       (rs6000_issue_rate): Uniformly set issue rate to 1 for first
+       scheduling pass.
+
+2003-03-03  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * dwarf2out.c (dwarf2out_finish): Swap order of break_out_includes and
+       prune_unused_types calls.
+
+2003-03-03  Jason Merrill  <jason@redhat.com>
+
+       * tree-inline.c (find_builtin_longjmp_call): Save and restore
+       lineno and input_filename.
+       (find_alloca_call): Likewise.
+       (inlinable_function_p): Run the langhook earlier.
+
+       * calls.c (compute_argument_addresses): Give the new MEMs a
+       minimum alignment of PARM_BOUNDARY.
+
+Mon Mar  3 20:45:25 2003  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * config/sh/sh.h (EXTRA_SPECS): Add subtarget_asm_relax_spec and
+       subtarget_asm_isa_spec.
+       (SUBTARGET_ASM_RELAX_SPEC, SUBTARGET_ASM_ISA_SPEC): Define.
+       (ASM_SPEC): Define as SH_ASM_SPEC.
+       (SH_ASM_SPEC): New; take the role of ASM_SPEC, but safe from svr4.h.
+       Use subtarget_asm_relax_spec and subtarget_asm_isa_spec.
+       * config/sh/elf.h (ASM_SPEC): Use SH_ASM_SPEC.
+       (SUBTARGET_ASM_ISA_SPEC): Undef / define.
+
+       * sh.h (OVERRIDE_OPTIONS): Set default values for align_loops
+       and align_jumps if not set.
+       Force align_jumps to be at least 2.
+       When relaxing, force align_functions to be at least the maximum of
+       align_loops, align_jumps and 4.
+       * sh.c (find_barrier, barrier_align): Honour align_jumps_log.
+       (sh_loop_align): Honour align_loops_log.
+
+       * sh.md (length attribute): Use prev_nonnote_insn instead of PREV_INSN
+       to check for indirect_jump_scratch.
+       (indirect_jump_scratch): Add second set.
+       * sh.c (output_far_jump): Use prev_nonnote_insn instead of PREV_INSN
+       when looking for indirect_jump_scratch.
+       Extract scratch register taking new structure of indirect_jump_scratch
+       into account.
+       (gen_block_redirect): Set INSN_SCOPE for indirect_jump_scratch.
+
+Mon Mar  3 19:07:21 CET 2003  Jan Hubicka  <jh@suse.cz>
+
+       * calls.c (rtx_for_function_call): Take the address as an argument
+       (expand_call): Do not modify the expression.
+
+       * toplev.c (rest_of_compilation):  Avoid cfg_cleanup calls when not
+       optimizing.
+
+2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (*ixorsi3_zext_hi): Restrict to
+       TARGET_H8300H and TARGET_H8300S.
+
+2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (a peephole2): New.
+
+2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (*extzv_8_8): Use shorter code when
+       operands[0] and operands[1] are different.
+
+2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * reload1.c (reload_cse_move2add): Remove variable success.
+
+2003-03-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * ggc-common.c (ggc_rlimit_bound): Cast RLIM_INFINITY to avoid
+       warnings.
+
+2003-03-02  Richard Henderson  <rth@redhat.com>
+
+       * configure.in (HAVE_AS_LTOFFX_LDXMOV_RELOCS): New ia64 test.
+       * config.in, configure: Rebuild.
+       * config/ia64/ia64.c (ia64_ld_address_bypass_p): Accept lo_sum.
+       * config/ia64/ia64.md (load_symptr): Use high/lo_sum for the
+       paired ldtoffx and ldxmov annotations.
+       (load_symptr_internal1): Remove.
+       (load_symptr_high, load_symptr_low): New.
+
+2003-03-02  Neil Booth  <neil@daikokuya.co.uk>
+
+       * c-incpath.c (add_path): Fix sysp assignment.
+
+2003-03-02  Kurt Garloff  <garloff@suse.de>
+
+       * params.def: Introduce parameter max-inline-insns-rtl for
+       a separate limit for the RTL inliner.
+       * params.h: Likewise.
+       * integrate.c (function_cannot_inline_p): Use it.
+       * toplev.c (decode_f_option): Set multiple parameters
+       controlling inlining with -finline-limit.
+       * params.def: Fix orthographic and typographic errors.
+       * doc/invoke.texi: Document parameters controlling inlining
+       and the way -finline-limit sets multiple of them.
+
+       * tree.h (struct tree_decl): Introduce inlined_function_flag,
+       recording whether the function became eligible for inlining
+       by a compiler flag rather than the declaration.
+       Provide DID_INLINE_FUNC macro to access it.
+       * c-decl.c (grokdeclarator): Set DID_INLINE_FUNC.
+       * cp/decl.c (grokfndecl): Likewise.
+       * toplev.c (rest_of_compilation): Likewise.
+       * cp/optimize (maybe_clone_body): Copy DID_INLINE_FUNC.
+       * print-tree.c (print_node): Report it.
+       * params.def: Introduce new max-inline-insns-auto limit.
+       * params.h: Likewise.
+       * tree-inline.c (inlinable_function_p): Apply it to functions
+       with DID_INLINE_FUNC set.
+       * toplev.c (decode_f_option): Initialize it from -finline-limit
+       value.
+       * doc/invoke.texi: Document new parameter.
+
+2003-03-02  Geoffrey Keating  <geoffk@apple.com>
+
+       * fix-header.c (read_scan_file): Don't reference simplify_path.
+
+2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
+
+       * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't enable
+       min/max instructions by default as may result in reload errors.
+
+2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
+
+       * config/m68hc11/m68hc11.md ("mulqi3"): Allow address register to
+       avoid reload problems; define split for it.
+
+2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
+
+       * config/m68hc11/m68hc11.c (m68hc11_shift_operator): New function.
+       * config/m68hc11/m68hc11-protos.h (m68hc11_shift_operator): Declare.
+       * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register.
+       * config/m68hc11/m68hc11.md ("rotrhi3", "rotlhi3"): New patterns for
+       rotatert and rotate.
+       ("rotrhi3_const", "rotlhi3_const"): Rename of old 'rotrhi3' insns.
+       ("*rotrhi3", "*rotlhi3"): New insn pattern for non-const rotatert.
+       ("*rotrhi3_addr"): New split for shift insns on address register.
+       ("*lshrhi3", "*ashrhi3", "*ashlhi3_2"): Use new split.
+       * config/m68hc11/larith.asm (___rotlhi3): New asm function.
+       (___rotrhi3): Likewise.
+       * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build them.
+
+2003-03-02  Neil Booth  <neil@daikokuya.co.uk>
+
+       * toplev.c (aux_base_name): Moved from toplev.h.
+       (filename): Constify.
+       (lang_dependent_init): Don't duplicate name.
+       (process_options): Set aux_base_name here, not...
+       (do_compile): ...here.  Change protoype.
+       (toplev_main): Move some code from do_compile.
+       * toplev.h: Remove aux_base_name.
+
+2003-03-02  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300-protos.h: Add a prototype for
+       iorxor_operator.
+       * config/h8300/h8300.c (print_operand): Handle 'c'.
+       (iorxor_operator): New.
+       * config/h8300/h8300.h (PREDICATE_CODES): Add iorxor_operator.
+       * config/h8300/h8300.md (*iorhi3_zext): Remove.
+       (*iorsi3_zexthi): Likewise.
+       (*iorsi3_zextsi): Likewise.
+       (*xorhi3_zextqi): Likewise.
+       (*xorsi3_zexthi): Likewise.
+       (*xorsi3_zextsi): Likewise.
+       (*ixorhi3_zext): New.
+       (*ixorsi3_zext_qi): Likewise.
+       (*ixorsi3_zext_hi): Likewise.
+
 2003-03-02  Neil Booth  <neil@daikokuya.co.uk>
 
        * c-incpath.c (remove_component_p, simplify_path): Move back to
 2003-02-28  Joel Sherrill <joel@OARcorp.com>
 
        PR 9638/other
-       * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Ensure the 
+       * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Ensure the
        this constant defaults to 1.
 
 2003-02-28  Bob Wilson  <bob.wilson@acm.org>
 
 2003-02-28  Richard Earnshaw  <rearnsha@arm.com>
 
-       * arm.md (mulhisi3, mulhisi3addsi, mulhidi3adddi): Enable for any 
+       * arm.md (mulhisi3, mulhisi3addsi, mulhidi3adddi): Enable for any
        ARMv5e processor, not just for XScale.  Instructions are predicable.
        (mulhisi3tb, mulhisi3bt, mulhisi3tt): New patterns for ARMv5e.
 
@@ -375,7 +753,7 @@ Wed Feb 26 19:46:25 CET 2003  Jan Hubicka  <jh@suse.cz>
         * config/arm/cirrus.md ("cirrus_fpu" attribute): Delete.
         ("cirrus_type" attribute): Delete - use "type" instead.
         ("cirrus" attribute): Replace 'no' with 'not' and 'yes' with
-        'normal'.        
+        'normal'.
 
 Tue Feb 25 22:46:27 CET 2003  Jan Hubicka  <jh@suse.cz>
 
@@ -521,7 +899,7 @@ Tue Feb 25 22:46:27 CET 2003  Jan Hubicka  <jh@suse.cz>
        entry.
        (add_forward_dependence): New function.
        (compute_forward_dependences): Use the function.
-       
+
        * sched-ebb.c (earliest_block_with_similiar_load): New function.
        (add_deps_for_risky_insns): New function.
        (schedule_ebb): Call the function.
@@ -595,12 +973,12 @@ Mon Feb 24 22:08:22 CET 2003  Jan Hubicka  <jh@suse.cz>
        * doc/extend.texi (Tru64 Pragmas): Reflect this.
 
        * fixinc/inclhack.def (alpha___extern_prefix): Indicate #pragma
-       extern_prefix support for Tru64 UNIX V5 <sys/stat.h>. 
+       extern_prefix support for Tru64 UNIX V5 <sys/stat.h>.
        * fixinc/fixincl.x: Regenerate.
        * fixinc/tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_CHECK]: New
        testcase.
        Fixes PR c/5059, c/6126, other/9671.
-       
+
 2003-02-24  Roger Sayle  <roger@eyesopen.com>
 
        * gcc.c (do_spec_1) ['{']:  Handle pending argument upon return