+2007-07-12 Geoffrey Keating <geoffk@apple.com>
+
+ * ginclude/tgmath.h: New.
+ * config.gcc: Use GCC's tgmath.h on non-glibc systems.
+ * doc/sourcebuild.texi (Headers): Document use_gcc_tgmath.
+ * configure.ac (STMP_FIXPROTO): Honor use_gcc_tgmath.
+ * configure: Regenerate.
+
+2007-07-13 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/linux-unwind.h (sh_fallback_frame_state): Use
+ correct index when setting register save state for xd
+ registers.
+
+2007-07-13 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (mark_use): Remove.
+
+2007-07-12 Paul Brook <paul@codesourcery.com>
+
+ * config/arm/arm.c (thumb1_compute_save_reg_mask): Make sure scratch
+ reg does not overlap return value.
+
+2007-07-12 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-ssa-pre.c (get_expression_vuses): Move out side-effect.
+ (set_expression_vuses): Ditto.
+ (init_pre): Initialize expression_vuses.
+
+2007-07-12 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * config/i386/sse.md (storentdf, storentsf): New.
+
+2007-07-12 Geoffrey Keating <geoffk@apple.com>
+
+ * builtins.c (get_pointer_alignment): Honor DECL_ALIGN on a
+ FUNCTION_DECL.
+ * tree.c (build_decl_stat): Move code from here...
+ (make_node_stat): ... to here. Don't uselessly clear DECL_USER_ALIGN.
+ (expr_align): Honor DECL_ALIGN on a FUNCTION_DECL. Add comment
+ about using DECL_ALIGN of LABEL_DECL and CONST_DECL.
+ * tree.h (DECL_USER_ALIGN): Fix misplaced comment.
+ * varasm.c (assemble_start_function): Use DECL_ALIGN instead of
+ FUNCTION_BOUNDARY.
+
+2007-07-12 Dorit Nuzman <dorit@il.ibm.com>
+ Devang Patel <dpatel@apple.com>
+
+ PR tree-optimization/25413
+ * targhooks.c (default_builtin_vector_alignment_reachable): New.
+ * targhooks.h (default_builtin_vector_alignment_reachable): New.
+ * tree.h (contains_packed_reference): New.
+ * expr.c (contains_packed_reference): New.
+ * tree-vect-analyze.c (vector_alignment_reachable_p): New.
+ (vect_enhance_data_refs_alignment): Call
+ vector_alignment_reachable_p.
+ * target.h (vector_alignment_reachable): New builtin.
+ * target-def.h (TARGET_VECTOR_ALIGNMENT_REACHABLE): New.
+ * config/rs6000/rs6000.c (rs6000_vector_alignment_reachable): New.
+ (TARGET_VECTOR_ALIGNMENT_REACHABLE): Define.
+
+2007-07-12 Dorit Nuzman <dorit@il.ibm.com>
+
+ * target.h (builtin_vectorization_cost): Add new target builtin.
+ * target-def.h (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): New.
+ * tree-vectorizer.h (TARG_SCALAR_STMT_COST): New.
+ (TARG_SCALAR_LOAD_COST, TARG_SCALAR_STORE_COST): New.
+ * tree-vect-analyze.c (vect_analyze_slp_instance): Initisliaze
+ uninitialized variables.
+ * tree-vect-transform.c (cost_for_stmt): New function.
+ (vect_estimate_min_profitable_iters): Call cost_for_stmt instead of
+ using cost 1 for all scalar stmts. Be less conservative when
+ estimating the number of prologue/epulogue iterations. Call
+ targetm.vectorize.builtin_vectorization_cost. Return
+ min_profitable_iters-1.
+ (vect_model_reduction_cost): Use TARG_SCALAR_TO_VEC_COST for
+ initialization cost instead of TARG_VEC_STMT_COST. Use
+ TARG_VEC_TO_SCALAR_COST instead of TARG_VEC_STMT_COST for reduction
+ epilogue code. Fix epilogue cost computation.
+ * config/spu/spu.c (spu_builtin_vectorization_cost): New.
+ (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Implement.
+ * config/spu/spu.h (TARG_COND_BRANCH_COST, TARG_SCALAR_STMT_COST):
+ (TARG_SCALAR_LOAD_COST, TARG_SCALAR_STORE_COST, TARG_VEC_STMT_COST):
+ (TARG_VEC_TO_SCALAR_COST, TARG_SCALAR_TO_VEC, TARG_VEC_LOAD_COST):
+ (TARG_VEC_UNALIGNED_LOAD_COST, TARG_VEC_STORE_COST): Define.
+
+2007-07-12 Richard Guenther <rguenther@suse.de>
+
+ * gimplify.c (gimplify_conversion): Make sure that the result
+ from maybe_fold_offset_to_reference is trivially convertible
+ to the desired type before doing the simplification.
+ (gimplify_expr): Likewise.
+ * fold-const.c (fold_binary): Use the correct types for
+ building the simplified expression.
+
+2007-07-12 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR rtl-optimization/32729
+ * cfghooks.c (can_duplicate_block_p): Do not forbid duplicating blocks
+ that fallthru to exit.
+
+2007-07-12 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.md (symGOTOFF2reg): Add missing parenthesis.
+ (symDTPOFF2reg): Likewise.
+
+2007-07-11 Daniel Berlin <dberlin@dberlin.org>
+
+ PR tree-optimization/32663
+
+ * tree.h (VALUE_HANDLE_VUSES): Remove.
+ (struct tree_value_handle): Remove vuses.
+
+ * tree-vn.c (create_value_handle_for_expr): Don't set
+ VALUE_HANDLE_VUSES.
+
+ * tree-ssa-pre.c (expression_vuses): New.
+ (alloc_expression_id): Set up expression_vuses.
+ (get_expression_vuses): New.
+ (set_expression_vuses): Ditto.
+ (clear_expression_ids): Modify for expression_vuses.
+ (phi_translate_1): Ditto.
+ (phi_translate_set): Ditto.
+ (value_dies_in_block_x): Ditto
+ (valid_in_sets): Ditto.
+ (add_to_sets): Ditto.
+ (find_existing_value_expr): Ditto.
+ (create_value_handle_for_expr): Ditto.
+ (make_values_for_stmt): Ditto.
+ (vuse_equiv): Remove.
+
+2007-07-11 Alexandre Oliva <aoliva@redhat.com>
+
+ * Makefile.in (mostlyclean): Remove object files.
+
+2007-07-11 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ * toplev.c (no_new_pseudos): Deleted.
+ * rtl.h (no_new_pseudos): Deleted.
+ * tree-pass.h (pass_no_new_pseudos): Deleted.
+ * passes.c (pass_no_new_pseudos): Deleted.
+ * final.c (rest_of_clean_state): Removed no_new_pseudos.
+ (rest_of_no_new_pseudos, pass_no_new_pseudos): Deleted.
+ * struct-equiv.c (rtx_equiv_p): Replaced no_new_pseudos with
+ reload_completed.
+ * cfgcleanup.c (try_crossjump_to_edge): Ditto.
+ * rtlhooks.c (gen_lowpart_general): Ditto.
+ * optabs.c (prepare_operand): Ditto.
+ * mode-switching.c (rest_of_handle_mode_switching): Deleted set of
+ no_new_pseudos.
+ * modulo-sched.c (rest_of_handle_sms): Ditto.
+ * see.c (rest_of_handle_see): Ditto.
+ * ifcvt.c (if_convert): Ditto.
+ (gate_handle_if_after_combine): Replaced no_new_pseudos with
+ reload_completed.
+ * init-regs.c (gate_initialize_regs): Deleted set of
+ no_new_pseudos.
+ * lower-subreg.c (decompose_multiword_subregs): Ditto.
+ * bb-reorder.c (rest_of_handle_partition_blocks): Ditto.
+ * doc/md.texi: Changed no_new_pseudos to can_create_pseudo_p.
+
+2007-07-11 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/32661
+ * config/i386/sse.md (*sse2_storeq_rex64): Handle 64bit mem->reg moves.
+ (*vec_extractv2di_1_sse2): Disable for TARGET_64BIT.
+ (*vec_extractv2di_1_rex64): New insn pattern.
+
+2007-07-11 David Daney <ddaney@avtrex.com>
+
+ * config/mips/linux-unwind.h (mips_fallback_frame_state): Rewrite
+ return address calculation. Substitute DWARF_ALT_FRAME_RETURN_COLUMN
+ for SIGNAL_UNWIND_RETURN_COLUMN.
+ * config/mips/mips.h (SIGNAL_UNWIND_RETURN_COLUMN): Remove.
+ (DWARF_FRAME_REGNUM): Rewrite.
+ (DWARF_ALT_FRAME_RETURN_COLUMN) Define.
+
+2007-07-11 Nick Clifton <nickc@redhat.com>
+
+ * config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Revert previous
+ delta and use gen_int_mode in place of GET_INT instead.
+
+2007-07-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * reg-stack.c (struct tree_opt_pass pass_stack_regs): Nullify name
+ and letter field.
+
+2007-07-11 Douglas Gregor <doug.gregor@gmail.com>
+
+ * params.def (PARAM_VERIFY_CANONICAL_TYPES): Remove.
+ (PARAM_USE_CANONICAL_TYPES): New; decides whether to use canonical
+ types or not.
+ * params.h (VERIFY_CANONICAL_TYPES): Remove.
+ (USE_CANONICAL_TYPES): New.
+ * doc/invoke.texi (verify-canonical-types): Remove.
+ (use-canonical-types): Add.
+
+2007-07-11 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/spu/spu.c (spu_optimization_options): Remove setting of
+ parameter PARAM_MAX_COMPLETELY_PEEL_TIMES.
+ (spu_override_options): Move it here.
+
+2007-07-11 Richard Sandiford <richard@codesourcery.com>
+
+ * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Handle -m4ksc and -m4ksd.
+ * config/mips/mips.c (mips_cpu_info_table): Mention
+ MIPS_ISA_LEVEL_SPEC in the comment.
+
+2007-07-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR tree-optimization/32713
+ * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle REAL_CST.
+
+2007-07-11 Paolo Carlini <pcarlini@suse.de>
+
+ PR middle-end/30482
+ * c-opts.c (c_common_post_options): Do not change flag_complex_method
+ conditional to flag_isoc99.
+ (c_common_init_options): Do it here, unconditionally.
+
+2007-07-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR tree-optimization/32589
+ * doc/tree-ssa.texi (Rough GIMPLE Grammar): Add missing rule.
+ * tree-gimple.c (is_gimple_min_invariant): Clarify head comment.
+ * tree-ssa-propagate.c (valid_gimple_expression_p): New
+ predicate, extracted from...
+ (set_rhs): ...here. Call it for the expression on entry.
+ * tree-ssa-propagate.h (valid_gimple_expression_p): Declare.
+ * tree-ssa-sccvn.c: Include tree-ssa-propagate.h.
+ (simplify_binary_expression): Use valid_gimple_expression_p
+ to validate the simplification.
+ * Makefile.in (tree-ssa-sccvn.o): Depends on tree-ssa-propagate.h.
+
+2007-07-11 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * config/i386/cygming.h (PREFERRED_DEBUGGING_TYPE): Define to
+ DWARF2_DEBUG on 32 bit target too.
+ (DWARF2_UNWIND_INFO): Reorganize 64-bit vs 32-bit definition.
+
+2007-07-11 Nick Clifton <nickc@redhat.com>
+
+ * config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Provide alternative
+ version for 64-bit hosts.
+
+2007-07-10 David Daney <ddaney@avtrex.com>
+
+ * config/mips/mips.h (ISA_HAS_SYNCI): New target capability
+ predicate.
+ (INITIALIZE_TRAMPOLINE): Emit clear_cache insn instead of library
+ call.
+ * config/mips/mips.c (mips_expand_synci_loop): New function.
+ * config/mips/mips.md (UNSPEC_CLEAR_HAZARD): New constant.
+ (UNSPEC_RDHWR): Same.
+ (UNSPEC_SYNCI): Same.
+ (UNSPEC_SYNC): Same.
+ (clear_cache): New expand.
+ (sync): New insn.
+ (synci): Same.
+ (rdhwr): Same.
+ (clear_hazard): Same.
+ * config/mips/mips-protos.h (mips_expand_synci_loop): Declare
+ function.
+ * testsuite/gcc.target/mips/clear-cache-1.c: New test.
+ * testsuite/gcc.target/mips/clear-cache-2.c: New test.
+
+2007-07-10 Ian Lance Taylor <iant@google.com>
+
+ * emit-rtl.c (gen_reg_rtx): Check can_create_pseudo_p rather than
+ no_new_pseudos.
+
+2007-07-10 David Daney <ddaney@avtrex.com>
+
+ * builtins.def (BUILT_IN_CLEAR_CACHE): New builtin.
+ * builtins.c (expand_builtin___clear_cache): New function.
+ (expand_builtin): Call expand_builtin___clear_cache for
+ BUILT_IN_CLEAR_CACHE case.
+ * doc/extend.texi (__builtin___clear_cache): Document new builtin.
+ * doc/md.texi (clear_cache): Document new instruction pattern.
+ * testsuite/gcc.dg/builtins-64.c: New test.
+
+2007-07-11 Hans-Peter Nilsson <hp@axis.com>
+
+ * config/cris/cris.md ("movsi"): Fix typo in last change.
+
+2007-07-09 Geoffrey Keating <geoffk@apple.com>
+
+ PR 32617
+ * c-common.c (c_alignof_expr): Look at DECL_ALIGN of
+ FUNCTION_DECLs.
+ (handle_aligned_attribute): Allow use on FUNCTION_DECLs.
+ * varasm.c (assemble_start_function): Honor DECL_ALIGN
+ for FUNCTION_DECLs. Don't use align_functions_log if
+ DECL_USER_ALIGN.
+ * print-tree.c (print_node): Print DECL_ALIGN and DECL_USER_ALIGN
+ even for FUNCTION_DECLs.
+ * c-decl.c (merge_decls): Propagate DECL_ALIGN even for
+ FUNCTION_DECLs.
+ * tree.h (DECL_ALIGN): Update for new location of 'align'.
+ (DECL_FUNCTION_CODE): Update for new location and name of
+ 'function_code'.
+ (DECL_OFFSET_ALIGN): Update for new location of 'off_align'.
+ (struct tree_decl_common): Move 'align' and 'off_align' out
+ of union, ensure they're still on a 32-bit boundary. Remove
+ other fields in union 'u1'.
+ (struct tree_function_decl): Add field 'function_code' replacing
+ 'u1.f' in tree_decl_common.
+ * tree.c (build_decl_stat): Set initial value of DECL_ALIGN.
+ * doc/extend.texi (Function Attributes): Add 'aligned' attribute.
+ (Variable Attributes): Cross-reference 'aligned' attribute
+ to Function Attributes.
+ * flags.h (force_align_functions_log): Delete.
+ * toplev.c (force_align_functions_log): Delete.
+
2007-07-10 Uros Bizjak <ubizjak@gmail.com>
PR target/32708