OSDN Git Service

PR target/30039
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 25a1e7c..b2ad353 100644 (file)
@@ -1,8 +1,127 @@
+2006-12-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR target/30039
+       * pa.md (high:DI and lo_sum:DI): Handle 64-bit CONST_INTs in 32-bit
+       patterns.  Correct length of high:DI instruction sequence.
+
+2006-12-08  Mike Stump  <mrs@apple.com>
+
+       * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Build
+       libgcc with -mmacosx-version-min=10.4.
+       * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Default to
+       G4 for 10.5+ unless doing kernel builds.
+
+2006-12-08  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/30120
+       * reg-stack.c (convert_regs_entry): Mark current argument passing
+       registers as live.
+
+       * config/i386/i386.h (X87_REGPARM_MAX): Set to 0 to disable passing
+       of float arguments in x87 registers.
+
+2006-12-08  John David Anglin  <dave.anglin.@nrc-cnrc.gc.ca>
+
+       * pa.h (LEGITIMATE_CONSTANT_P): Simplify.
+
+2006-12-08  Mark Shinwell  <shinwell@codesourcery.com>
+
+       * recog.c (mode_dependent_address_p): Identify pre-increment,
+       pre-decrement, post-increment and post-decrement addressing as always
+       being mode-dependent.
+       * config/m32c/m32c.c (m32c_mode_dependent_address): Delete.
+       * config/m32c/m32c.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
+       * config/m32c/m32c-protos.h (m32c_mode_dependent_address): Delete.
+       * config/m32r/m32r.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete PRE_DEC,
+       PRE_INC and POST_INC checks.
+       * config/i386/i386.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
+       * config/sh/sh.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
+       * config/pdp11/pdp11.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
+       * config/avr/avr.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
+       * config/c4x/c4x.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete PRE_DEC,
+       PRE_INC, POST_DEC and POST_INC cases.
+       * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
+       Delete POST_INC and PRE_DEC cases.
+       * config/m68hc11/m68hc11.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to
+       no-op.
+       * config/cris/cris.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
+       * config/mn10300/mn10300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to
+       no-op.
+       * config/ia64/ia64.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
+       * config/m68k/m68k.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
+       * config/rs6000/rs6000.c (rs6000_mode_dependent_address): Delete
+       PRE_INC and PRE_DEC cases.
+       * config/arc/arc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
+       * config/mcore/mcore.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
+       * config/arm/arm.h (ARM_GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
+       (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
+       * config/pa/pa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
+       * config/vax/vax.c (vax_mode_dependent_address_p): Delete
+       auto-increment cases.
+       * config/h8300/h8300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete
+       auto-increment cases.
+       * config/bfin/bfin.h (GO_IF_MODE_DEPENDENT_ADDRESS): Change to no-op.
+
+2006-12-08  Andrew MacLeod  <amacleod@redhat.com>
+
+       * Makefile.in: Add new file tree-ssa-ter.c.
+       * tree-outof-ssa.c (struct temp_expr_table_d, new_temp_expr_table, 
+       free_temp_expr_table, add_value_to_version_list, 
+       add_value_to_partition_list, remove_value_from_partition_list, 
+       add_dependence, check_replaceable, finish_expr, mark_replaceable, 
+       kill_expr, kill_virtual_exprs, find_replaceable_in_bb, 
+       find_replaceable_exprs, dump_replaceable_exprs): Move to tree-ssa-ter.c.
+       * tree-ssa-live.h (find_replaceable_exprs, dump_replaceable_exprs): Add
+       prototypes.
+       * tree-ssa-ter.c: New file using code moved from tree-outof-ssa.c.
+       (struct value_expr_d): Remove.
+       (struct temp_expr_table_d): Rename fields, add explicit vector of
+       replaceable expressions instead of sharing.  Change value_expr_p's to 
+       bitmap.  Delete free_list.
+       (new_temp_expr_table): Rename fields, count number of ssa_names in
+       each partition.
+       (free_temp_expr_table): Rename field, free new fields.
+       (new_value_expr, free_value_expr, find_value_in_list, add_value_to_list,
+       add_info_to_list, remove_value_from_list): Delete.
+       (version_to_be_replaced_p): New.  Is an ssa-name replaceable?
+       (make_dependent_on_partition): New.  Set bit in version list, allocating
+       a bitmap if need be.
+       (add_to_partition_kill_list): New.  Set bit in the partition list,
+       allocating a bitmap if need be.
+       (remove_from_partition_kill_list): New.  Remove a bit from the
+       partition list, free the bitmap if it is empty.
+       (add_dependence): Use renamed field, cleanup.  Don't add a dependence
+       on partitions with only one member.
+       (is_replaceable_p): New.  Split out replaceability check from 
+       check_replaceable.
+       (process_replaceable): New.  Code split from check_replaceable.
+       (check_replaceable): Removed.
+       (finished_with_expr): Renamed from finish_expr.
+       (kill_expr): Use renamed fields and less parameters.
+       (kill_virtual_exprs): Less parameters.
+       (mark_replaceable): Use renamed fields.
+       (find_replaceable_in_bb): Use renamed fields, cleanup.
+       (find_replaceable_exprs): Use renamed routines, cleanup.
+       (dump_replaceable_exprs): Don't go past end of ssa_names list.
+       (debug_ter): New.  Debug routine to dump state.
+
+2006-12-08  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * config/bfin/bfin.c (effective_address_32bit_p): Return true for
+       anything involving the GOT.
+       (bfin_adjust_cost): Don't take the REGNO of a MEM.
+       (trapping_loads_p): Look inside the pattern of an insn to find the
+       SET.
+       * config/bfin/bfin.md (attr "type"): Add movcc.
+       (insn_reservation "alu"): Likewise.
+       (movsicc_insn1, movsicc_insn2): Change type to movcc.
+
 2006-12-07  Andrew Pinski  <andrew_pinski@playstation.sony.com>
 
        * config/spu/spu-c.c (spu_build_overload_builtin): Delete.
        (spu_resolve_overloaded_builtin): Check for non scalar instead
-       of vector type and check the function call argument type also for non scalar.
+       of vector type and check the function call argument type also for
+       non scalar.
        Call build_function_call instead of spu_build_overload_builtin.
 
 2006-12-07  Trevor Smigiel  <trevor_smigiel@playstation.sony.com>
        (gfc_add_modify_stmt): New macro.
        * fortran/f95-lang.c (lang_tree_node): Handle gimple statements.
 
-       2006-11-02  Aldy Hernandez  <aldyh@redhat.com>
-
-       * ada/ada-tree.h (lang_tree_node): Handle gimple tuples.
-       * ada/trans.c (gnat_gimplify_expr): Replace MODIFY_EXPR with
-       GIMPLE_MODIFY_STMT.
-
        2006-11-01  Aldy Hernandez  <aldyh@redhat.com>
 
        * Merge from mainline at revision 118200.
 
 2006-04-20  Jakub Jelinek  <jakub@redhat.com>
 
+       PR C/27558
        * c-pretty-print.c (pp_c_direct_abstract_declarator): Print
        TYPE_MAX_VALUE (TYPE_DOMAIN (t)) + 1 for ARRAY_TYPE rather
        than plain TYPE_MAX_VALUE (TYPE_DOMAIN (t)).