OSDN Git Service

* langhooks.h, langhooks-def.h: introduce new langhook,
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index e52dce2..051a5d0 100644 (file)
+2003-02-18  Matt Austern <austern@apple.com>
+       
+       * langhooks.h, langhooks-def.h: introduce new langhook,
+       final_write_globals, with write_global_declarations as default.
+       * toplev.c: Move invocation of wrapup_global_declarations from
+       compile_file to new function, write_global_declarations.  Change
+       compile_file to use final_write_globals hook.  Change
+       wrapup_global_declarations so writing to DECL_DEFER_OUTPUT is
+       conditional. 
+       
+2003-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa.md: Correct and enhance comment.
+
+2003-02-18  Geoffrey Keating  <geoffk@apple.com>
+
+       * gcc.c (validate_switches): Don't scan past closing '}'.
+
+2003-02-18  Ben Elliston  <bje@redhat.com>
+
+       PR c++/1607
+       * doc/extend.texi (Function Attributes): Document the effect of
+       the C++ "this" parameter on the counting of arguments for the
+       "format" and "format_arg" attributes.
+
+2003-02-17  Aldy Hernandez  <aldyh@redhat.com>
+
+        * config/rs6000/spe.h (__ev_stdd): Cast 2nd arg.
+        (__ev_stdw): Same.
+        (__ev_stdh): Same.
+
+Mon Feb 17 16:16:54 CET 2003  Jan Hubicka  <jh@suse.cz>
+
+       * recog.c (split_all_insns):  Fix memory overflow.
+
+2003-02-17  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (cmpqi): Remove mode from compare.
+       (cmphi): Likewise.
+       (*cmphi_h8300): Likewise.
+       (*cmphi_h8300hs): Likewise.
+       (cmpsi): Likewise.
+       (7 peephole2): Likewise.
+
+Sun Feb 16 23:07:52 CET 2003  Jan Hubicka  <jh@suse.cz>
+
+       * c-typeck.c (build_c_cast):  Fold constant variables into
+       initial values.
+
+2003-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * doc/install.texi (Specific): Fix link for m68k-att-sysv.
+       (Binaries): Ditto for Sinix/Reliant Unix.
+
+2003-02-16 Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.c (arm_reload_in_hi): Ensure that the scratch register does
+       not overlap the final result register.
+
+2003-02-16 Arend Bayer <arend.bayer@web.de>
+          Richard Henderson  <rth@redhat.com>
+
+       PR c/8068
+       * fold-const.c (extract_muldiv_1): Rename from extract_muldiv;
+       rearrange mult arguments for less recursion.
+       (extract_muldiv): New.  Prevent runaway recursion.
+
+2003-02-16  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
+       MASK_ALIGN_DOUBLE.
+
+2003-02-15  Roger Sayle  <roger@eyesopen.com>
+
+       * config/i386/i386.c (x86_ext_80387_constants): Use 80387 insns
+       to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
+       (ext_80387_constants_table): Global table of 80387 special constants
+       guarded by ext_80387_constants_init flag when not initialized.
+       (init_ext_80387_constants): New function to initialize this table.
+       (standard_80387_constant_p): Extend to recognize extra 80387
+       constants, in XFmode, on processors where this is a win.
+       (standard_80387_constant_opcode): New function to return the
+       opcode associated with standard_80387_constant_p.
+       (standard_80387_constant_rtx): New function to return the XFmode
+       CONST_DOUBLE associated with standard_80387_constant_p.
+       (ix86_rtx_costs): Give the new constants the same cost as 1.0.
+
+       * config/i386/i386-protos.h (standard_80387_constant_opcode):
+       Prototype here.
+       (standard_80387_constant_rtx): Likewise.
+
+       * config/i386/i386.md (*movsf1, *movsf1_nointerunit, *movdf_nointeger,
+       *movdf_integer, *movxf_nointeger, *movtf_nointeger, *movxf_integer,
+       *movtf_integer): Simplify using new standard_80387_constant_opcode.
+
+2003-02-15  Geoffrey Keating  <geoffk@apple.com>
+
+       * doc/invoke.texi (Optimize Options): Correct @option syntax.
+
+2003-02-15  Richard Henderson  <rth@redhat.com>
+
+       * Makefile.in (cfglayout.o): Depend on TARGET_H.
+       * cfglayout.c: Include target.h.
+       (cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
+       * target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
+       * target.h (struct gcc_target): Add cannot_copy_insn_p.
+
+       * config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
+       (TARGET_CANNOT_COPY_INSN_P): New.
+       (override_options): Revert 2003-02-08 hack.
+
+2003-02-15  Richard Henderson  <rth@redhat.com>
+
+       * gcse.c (bypass_block): Use BLOCK_FOR_INSN for resolving LABEL_REFs.
+       (bypass_conditional_jumps): Accept computed_jump_p insns as well.
+
+2003-02-15  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.h (processor_type): Add PPC440.
+       * config/rs6000/rs6000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
+       TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
+       TARGET_SCHED_VARIABLE_ISSUE): Define.
+       (rs6000_use_dfa_pipeline_interface): New function.
+       (rs6000_multipass_dfa_lookahead): New Function.
+       (rs6000_variable_issue): New function.
+       (rs6000_adjust_cost): Add CMP and DELAYED_CR types.
+       (rs6000_issue_rate): Add PPC440.
+       * config/rs6000/rs6000.md (unspec list): Correct typo.
+       (attr "type"): Add load_ext, load_ext_u, load_ext_ux, load_u,
+       store_ux, store_u, fpload_ux, fpload_u, fpstore_ux, fpstore_u,
+       cmp, delayed_cr, mfcr, mtcr.
+       (automata_option): Set "ndfa".
+       (extendMMNN2): Update attributes.
+       (movcc_internal1): Discourage move to non-cr0.  Update
+       attributes.
+       (movMM_update): Update attributes.
+       (cmpMM_internal): Update attributes.
+       (sCC CR materialization): Update attributes.
+       (branch patterns): Do not discourage non-cr0.
+       (cr logical patterns): Prefer destructive register allocation.
+       Update attributes.
+       (movesi_from_cr): Update attribute.
+       (mtcrf_operation): Update attribute.
+       (mtcrfsi): Update attribute.
+       * config/rs6000/40x.md: New file.
+       * config/rs6000/603.md: New file.
+       * config/rs6000/6xx.md: New file.
+       * config/rs6000/7450.md: New file.
+       * config/rs6000/7xx.md: New file.
+       * config/rs6000/mpc.md: New file.
+       * config/rs6000/power4.md: New file.
+       * config/rs6000/rios1.md: New file.
+       * config/rs6000/rios2.md: New file.
+       * config/rs6000/rs64.md: New file.
+       [Some DFA descriptions based on work by Michael Hayes]
+
+2003-02-15  Richard Henderson  <rth@redhat.com>
+
+       * bb-reorder.c (find_traces_1_round): Don't connect easy to copy
+       successors with multiple predecessors.
+       (connect_traces): Try harder to copy traces of length 1.
+
+       * function.h (struct function): Add computed_goto_common_label,
+       computed_goto_common_reg.
+       * function.c (free_after_compilation): Zap them.
+       * stmt.c (expand_computed_goto): Use them to produce one 
+       indirect branch per function.
+
+2003-02-15  Richard Henderson  <rth@redhat.com>
+
+       * cfgcleanup.c: Include params.h.
+       (try_crossjump_bb): Use PARAM_MAX_CROSSJUMP_EDGES.  Fix test for
+       too many outgoing edges from a block.
+       * Makefile.in (cfgcleanup.o): Depend on PARAMS_H.
+       * params.def (max-crossjump-edges): New.
+       * doc/invoke.texi: Document it.
+
+2003-02-15  Richard Henderson  <rth@redhat.com>
+
+        * recog.c (split_all_insns): Include new blocks in life update;
+        do a global life update.
+
+2003-02-15  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
+       Update copyright.
+       * config/i386/cygwin.h (LIBGCC_SPEC): Add libmingwex.a for
+       -mno-cygwin case.
+
+2003-02-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
+
+       PR optimization/7702
+       * reload1.c (reload_cse_simplify_set): Honor
+       CANNOT_CHANGE_MODE_CLASS.
+
+2003-02-14  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/mn10300/mn10300.c (mn10300_wide_const_load_uses_clr): New
+       function.
+       * config/mn10300/mn10300-protos.h: Declare it.
+       * config/mn10300/mn10300.md (movdi, movdf): Use it to compute
+       attribute cc of instructions that may use clr.
+
+2003-02-14  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * simplify-rtx.c (simplify_binary_operation): Simplify ~y when
+       (x - (x & y)) is found.
+
+2003-02-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * configure.in: Fix typo.
+       * configure: Regenerate.
+
 2003-02-14  Kazu Hirata  <kazu@cs.umass.edu>
 
        * config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
 
 2003-02-13  Adam Nemet  <anemet@lnxw.com>
 
-        PR opt/2391 
-        * combine.c: Fix spelling in comment.
-        (cached_nonzero_bits): New function.
-        (cached_num_sign_bit_copies): New function.
+       PR opt/2391 
+       * combine.c: Fix spelling in comment.
+       (cached_nonzero_bits): New function.
+       (cached_num_sign_bit_copies): New function.
        (nonzero_bits_with_known): New macro.
        (num_sign_bit_copies_with_known): New macro.
-        (nonzero_bits1): Rename from nonzero_bits.  Add three new
+       (nonzero_bits1): Rename from nonzero_bits.  Add three new
        arguments.  Change calls from nonzero_bits to
        nonzero_bits_with_known.
-        (num_sign_bit_copies1): Rename from num_sign_bit_copies.  Add
+       (num_sign_bit_copies1): Rename from num_sign_bit_copies.  Add
        three new arguments.  Change calls from num_sign_bit_copies to
        num_sign_bit_copies_with_known.
-        (nonzero_bits): New macro.
-        (num_sign_bit_copies): New macro.
-        (update_table_tick): Don't traverse identical subexpression more
+       (nonzero_bits): New macro.
+       (num_sign_bit_copies): New macro.
+       (update_table_tick): Don't traverse identical subexpression more
        than once.
-        (get_last_value_validate): Likewise.
+       (get_last_value_validate): Likewise.
 
 2003-02-13  Zack Weinberg  <zack@codesourcery.com>