OSDN Git Service

Fix aliasing bug that also caused memory usage problems.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index ab1327b..a8fbba5 100644 (file)
@@ -1,3 +1,182 @@
+2004-09-03  James E Wilson  <wilson@specifixinc.com>
+
+       * tree-ssa-alias.c (may_be_aliased): Move TREE_STATIC check after
+       DECL_EXTERNAL check.
+
+2004-09-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * final.c (output_in_slot): New global variable.
+       (final_scan_insn): Add new state '2' to the 'nopeepholes' parameter.
+       Pass 2 as 'nopeepholes' to self for insns in a SEQUENCE.  Set
+       'output_in_slot' before invoking output_asm_insn.
+       (output_asm_insn): Add a space after the tab if 'output_in_slot'
+       is set.
+       * config/sparc/sparc.c (output_return): Pass 2 as 'nopeepholes' to
+       final_scan_insn.
+       (output_sibcall): Likewise.
+
+2004-09-03  Jan Hubicka  <jh@suse.cz>
+
+       * tree-ssa-operands.c (fini_ssa_operands): ggc_free unused arrays.
+       * tree-ssanames (init_ssanames): Likewise.
+
+2004-09-03  Ziemowit Laski  <zlaski@apple.com>
+
+       * stub-objc.c (objc_is_id, objc_declare_alias, objc_declare_class,
+       objc_declare_protocols, objc_start_protocol,
+       objc_start_class_interface, objc_start_category_interface,
+       objc_continue_interface, objc_finish_interface,
+       objc_add_instance_variable, objc_set_visibility, objc_set_method_type,
+       objc_start_class_implementation, objc_start_category_implementation,
+       objc_continue_implementation, objc_finish_implementation,
+       objc_add_method_declaration, objc_start_method_definition,
+       objc_finish_method_definition, objc_build_keyword_decl,
+       objc_build_method_signature, objc_build_encode_expr,
+       objc_build_protocol_expr, objc_build_selector_expr,
+       objc_build_message_expr, objc_build_string_object,
+       objc_get_class_reference, objc_get_protocol_qualified_type,
+       objc_static_init_needed_p, objc_generate_static_init_call): New stubs.
+
+2004-09-03  James E Wilson  <wilson@specifixinc.com>
+
+       * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add __mips3d.
+
+       * config/mips/generic.md (generic_frecip_fsqrt_step): New.
+       * config/mips/mips-ps-3d.md (mips_rsqrt1_<fmt>): Use frsqrt1 type.
+       (mips_rsqrt2_<fmt>): Use frsqrt2 type.
+       (mips_recip1_<fmt>): Use frdiv1 type.
+       (mips_recip2_<fmt>): Use frdiv2 type.
+       * config/mips/mips.md (type): Add frdiv1, frdiv2, frsqrt1, frsqrt2.
+       * config/mips/sb1.md (ir_sb1_fpu_2pipes, ir_sb1_fpu_1pipe): Add frdiv1
+       and frsqrt1.
+       (ir_sb1_fpu_step2_2pipes, ir_sb1_fpu_step2_1pipe): New.
+
+2004-09-03  Daniel Jacobowitz  <dan@debian.org>
+
+       * reload.c (find_reloads): Swap operand_loc pointers for
+       find_dummy_reload if we have swapped two operands.
+
+2004-09-03  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.h (ASM_OUTPUT_CASE_END): Use prev_nonnote_insn
+       to get the tablejump-insn before the jump-table label.
+
+2004-09-03  Ziemowit Laski  <zlaski@apple.com>
+
+       * c-common.h (objc_is_id, objc_declare_alias, objc_declare_class,
+       objc_declare_protocols, objc_build_message_expr,
+       objc_finish_message_expr, objc_build_selector_expr,
+       objc_build_protocol_expr, objc_build_encode_expr,
+       objc_build_string_object, objc_get_protocol_qualified_type,
+       objc_get_class_reference, objc_get_class_ivars,
+       objc_start_class_interface, objc_start_category_interface,
+       objc_start_protocol, objc_continue_interface, objc_finish_interface,
+       objc_start_class_implementation, objc_start_category_implementation,
+       objc_continue_implementation, objc_finish_implementation,
+       objc_set_visibility, objc_set_method_type, objc_build_method_signature,
+       objc_add_method_declaration, objc_start_method_definition,
+       objc_finish_method_definition, objc_add_instance_variable,
+       objc_build_keyword_decl, objc_build_throw_stmt, objc_begin_try_stmt,
+       objc_finish_try_stmt, objc_begin_catch_clause,
+       objc_finish_catch_clause, objc_build_finally_clause,
+       objc_build_synchronized, objc_static_init_needed_p,
+       objc_generate_static_init_call): New prototypes.
+
+2004-09-03  Steve Ellcey  <sje@cup.hp.com>
+
+       * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL even if there
+       is only one reg.
+       (ia64_function_value): Ditto.
+
+2004-09-03  Jan Beulich  <jbeulich@novell.com>
+
+       * config.gcc: Resurrect NetWare as a target. Handle special case of
+       Novell linker to be used (specified through --with-ld=) and threading
+       model of either Posix (default) or NKS.
+       * config/i386/i386.c (ix86_return_pops_args): Conditionalize popping
+       of incoming hidden argument on KEEP_AGGREGATE_RETURN_POINTER.
+       * config/i386/i386.h (KEEP_AGGREGATE_RETURN_POINTER): New.
+       * config/i386/netware.c, config/i386/netware.h: New.
+       * config/i386/nwld.c, config/i386/nwld.h: New.
+       * config/i386/netware-crt0.c: New.
+       * config/i386/netware-libgcc.c: New.
+       * config/i386/netware-libgcc.def: New.
+       * config/i386/netware-libgcc.exp: New.
+       * config/i386/t-netware, config/i386/t-nwld: New.
+       * gthr-nks.h: New.
+       * doc/install.texi: Document NKS threading model.
+
+2004-09-03  Jan Beulich  <jbeulich@novell.com>
+
+       PR c/7054
+       * defaults.h (TARGET_DEFAULT_PACK_STRUCT): Provide default.
+       * tree.h (initial_max_fld_align): Declare
+       * stor-layout.c (initial_max_fld_align): Define and initialize.
+       (maximum_field_alignment): Initialize to the same value.
+       * common.opt: Add -fpack-struct= variant of switch.
+       * opts.c: Handle -fpack-struct= variant of switch.
+       * c-pragma.c: Change #pragma pack() handling so that it becomes
+       compatible to other compilers: accept individual 'push' argument,
+       make final pop restore (command line) default, correct interaction
+       of push/pop and sole specification of a new alignment (so that the
+       sequence #pragma pack(push) - #pragma pack(<n>) becomes identical
+       to #pragma pack(push, <n>).
+       * doc/extend.texi: New node "Structure-Packing Pragmas" under
+       "Pragmas", describing #pragma pack.
+       * doc/invoke.texi: Document -fpack-struct=<n> variant of switch.
+       * doc/tm.texi: Adjust description for HANDLE_PRAGMA_PACK_PUSH_POP.
+       Document new TARGET_DEFAULT_PACK_STRUCT.
+
+2004-09-03  Devang Patel  <dpatel@apple.com>
+
+       * dwarf2out.c (gen_field_die). Equate decl number to die.
+       
+2004-09-03  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR target/15832
+       * global.c (modify_reg_pav): New function.
+       (make_accurate_live_analysis): Call the new function.  Move pavin
+       modification by earlyclobber set into the new function.
+
+2004-09-03  Andreas Schwab  <schwab@suse.de>
+
+       * config/m68k/m68k.c (output_andsi3): Use -1 instead of
+       (HOST_WIDE_INT)0xffffffff since CONST_INT value are always sign
+       extended.
+
+2004-09-02  Jan Beulich  <jbeulich@novell.com>
+
+       * Makefile.in (LIB2ADDEHDEP): Add unwind.h and unwind-pe.h.
+       * mklibgcc.in (libgcc_dep): New, covering general dependencies, but
+       not unwind code specific ones.
+       (libgcc2_c_dep): Replace general dependencies with use of libgcc_dep.
+       Remove unwind code specific dependencies.
+       (libgcov_c_dep): Replace general dependencies with use of libgcc_dep.
+       Remove gbl-ctors.h.
+       Add libgcc_dep to output generated for LIB2ADD, LIB2ADDEH, and
+       LIB2ADD_ST. Add LIB2ADDEHDEP to output generated for LIB2ADDEH.
+       * tsystem.h: Declare memcpy and memset when inhibit_libc.
+
+2004-09-02  Roman Zippel  <zippel@linux-m68k.org>
+       * combine.c (try_combine): Delay modifying of insns which cannot
+       be easily undone.
+
+2004-09-02  Daniel Berlin  <dberlin@dberlin.org>
+
+       * gcc/common.opt: Rename ivcanon to tree-loop-ivcanon, tree-lim to
+       tree-loop-im.
+       * gcc/tree-ssa-loop.c: Ditto
+       * gcc/tree-ssa-loop-ivcanon.c: Ditto
+       * gcc/doc/invoke.texi: Ditto.
+
+2004-09-02  Ziemowit Laski  <zlaski@apple.com>
+
+       * c-decl.c (store_parm_decls_newstyle): Make static.
+       (store_parm_decls_from): New function.
+       * c-tree.h (store_parm_decls_newstyle): Remove prototype.
+       (store_parm_decls_from): New prototype.
+
 2004-09-02  David Edelsohn  <edelsohn@gnu.org>
 
        * config/rs6000/rs6000.c (expand_block_move): Use SImode and
 2004-09-01  Roger Sayle  <roger@eyesopen.com>
 
        * expmed.c (enum alg_code): Remove long unused enumeration values.
-        (struct mult_cost): New structure to hold the "score" of a synthetic
+       (struct mult_cost): New structure to hold the "score" of a synthetic
        multiply sequence, including both a rtx_cost and a latency field.
        (MULT_COST_LESS): New macro to compare mult_cost to a constant.
        (CHEAPER_MULT_COST): New macro to compare two mult_costs.
 
 2004-09-01  Richard Henderson  <rth@redhat.com>
 
-        * config/ns32k/ns32k.h (TRANSFER_FROM_TRAMPOLINE): Remove.
-        (TRAMPOLINE_TEMPLATE): Merge code from __trampoline inline.
+       * config/ns32k/ns32k.h (TRANSFER_FROM_TRAMPOLINE): Remove.
+       (TRAMPOLINE_TEMPLATE): Merge code from __trampoline inline.
 
 2004-09-01  Jakub Jelinek  <jakub@redhat.com>