OSDN Git Service

* config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Build
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index b963ad6..7e9facb 100644 (file)
@@ -1,3 +1,204 @@
+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.
+       Call build_function_call instead of spu_build_overload_builtin.
+
+2006-12-07  Trevor Smigiel  <trevor_smigiel@playstation.sony.com>
+
+       * config/spu/spu.c (array_to_constant): Correct the order of arguments
+       to the calls of hwint_to_const_double.
+
+2006-12-07  Nick Clifton  <nickc@redhat.com>
+
+       * config/elfos.h (TARGET_ASM_RECORD_GCC_SWITCHES): Set to
+       elf_record_gcc_switches.
+
+2006-12-07  Andrew Macleod  <amacleod@redhat.com>
+
+       * expr.c (string_constant): Account for non-zero lower bound arrays.
+
+2006-12-07  Richard Guenther  <rguenther@suse.de>
+
+       * builtins.c (expand_builtin_pow): Adjust predicates for
+       pow to cbrt expansion to unsafe math and !HONOR_NANS for
+       negative base.
+
+2006-12-07  Jan Hubicka  <jh@suse.cz>
+
+       * i386.c (nocona_cost, pentium4_cost): Update preffered memcpy/memset
+       codegen.
+
+2006-12-07  Jan Hubicka  <jh@suse.cz>
+
+       * tree-vrp.c (compare_values): Short circuit INTEGER_CST;
+       use fold_constant_to_binary; tolerate wrong type constants.
+       (value_intersect_p): Do just two tests.
+
+2006-12-07  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * config/bfin/bfin.c (print_operand): New modifier 'N' for constants.
+       * config/bfin/bfin.md (ssashiftv2hi3, ssashifthi3, lshiftv2hi3,
+       lshifthi3): Use it, and fix the order of alternatives.
+
+2006-12-07  Nick Clifton  <nickc@redhat.com>
+
+       * common.opt (record-gcc-switches): New command line switch.
+       * target.h (print_switch_type): New enum.
+       (print_switch_fn_type): New typedef for a function pointer.
+       (struct gcc_target): Add record_gcc_switches and
+       record_gcc_switches_section fields.
+       * target-def.h (TARGET_ASM_RECORD_GCC_SWITCHES): Provide a
+        default definition.
+       (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Provide a default
+       definition.
+       * toplev.c (print_single_switch): Simplify by providing a
+       pointer to function that will format and output the switch
+       appropriately.
+       (print_switch_values): Likewise.
+       (print_to_asm_out_file): New function.
+       (print_to_stderr): New function.
+       (init_asm_output): If flag_record_gcc_switches is set then if
+        the target supports recording the switches then emit them into
+        the assembler output file, otherwise tell the user that the
+        switch is not supported.
+       * varasm.c (eld_record_gcc_switches): New function.  Example
+       handler for the record_gcc_switches target hook.
+       * doc/tm.texi (TARGET_ASM_RECORD_GCC_SWITCHES): Document the new
+       target hook.
+       (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Likewise.
+       * doc/invoke.texi (-frecord-gcc-switches): Document.
+
+2006-12-07  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
+
+       PR target/29794
+       * sched-rgn.c (add_block1): Use correct initializer.
+
+2006-12-07  Richard Guenther  <rguenther@suse.de>
+
+       * tree-vect-transform.c (vectorizable_call): Fix leftover of
+       TREE_OPERAND to GIMPLE_STMT_OPERAND conversion.
+
+2006-12-06  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR/30079
+       * config/pa/pa.c (hppa_gimplify_va_arg_expr): Build MODIFY_EXPR
+       not GIMPLE_MODIFY_STMT.
+
 2006-12-06  Jan Hubicka  <jh@suse.cz>
 
        * tree-vrp.c (operand_less_p): New.
        (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)).