+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.
+ (compare_values, value_inside_range): Rewrite in terms of
+ operand_less_p.
+
+2006-12-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (DIRFLAG_REG): Remove constant.
+ (type): Remove cld.
+ (length_immediate): Do not depend on cld type attribute.
+ (length_address): Ditto.
+ (modrm): Ditto.
+ (memory): Ditto.
+ (cld): Remove insn pattern.
+ (strmov_singleop): Do not use DIRFLAG_REG.
+ (*strmovdi_rex_1): Ditto.
+ (*strmovsi_1): Ditto.
+ (*strmovsi_rex_1): Ditto.
+ (*strmovhi_1): Ditto.
+ (*strmovhi_rex_1): Ditto.
+ (*strmovqi_1): Ditto.
+ (*strmovqi_rex_1): Ditto.
+ (rep_mov): Ditto.
+ (*rep_movdi_rex64): Ditto.
+ (*rep_movsi): Ditto.
+ (*rep_movsi_rex64): Ditto.
+ (*rep_movqi): Ditto.
+ (*rep_movqi_rex64): Ditto.
+ (strset_singleop): Ditto.
+ (*strsetdi_rex_1): Ditto.
+ (*strsetsi_1): Ditto.
+ (*strsetsi_rex_1): Ditto.
+ (*strsethi_1): Ditto.
+ (*strsethi_rex_1): Ditto.
+ (*strsetqi_1): Ditto.
+ (*strsetqi_rex_1): Ditto.
+ (rep_stos): Ditto.
+ (*rep_stosdi_rex64): Ditto.
+ (*rep_stossi): Ditto.
+ (*rep_stossi_rex64): Ditto.
+ (*rep_stosqi): Ditto.
+ (*rep_stosqi_rex64): Ditto.
+ (cmpstrnsi): Do not generate cld insn.
+ (cmpstrnqi_nz_1): Do not use DIRFLAG_REG.
+ (*cmpstrnqi_nz_1): Ditto.
+ (*cmpstrnqi_nz_rex_1): Ditto.
+ (cmpstrnqi_1): Ditto.
+ (*cmpstrnqi_1): Ditto.
+ (*cmpstrnqi_rex_1): Ditto.
+ (strlenqi_1): Ditto.
+ (*strlenqi_1): Ditto.
+ (*strlenqi_rex_1): Ditto.
+
+ * config/i386/geode.md (shift): Do not depend on cld type attribute.
+ * config/i386/pentium.md (pent_cld): Remove insn reservation.
+ * config/i386/athlon.md (athlon_decode): Do not depend on cld
+ type attribute.
+ * config/i386/ppro.md (ppro_cld): Remove insn reservation.
+ * config/i386/k6.md (k6_alux_only): Do not depend on cld type
+ attribute.
+ (k6_alux_only_load): Ditto.
+ (k6_alux_only_store): Ditto.
+
+ * config/i386/i386.c (ix86_expand_movmem): Remove cld_done boolean.
+ Do not emit cld instruction.
+ (ix86_expand_setmem): Ditto.
+ (ix86_expand_strlen): Do not emit cld instruction.
+
+2006-12-06 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * config/bfin/bfin.c (bfin_rtx_costs): Add a number of new cases, tweak
+ old ones.
+
+2006-12-06 Diego Novillo <dnovillo@redhat.com>
+
+ * gdbinit.in: Set complaints to 0.
+
2006-12-06 Jan Hubicka <jh@suse.cz>
* statistics.h (ALONE_PASS_MEM_STAT, ALONE_MEM_STAT_INFO,
(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)).