+2007-08-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * gcc/builtin-types.def (BT_FN_PTR_PTR_SIZE): New type.
+ * gcc/builtins.def (BUILT_IN_REALLOC): New builtin.
+
+2007-08-29 Douglas Gregor <doug.gregor@gmail.com>
+
+ PR c++/33194
+ * tree.c (build_type_attribute_qual_variant): Set canonical types
+ on the final, unqualified attribute variant before building the
+ qualified version.
+
+2007-08-29 Jie Zhang <jie.zhang@analog.com>
+
+ * config/bfin/bfin.c (bfin_expand_builtin): Fix the argument
+ order of __builtin_bfin_cmplx_mac and __builtin_bfin_cmplx_msu.
+
+2007-08-29 Jie Zhang <jie.zhang@analog.com>
+
+ Revert
+ 2007-08-29 Jie Zhang <jie.zhang@analog.com>
+ * config/bfin/bfin.md (composev2hi): Put operands into vector
+ with correct order.
+
+2007-08-29 Jie Zhang <jie.zhang@analog.com>
+
+ * config/bfin/bfin.md (composev2hi): Put operands into vector
+ with correct order.
+
+2007-08-29 Jie Zhang <jie.zhang@analog.com>
+
+ * config/bfin/bfin.c (bfin_expand_call): Inline PLT with l1_text
+ attribute when appropriate.
+ (bfin_handle_l1_text_attribute): New.
+ (bfin_handle_l1_data_attribute): New.
+ (bfin_attribute_table): Add attributes: l1_text, l1_data,
+ l1_data_A and l1_data_B.
+ * doc/extend.texi (node Function Attributes): Document l1_text
+ function attribute.
+ (Variable Attributes): Add Blackfin subsection. Document l1_data,
+ l1_data_A and l1_data_B variable attributes.
+
+2007-08-28 Jie Zhang <jie.zhang@analog.com>
+
+ * config/bfin/bfin.opt (minline-plt): Add.
+ * config/bfin/bfin.c (bfin_expand_call): Inline PLT when emit
+ call to global functions.
+ * doc/invoke.texi (Option Summary): Mention -minline-plt.
+ (Blackfin Options): Document -minline-plt.
+
+2007-08-28 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/m68k/m68k.c (m68k_get_function_kind): Assert we're never
+ given a non-function.
+ (m68k_ok_for_sibcall_p): Only sibcall functions of the same kind.
+
+2007-08-28 DJ Delorie <dj@redhat.com>
+
+ * config/sh/sh.c (sh_gimplify_va_arg_expr): Fix sh2a support.
+
+2007-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * system.h (CONST_CAST): Avoid union for gcc-4.0.x.
+
+2007-08-28 Richard Guenther <rguenther@suse.de>
+
+ * tree.h (struct tree_function_decl): Increase size of
+ function_code bitfield.
+
+2007-08-28 Nathan Sidwell <nathan@codesourcery.com>
+ Kazu Hirata <kazu@codesourcery.com>
+
+ * gcc/config/m68k/linux.h
+ (M68K_HONOR_TARGET_STRICT_ALIGNMENT): Redefine as 0.
+ * config/m68k/m68k.c (TARGET_RETURN_IN_MEMORY): New.
+ (m68k_return_in_memory): New.
+ * gcc/config/m68k/m68k.h (M68K_HONOR_TARGET_STRICT_ALIGNMENT):
+ New.
+
+2007-08-28 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/32661
+ * simplify-rtx.c (simplify_binary_operation_1) [VEC_SELECT]:
+ Simplify nested VEC_SELECT (with optional VEC_CONCAT operator as
+ operand) when top VEC_SELECT extracts scalar element.
+ * config/i386/sse.md (*vec_extract_v4si_mem): New pattern.
+ (*vec_extract_v4sf_mem): Ditto.
+
+2007-08-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/32370
+ * passes.c (init_optimization_passes): Move pass_df_finish
+ after pass_postreload sublist.
+
+ PR rtl-optimization/33148
+ * simplify-rtx.c (simplify_unary_operation_1): Only optimize
+ (neg (lt X 0)) if X has scalar int mode.
+
+ PR debug/32914
+ * dwarf2out.c (rtl_for_decl_init): If vector decl has CONSTRUCTOR
+ initializer, use build_vector_from_ctor if possible to create
+ VECTOR_CST out of it. If vector initializer is not VECTOR_CST
+ even after this, return NULL.
+
+2007-08-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * c-pretty-print.c (pp_c_constant): Handle COMPLEX_CST.
+
+2007-08-28 Richard Guenther <rguenther@suse.de>
+
+ * tree.h (DECL_DISREGARD_INLINE_LIMITS): New.
+ (struct tree_function_decl): Make function_code a bitfield.
+ Add disregard_inline_limits flag.
+ * cgraphunit.c (cgraph_process_new_functions): Check
+ DECL_DISREGARD_INLINE_LIMITS instead of disregard_inline_limits_p.
+ (cgraph_preserve_function_body_p): Likewise.
+ * ipa-inline.c (compute_inline_parameters): Likewise.
+ * c-decl.c (finish_function): Set DECL_DISREGARD_INLINE_LIMITS
+ for GNU C extern inline functions.
+ (merge_decls): Merge DECL_DISREGARD_INLINE_LIMITS.
+ * tree-inline.c (disregard_inline_limits_p): Remove.
+ * tree-inline.h (disregard_inline_limits_p): Likewise.
+ * c-common.c (handle_always_inline_attribute): Set
+ DECL_DISREGARD_INLINE_LIMITS.
+ * langhooks.c (add_builtin_function): Verify the function code
+ fits in the bitfield.
+
+2007-08-28 Mircea Namolaru <namolaru@il.ibm.com>
+ Vladimir Yanovsky <yanov@il.ibm.com>
+ Revital Eres <eres@il.ibm.com>
+ Andrey Belevantsev <abel@ispras.ru>
+
+ * config/spu/spu.md: Recognize doloop pattern when -fmodulo-sched
+ is set.
+ * modulo-sched.c: Add documentation regarding do-loop.
+ (doloop_register_get): Change number of arguments to support
+ the new do-loop pattern and check whether COUNT_REG has no other
+ occurences in the loop besides in the control part.
+ (duplicate_insns_of_cycles): Do not duplicate the insn which
+ changes count_reg as it is already adjusted.
+ (generate_prolog_epilog): New argument to support the new
+ do-loop pattern. Change the subtract instruction to use
+ expand_simple_binop. Call duplicate_insns_of_cycles with new
+ argument.
+ (sms_schedule): Call doloop_register_get and
+ generate_prolog_epilog with new argument. Do not handle loops
+ with single sets insns with subreg in their lhs.
+ * loop-doloop.c (doloop_optimize): Support for another do-loop
+ pattern.
+ (doloop_condition_get): Gets an instruction instead of a pattern
+ and change the return condition when the do-loop pattern is
+ not parallel.
+ * ddg.c (create_ddg_dep_from_intra_loop_link): Handle only reg
+ deps when considering to not create edges.
+
+2007-08-27 Alexandre Oliva <aoliva@redhat.com>
+
+ * doc/extend.texi (gnu_inline funtion attribute): Document C++
+ behavior.
+
+2007-08-27 Jason Merrill <jason@redhat.com>
+
+ PR c++/31337
+ * gimplify.c (gimplify_modify_expr): Discard the assignment of
+ zero-sized types after calling gimplify_modify_expr_rhs.
+
+2007-08-27 Sandra Loosemore <sandra@codesourcery.com>
+
+ * regclass.c (init_reg_autoinc): Fix typo.
+
+2007-08-27 Daniel Berlin <dberlin@dberlin.org>
+
+ Fix PR tree-optimization/33173
+ * tree-ssa-alias.c (find_used_portions): Fix reversed test.
+
+2007-08-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/31385
+ * config/i386/i386.h (VALID_DFP_MODE_P): New.
+ * config/i386/i386.c (ix86_hard_regno_mode_ok): Allow DFP in
+ GPR.
+
+2007-08-27 Sandra Loosemore <sandra@codesourcery.com>
+ David Ung <davidu@mips.com>
+ Nigel Stephens <nigel@mips.com>
+
+ Separate target-specific initialization from general
+ back-end initialization.
+
+ * toplev.c (init_alignments): New, split out from...
+ (process_options): ...here.
+ (backend_init_target): New, split out from...
+ (backend_init): ...here.
+ (lang_dependent_init_target): New, split out from...
+ (lang_dependent_init): ...here.
+ (target_reinit): New.
+ * toplev.h (target_reinit): Declare.
+ * expr.c (init_expr_target): Renamed from init_expr_once, since it
+ now can be called more than once. Update comments.
+ * expr.h (init_expr_target): Likewise.
+ * alias.c (init_alias_target): Renamed from init_alias_once, since it
+ now can be called more than once. Explicitly zero
+ static_reg_base_value.
+ * emit-rtl.c (init_emit_regs): New, split out from...
+ (init_emit_once): Here.
+ * regclass.c (initial_fixed_regs, initial_call_used_regs): Make
+ non-const, so that changes from command-line arguments can overwrite
+ values provided by the static initializers.
+ (initial_call_really_used_regs): New, used similarly to the above.
+ (initial_reg_names): Likewise.
+ (last_mode_for_init_move_cost): Promoted function-local static to
+ file-scope static to make it accessible outside init_move_cost.
+ (init_reg_sets): Do not initialize fixed_regs and call_used_regs yet.
+ Do not initialize inv_reg_alloc_order yet, either. Do initialize
+ reg_names since it is needed for parsing command-line options.
+ (init_move_cost): Use last_mode_for_init_move_cost instead of
+ function-local static.
+ (init_reg_sets_1): Initialize fixed_regs, call_used_regs, and
+ call_really_used_regs now. Reinitialize reg_names. Also
+ initialize inv_reg_alloc_order. Zero reg_class_subunion and
+ reg_class_superunion. Clear losing_caller_save_reg_set.
+ Preserve global registers if called more than once. Reset
+ move cost, may_move_in_cost, may_move_out_cost, and
+ last_mode_for_init_move_cost.
+ (init_reg_modes_target): Renamed from init_reg_modes_once, since it
+ can now be invoked more than once. Update comments.
+ (init_regs): Update comments.
+ (fix_register): Update initial_fixed_regs, initial_call_used_regs,
+ and initial_call_really_used_regs, instead of the non-initial
+ variables. This allows us to save the command-line register settings
+ after target reinitialization.
+ (init_reg_autoinc): Zero forbidden_inc_dec_classes.
+ * rtl.h (init_emit_regs): Declare.
+ (init_reg_modes_target, init_alias_target): Renamed as described
+ above.
+ * reload1.c (init_reload): Update comments.
+ * optabs.c (init_optabs): Likewise.
+ * cfgloopanal.c (init_set_costs): Explicitly zero target_avail_regs.
+
+2007-08-26 Chao-ying Fu <fu@mips.com>
+
+ * rtl.h (XCNMPFV): Preserve const-ness of parameters through use of
+ __typeof().
+
+2007-08-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * alias.c (memory_modified_1, memory_modified_in_insn_p):
+ Constify.
+ * basic-block.h (tree_predicted_by_p, rtl_predicted_by_p):
+ Likewise.
+ * bb-reorder.c (copy_bb_p): Likewise.
+ * cfghooks.c (can_remove_branch_p, can_merge_blocks_p,
+ predicted_by_p, can_duplicate_block_p, block_ends_with_call_p,
+ block_ends_with_condjump_p): Likewise.
+ * cfghooks.h (can_remove_branch_p, can_merge_blocks_p,
+ predicted_by_p, can_duplicate_block_p, block_ends_with_call_p,
+ block_ends_with_condjump_p): Likewise.
+ * cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise.
+ * cfgrtl.c (can_delete_note_p, can_delete_label_p,
+ rtl_can_merge_blocks, cfg_layout_can_merge_blocks_p,
+ rtl_block_ends_with_call_p, rtl_block_ends_with_condjump_p,
+ need_fake_edge_p, rtl_can_remove_branch_p): Likewise.
+ * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Use
+ debug_true_const_tree instad of debug_true_tree.
+ * debug.c (do_nothing_debug_hooks): Likewise.
+ * debug.h (ignore_block, debug_true_const_tree): Constify.
+ * dwarf2out.c (stack_adjust_offset, clobbers_queued_reg_save,
+ dwarf2out_ignore_block, is_pseudo_reg, is_tagged_type,
+ decl_ultimate_origin, block_ultimate_origin, lookup_decl_loc,
+ same_dw_val_p, add_ranges, is_subrange_type, type_is_enum,
+ dbx_reg_number, is_based_loc, field_type,
+ simple_type_align_in_bits, simple_decl_align_in_bits,
+ simple_type_size_in_bits, field_byte_offset, insert_float,
+ type_tag, member_declared_type, is_redundant_typedef,
+ secname_for_decl, is_inlined_entry_point): Likewise.
+ * emit-rtl.c (const_next_insn, const_previous_insn,
+ const_next_nonnote_insn, const_prev_nonnote_insn,
+ const_next_real_insn, const_prev_real_insn,
+ const_next_active_insn, const_prev_active_insn, const_next_label,
+ const_prev_label): Likewise.
+ * except.h (lookup_stmt_eh_region_fn, lookup_stmt_eh_region):
+ Likewise.
+ * haifa-sched.c (may_trap_exp, haifa_classify_insn,
+ find_set_reg_weight, no_real_insns_p, find_set_reg_weight,
+ sched_insn_is_legitimate_for_speculation_p): Likewise.
+ * jump.c (reversed_comparison_code_parts,
+ reversed_comparison_code, reversed_comparison, condjump_label):
+ Likewise.
+ * predict.c (rtl_predicted_by_p, tree_predicted_by_p): Likewise.
+ * reg-stack.c (stack_regs_mentioned_p, stack_regs_mentioned):
+ Likewise.
+ * rtl.h (const_previous_insn, const_next_insn,
+ const_prev_nonnote_insn, const_next_nonnote_insn,
+ const_prev_real_insn, const_next_real_insn,
+ const_prev_active_insn, const_next_active_insn, const_prev_label,
+ const_next_label, modified_between_p, modified_in_p,
+ const_note_storeskeep_with_call_p, condjump_label,
+ reversed_comparison, reversed_comparison_code,
+ reversed_comparison_code_parts, memory_modified_in_insn_p,
+ stack_regs_mentioned): Likewise.
+ * rtlanal.c (modified_between_p, modified_in_p, const_note_stores,
+ keep_with_call_p): Likewise.
+ * sched-deps.c (deps_may_trap_p, sched_get_condition,
+ conditions_mutex_p, sched_insns_conditions_mutex_psd_next_list,
+ sd_lists_size, sd_lists_empty_p): Likewise.
+ * sched-int.h (sched_insns_conditions_mutex_p,
+ haifa_classify_insn, no_real_insns_p,
+ sched_insn_is_legitimate_for_speculation_p, sd_next_list,
+ sd_lists_size, sd_lists_empty_p): Likewise.
+ * sdbout.c (sdb_debug_hooks): Likewise.
+ * tree-cfg.c (tree_can_merge_blocks_p, is_ctrl_altering_stmt,
+ stmt_ends_bb_p, tree_can_remove_branch_p, tree_can_duplicate_bb_p,
+ -tree_block_ends_with_call_p, tree_block_ends_with_condjump_p):
+ Likewise.
+ * tree-eh.c (lookup_stmt_eh_region_fn, lookup_stmt_eh_region,
+ tree_can_throw_internal): Likewise.
+ * tree-flow-inline.h (phi_nodes): Likewise.
+ * tree-flow.h (phi_nodesstmt_ends_bb_p, is_ctrl_altering_stmt,
+ tree_can_throw_internal, lookup_stmt_eh_region): Likewise.
+ * tree-gimple.c (const_get_call_expr_in): Likewise.
+ * tree-gimple.h (const_get_call_expr_in): Likewise.
+ * tree.c (const_lookup_attribute, attribute_list_equal,
+ attribute_list_contained): Likewise.
+ * tree.h (attribute_list_equal, attribute_list_contained,
+ const_lookup_attribute): Likewise.
+ * vmsdbgout.c (vmsdbgout_ignore_block): Likewise.
+
+2007-08-26 Bernhard Fischer <aldot@gcc.gnu.org>
+
+ * tree-ssa-sccvn.c, tree-ssa-sccvn.h, tree-vn.c,
+ tree-ssa-pre.c: Remove unnecessary trailing whitespace.
+
+2007-08-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/32991
+ * config/alpha/constraints.md: Delete "svn:mime-type" property
+ with svn propdel "svn:mime-type".
+
+2007-08-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/33181
+ * ifcvt.c (noce_get_alt_condition): Make sure that the previous
+ non NOTE insn doesn't cross basic block.
+ (noce_try_abs): Likewise.
+ (noce_process_if_block): Likewise.
+
+2007-08-26 David Edelsohn <edelsohn@gnu.org>
+
+ PR target/33151
+ * config/rs6000/predicates.md (offsettable_mem_operand): Memory
+ operand without auto-inc-dec.
+ * config/rs6000/rs6000.md (floatsidf2_internal): Use
+ offsettable_mem_operand.
+ (floatunssidf2_internal): Same.
+ (fix_truncdfsi2_internal): Same.
+ (floatsidf_ppc64): Same.
+ (floatunssidf_ppc64): Same.
+ (fix_trunctfsi2_internal): Same.
+
+2007-08-26 Bernhard Fischer <aldot@gcc.gnu.org>
+
+ PR bootstrap/30620
+ * Makefile.in (libbackend.o): Add gcov-iov.h dependency and
+ pass defines needed for version.c.
+
+2007-08-25 Joseph Myers <joseph@codesourcery.com>
+
+ * configure.ac (--debug-prefix-map check): Change assembler
+ version presumed to have feature to 2.18.
+ * configure: Regenerate.
+
+2007-08-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * c-common.c (vector_types_convertible_p,
+ decl_with_nonnull_addr_p, c_promoting_integer_type_p,
+ self_promoting_args_p): Constify.
+ * c-common.h (has_c_linkage, decl_with_nonnull_addr_p,
+ c_promoting_integer_type_p, self_promoting_args_p,
+ anon_aggr_type_p, vector_types_convertible_p): Likewise.
+ * c-decl.c (anon_aggr_type_p): Likewise.
+ * * c-dump.c (dump_stmt): Likewise.
+ * c-objc-common.c (has_c_linkage): Likewise.
+ * c-tree.h (same_translation_unit_p): Likewise.
+ * c-typeck.c (null_pointer_constant_p,
+ tagged_types_tu_compatible_p, function_types_compatible_p,
+ type_lists_compatible_p, lvalue_or_else, lvalue_p,
+ comptypes_internal, struct tagged_tu_seen_cache,
+ same_translation_unit_p, alloc_tagged_tu_seen_cache,
+ c_size_in_bytes): Likewise.
+ * ggc-common.c (compare_ptr_data, hash_descriptor, eq_descriptor,
+ hash_ptr, eq_ptr): Likewise.
+ * langhooks-def.h (lhd_decl_ok_for_sibcall,
+ LANG_HOOKS_OMP_PRIVATIZE_BY_REFERENCE): Likewise.
+ * langhooks.c (lhd_decl_ok_for_sibcall): Likewise.
+ * langhooks.h (ok_for_sibcall, omp_privatize_by_reference):
+ Likewise.
+ * optabs.c (optab_for_tree_code): Likewise.
+ * optabs.h (optab_for_tree_code): Likewise.
+ * rtl.h (simplify_rtx): Likewise.
+ * simplify-rtx.c (simplify_rtx): Likewise.
+ * tree-dump.c (queue, queue_and_dump_index, queue_and_dump_type,
+ dump_flag, dump_node): Likewise.
+ * tree-dump.h (struct dump_info, dump_stmt, queue_and_dump_index,
+ queue_and_dump_type, dump_flag): Likewise.
+ * tree-flow.h (vect_can_force_dr_alignment_p): Likewise.
+ * tree-pass.h (dump_node): Likewise.
+ * tree-vectorizer.c (vect_can_force_dr_alignment_p,
+ supportable_narrowing_operation): Likewise.
+ * tree-vectorizer.h (vect_can_force_dr_alignment_p,
+ supportable_narrowing_operation): Likewise.
+ * tree-vrp.c (needs_overflow_infinity, supports_overflow_infinity,
+ is_negative_overflow_infinity, is_positive_overflow_infinity,
+ is_overflow_infinity, vrp_val_is_max, vrp_val_is_min,
+ nonnull_arg_p, get_value_range, vrp_operand_equal_p,
+ update_value_range, add_equivalence, ssa_name_nonnegative_p,
+ ssa_name_nonzero_p, fp_predicate): Likewise.
+ * tree.c (auto_var_in_fn_p, empty_body_p): Likewise.
+ * tree.h (empty_body_p, auto_var_in_fn_p, ssa_name_nonzero_p,
+ ssa_name_nonnegative_p): Likewise.
+
+2007-08-25 Hans Kester <hans.kester@ellips.nl>
+
+ * config.gcc : Add x86_64-elf target.
+
2007-08-25 Jakub Jelinek <jakub@redhat.com>
* expr.c (store_expr): Fix order of store_by_pieces arguments.
2007-08-23 Brian Sidebotham <brian.sidebotham@gmail.com>
- * configure.ac (leb128): Modify sed statement to work with any binutils
- version string.
+ * configure.ac (leb128): Modify sed statement to work with any
+ binutils version string.
* configure: Regenerate
2007-08-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>