OSDN Git Service

* system.h (CONST_CAST2, CONST_CAST_TREE, CONST_CAST_RTX,
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index f10d68b..3cd2afa 100644 (file)
+2007-09-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * system.h (CONST_CAST2, CONST_CAST_TREE, CONST_CAST_RTX,
+       CONST_CAST_BB): New macros for type-specific casts.
+       (CONST_CAST): Add a TYPE parameter and define it in terms of
+       CONST_CAST2.
+
+       * c-decl.c (c_make_fname_decl): Supply a TYPE for CONST_CAST.
+       * c-lex.c (cb_ident, lex_string): Likewise,
+       * c-typeck.c (free_all_tagged_tu_seen_up_to): Likewise,
+       * config/i386/i386.c (ix86_function_regparm,
+       ix86_function_sseregparm): Use CONST_CAST_TREE.
+       * config/mmix/mmix.c (mmix_encode_section_info): Supply a TYPE for
+       CONST_CAST.
+       * gcc.c (set_spec, read_specs, for_each_path, execute, do_spec_1,
+       give_switch, set_multilib_dir): Likewise,
+       * gengtype-parse.c (string_seq, typedef_name): Likewise,
+       * gimple-low.c (block_may_fallthru): Use CONST_CAST_TREE.
+       * jump.c (reversed_comparison_code_parts): Use CONST_CAST_RTX.
+       * passes.c (execute_one_pass): Supply a TYPE for CONST_CAST.
+       * prefix.c (update_path): Likewise,
+       * pretty-print.c (pp_base_destroy_prefix): Likewise,
+       * rtlanal.c (keep_with_call_p): Use CONST_CAST_RTX.
+       * tree-cfg.c (tree_can_merge_blocks_p,
+       tree_block_ends_with_condjump_p): Use CONST_CAST_BB.
+       * tree-eh.c (lookup_stmt_eh_region_fn): USe CONST_CAST_TREE.
+       * tree.c (build_string): Supply a TYPE for CONST_CAST.
+       (attribute_list_contained): Use CONST_CAST_TREE.
+
+2007-09-03  Krister Walfridsson  <cato@df.lth.se>
+
+       * config/netbsd-elf.h (USE_LD_AS_NEEDED): Define.
+
+2007-09-03  Richard Sandiford  <richard@codesourcery.com>
+
+       PR middle-end/33290
+       * optabs.c (avoid_expensive_constant): Canonicalize CONST_INTs
+       before forcing them into a register.
+
+2007-09-03  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/mips/mips.md (fetchop_bit): Use define_code_iterator
+       rather than define_code_macro.
+
+2007-09-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * gcc.c (xputenv): New function.
+       (putenv_from_prefixes): Use xputenv instead of putenv.
+       (process_command): Use xputenv instead of putenv.
+       (set_collect_gcc_options): Use xputenv instead of putenv.
+       (main): Use xputenv instead of putenv.
+
+2007-09-03  Jesper Nilsson  <jesper.nilsson@axis.com>
+
+       * config/cris/cris.h (TARGET_HAS_SWAP): Defined to describe
+       availability of swap instruction.
+       * config/cris/cris.md (bswapsi2): Implement using swap instruction.
+
+2007-09-03  Revital Eres  <eres@il.ibm.com>
+
+       * doc/invoke.texi (-fmodulo-sched-allow-regmoves): Update
+       Documentation.
+
+2007-09-03  Vladimir Yanovsky  <yanov@il.ibm.com>
+            Ayal Zaks  <zaks@il.ibm.com>
+            Revital Eres  <eres@il.ibm.com>
+
+       * modulo-sched.c (ps_insert_empty_row, verify_partial_schedule,
+       compute_split_row): New functions.
+       (ps_unschedule_node): Remove.
+       (normalize_sched_times): Iterate over the already scheduled
+       insns instead of the number of nodes.
+       (MAX_SPLIT_NUM): New definition.
+       (sms_schedule_by_order): Change the scheduling heuristic to
+       avoid useless increases of initiation interval ii.
+       (get_sched_window): Add dump printouts.
+
+2007-09-02  David Daney  <ddaney@avtrex.com>
+
+       * config/mips/mips.md (UNSPEC_COMPARE_AND_SWAP, UNSPEC_SYNC_OLD_OP,
+       UNSPEC_SYNC_NEW_OP, UNSPEC_SYNC_EXCHANGE): New define_constants.
+       (optab, insn): Add more attributes.
+       (fetchop_bit): New code macro.
+       (immediate_insn): New code macro attribute.
+       (sync): Change condition to ISA_HAS_SYNC.
+       (rdhwr): Change predicate for operand 0 to register_operand.
+       (memory_barrier): New expand.
+       (sync_compare_and_swap<mode>, sync_add<mode>, sync_sub<mode>,
+       sync_old_add<mode>, sync_old_sub<mode>, sync_new_add<mode>,
+       sync_new_sub<mode>, sync_<optab><mode>, sync_old_<optab><mode>,
+       sync_new_<optab><mode>, sync_nand<mode>, sync_old_nand<mode>,
+       sync_new_nand<mode>, sync_lock_test_and_set<mode>): New insns.
+       * config/mips/mips.h (ISA_HAS_SYNC, ISA_HAS_LL_SC): New ISA predicates.
+       (MIPS_COMPARE_AND_SWAP, MIPS_SYNC_OP, MIPS_SYNC_OLD_OP,
+       MIPS_SYNC_NEW_OP, MIPS_SYNC_NAND, MIPS_SYNC_OLD_NAND,
+       MIPS_SYNC_NEW_NAND, MIPS_SYNC_EXCHANGE): New Macros.
+       
+2007-09-03  Jesper Nilsson  <jesper.nilsson@axis.com>
+           Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.h (TARGET_HAS_LZ, CLZ_DEFINED_VALUE_AT_ZERO):
+       Defined to describe availability and behavior of CLZ.
+       * config/cris/cris.md (clzsi2): Implement using lz instruction.
+       * config/cris/cris.opt: Tweak comment for "-metrax4".
+       * config/cris/arit.c (LZ): When defined, define as __builtin_clz.
+       * longlong.h [__CRIS__ && __CRIS_arch_version >= 3]
+       (count_leading_zeros): Define.
+
+2007-09-01  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
+
+       * ggc-page.c (ggc_pch_read): Call validate_free_objects.
+
+2007-09-02  Joseph Myers  <joseph@codesourcery.com>
+
+       PR middle-end/33272
+       * c-decl.c (grokdeclarator): Apply qualifiers to type of parameter
+       decayed from array.
+
+2007-09-01  Kazu Hirata  <kazu@codesourcery.com>
+
+       * config/arm/arm.c, config/rs6000/ppu_intrinsics.h,
+       config/spu/spu.c, df-scan.c, fixed-value.c, fold-const.c,
+       ginclude/tgmath.h, haifa-sched.c, optabs.c, recog.c,
+       sched-deps.c, sched-int.h, system.h, target.h,
+       tree-ssa-live.c, tree-vect-transform.c, tree-vectorizer.c,
+       tree.def: Fix comment typos.
+
+2007-09-01  Kazu Hirata  <kazu@codesourcery.com>
+
+       * config/m68k/m68k.c (TARGET_DEFAULT_TARGET_FLAGS): Remove.
+       (override_options): Turn on -mstrict-align on non-ColdFire
+       targets.
+       * config/m68k/m68k.h (BIGGEST_ALIGNMENT): Update a comment.
+
+2007-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * c-common.c (const_strip_array_types): Delete.
+       * c-common.h (const_strip_array_types): 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): Delete.
+       * gimple-low.c (block_may_fallthru): Use expr_last.
+       * jump.c (reversed_comparison_code_parts): Use prev_nonnote_insn.
+       * 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): Delete.
+       * rtlanal.c (keep_with_call_p): Use next_nonnote_insn.
+       * system.h (CONST_CAST): Update comment.
+       * tree-cfg.c (tree_can_merge_blocks_p): Use last_stmt.
+       (const_first_stmt, const_last_stmt): Delete.
+       (tree_block_ends_with_condjump_p): Use last_stmt.
+       * tree-flow.h (const_first_stmt, const_last_stmt): Delete.
+       * tree-iterator.c (const_expr_first, const_expr_last,
+       const_expr_only): Delete.
+       * tree.c (const_lookup_attribute): Likewise.
+       (attribute_list_contained): Use lookup_attribute.
+       * tree.h (const_lookup_attribute, const_expr_first,
+       const_expr_last, const_expr_only): Delete.
+
+2007-09-01  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-alias.c (create_name_tags): Use TYPE_VOLATILE
+       instead of TREE_THIS_VOLATILE.
+       * tree-ssa-operands.c (add_virtual_operand): Do not set
+       has_volatile_ops.  Do not check s_ann for NULL.
+       (get_indirect_ref_operands): Likewise.
+       (get_expr_operands): Likewise.  For all reference trees
+       set has_volatile_ops based on TREE_THIS_VOLATILE.  Also
+       check base of reference for TREE_THIS_VOLATILE.
+
+2007-09-01  Richard Guenther  <rguenther@suse.de>
+
+       * tree-cfg.c (verify_gimple_expr): Fix check for conversions
+       between integral types.  Also allow conversions between
+       pointer types.
+
+2007-08-31  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       * optabs.c (prepare_float_lib_cmp): Use
+       libgcc_cmp_return_mode instead of word_mode.
+       * config/dfp-bit.h: Likewise.
+       * config/fp-bit.h: Likewise.
+       * config/spu/spu.c (spu_libgcc_cmp_return_mode):
+       New function.
+       (spu_libgcc_shift_count_mode): New function.
+       (TARGET_LIBGCC_CMP_RETURN_MODE): Define.
+       (TARGET_LIBGCC_SHIFT_COUNT_MODE): Define.
+
+2007-08-31  Joseph Myers  <joseph@codesourcery.com>
+
+       * tree-pretty-print.c: Include output.h.
+       (dump_decl_name, dump_generic_node): Use %wd with pp_printf, not
+       HOST_WIDE_INT_PRINT_DEC.
+       * Makefile.in (tree-pretty-print.o): Add dependency on output.h.
+
+2007-08-31  Zdenek Dvorak  <ook@ucw.cz>
+
+       PR rtl-optimization/33224
+       * loop-iv.c (latch_dominating_def): Check that the definition belongs
+       to the analysed region.
+
+2007-08-31  Richard Guenther  <rguenther@suse.de>
+
+       * function.c (allocate_struct_function): Do not set
+       current_function_returns_pointer.
+       * function.h (struct var_refs_queue): Remove.
+       (struct simple_obstack_stack): Likewise.
+       (struct function): Remove fixup_var_refs_queue member.
+       Remove returns_pointer flag.
+       (current_function_returns_pointer): Remove define.
+
+2007-08-31  Nick Clifton  <nickc@redhat.com>
+
+       * tree-ssa-coalesce.c (compare_pairs): Use the elements as
+       secondary keys in order to obtain a stable sort.
+
+2007-08-31  Nick Clifton  <nickc@redhat.com>
+
+       PR target/33132
+       * config/m32r/constraints.md: Add W constraint for integer zero.
+       * config/m32r/m32r.md (get_pc): Use W and i constraints.
+       Fix length calculation by using alternatives.
+
+2007-08-31  Richard Sandiford  <richard@codesourcery.com>
+
+       * optabs.c (shift_optab_p, commutative_optab_p): New functions,
+       split out from expand_binop.
+       (avoid_expensive_constant): New function.
+       (expand_binop_directly): Remove commutative_op argument and
+       (expand_binop_directly): Remove commutative_op argument and
+       call cummutative_optab_p instead.  Do not change op0 or op1
+       when swapping xop0 and xop1.  Apply avoid_expensive_constant
+       to each argument after potential swapping.  Enforce the
+       canonical order of commutative operands.
+       (expand_binop): Use shift_optab_p and commutative_optab_p.
+       Update the calls to expand_binop_directly.  Only force constants
+       into registers when widening an operation.  Only swap operands
+       once a direct expansion has been rejected.
+       (expand_twoval_binop): Only force constants into registers when
+       using a direct expansion.
+
+2007-08-31  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+       * sched-deps.c (update_dep): Mark arguments with ATTRIBUTE_UNUSED.
+       (sched_analyze_insn): Don't postprocess speculative dependencies when
+       target has no scheduling.
+       * tree-vect-transform.c (vect_estimate_min_profitable_iters): Fix
+       'uninitialized' warning.
+
+2007-08-31  Richard Guenther  <rguenther@suse.de>
+
+       * tree.c (build_complex_type): Always set TYPE_NAME for
+       comples types.
+
+2007-08-31  Olivier Hainque  <hainque@adacore.com>
+
+       * config/rs6000/xcoff.h (XCOFF_CSECT_DEFAULT_ALIGNMENT_STR): New
+       internal macro. Default alignment factor for csect directives, chosen
+       to match what BIGGEST_ALIGNMENT allows.
+       (DATA_SECTION_ASM_OP): Use it.
+       * config/rs6000/rs6000.c
+       (rs6000_xcoff_output_readonly_section_asm_op):
+       Use XCOFF_CSECT_DEFAULT_ALIGNMENT_STR.
+       (rs6000_xcoff_output_readwrite_section_asm_op): Likewise.
+       
+2007-08-31  Olivier Hainque  <hainque@adacore.com>
+
+       * dbxout.c (dbxout_block): Move declaration within the first
+       #if defined (DBX_DEBUGGING_INFO) block.  Rearrange another such
+       block to include the definition, together with the associated
+       helpers.
+
+2007-08-31  David Edelsohn  <edelsohn@gnu.org>
+            Revital Eres  <eres@il.ibm.com>
+
+        * doc/invoke.texi (-mpaired): Document flag.
+        * config.gcc: Include paired.h in powerpc extra_headers and
+        750cl.h in powerpc-*-linux*paired*.
+        * config/rs6000/rs6000.opt (-mpaired): New flag.
+        * config/rs6000/rs6000.c (paired_init_builtins,
+        paired_expand_builtin, paired_expand_lv_builtin,
+        paired_expand_stv_builtin, paired_expand_predicate_builtin):
+        New functions to support the paired single builtin functions.
+        (rs6000_hard_regno_mode_ok): Handle PAIRED_VECTOR_MODE.
+        (def_builtin, bdesc_3arg, bdesc_2arg, bdesc_1arg): Add paired
+        single builtins.
+        (bdesc_paired_preds): New structure for paired predicate
+        instructions.
+        (rs6000_expand_builtin): Expand paired single builtins.
+        (rs6000_init_builtins): Init paired single builtins.
+        (rs6000_common_init_builtins): Add v2sf_ftype_v2sf_v2sf_v2sf.
+        Rename v2sf_ftype_v2sf_v2sf to v2sf_ftype_v2sf_v2sf_spe
+        and v2sf_ftype_v2sf_spe to v2sf_ftype_v2sf.  Add new types
+        v2sf_ftype_v2sf_v2sf and v2sf_ftype_v2sf.
+        (rs6000_vector_mode_supported_p): Support paired vector mode.
+        * config/rs6000/rs6000.h: (UNITS_PER_PAIRED_WORD,
+        PAIRED_VECTOR_MODE, PAIRED_SIMD_REGNO_P, TARGET_PAIRED_FLOAT):
+        New.
+        (LOCAL_ALIGNMENT): Handle PAIRED_VECTOR_MODE.
+        (DATA_ALIGNMENT): Likewise.
+        (UNITS_PER_SIMD_WORD): Handle PAIRED_VECTOR_MODE.
+        (rs6000_builtins): Add PAIRED builtins.
+        * config/rs6000/rs6000.md: Include paired.md.
+        * config/rs6000/paired.h: New.
+        * config/rs6000/paired.md: New.
+        * config/rs6000/750cl.h: New.
+        * config/rs6000/spe.md: Recognize movv2sf instruction for 750cl.
+
+2007-08-30  Ollie Wild  <aaw@google.com>
+
+       * c-opts.c (c_common_handle_option): Support -fno-directives-only.
+       * gcc.c (default_compilers): Add -fno-directives-only to
+       @assembler-with-cpp.
+
+2007-08-30  Sandra Loosemore  <sandra@codesourcery.com>
+
+       PR middle-end/33211
+
+       * regclass.c (initial_fixed_regs): Revert previous change and make
+       it const again.
+       (initial_call_used_regs): Likewise.
+       (initial_call_really_used_regs): Delete, reverting previous addition.
+       (initial_reg_names): Likewise.
+       (init_reg_sets): Revert previous change.
+       (saved_fixed_regs): New.
+       (saved_call_used_regs): New.
+       (saved_call_really_used_regs): New.
+       (saved_reg_names): New.
+       (save_register_info): New.
+       (restore_register_info): New.
+       (init_reg_sets_1): Replace reset of register info with call to
+       restore_register_info.
+       * rtl.h (save_register_info): Declare.
+       * toplev.c (backend_init): Call save_register_info.
+
+2007-08-30  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
+
+       * tree-ssa-propagate.c (set_rhs): Remove the copied annotation
+       from the original statement.
+
+2007-08-30  Chao-ying Fu  <fu@mips.com>
+
+       * c-lex.c (interpret_fixed): Declare.
+       (interpret_float): Process _Fract and _Accum.
+       (interpret_fixed): New function.
+       * final.c (output_addr_const): Process CONST_FIXED.
+       * simplify-rtx.c (simplify_const_unary_operation): Handle US_NEG.
+       (simplify_binary_operation_1): Handle US_ASHIFT, SS_MULT, US_MULT,
+       SS_DIV, US_DIV.
+       (simplify_const_binary_operation): Handle SS_MULT, US_MULT, SS_DIV,
+       US_DIV, US_ASHIFT.
+       (simplify_immed_subreg): Support CONST_FIXED.
+       Process MODE_FRACT, MODE_UFRACT, MODE_ACCUM, MODE_UACCUM.
+       (simplify_subreg): Support CONST_FIXED.
+
+2007-08-30  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       * config/rs6000/ppu_intrinsics.h: New file.
+       * config.gcc (powerpc*-*-* <extra_headers>): Install
+       ppu_intrinsics.h.
+
+2007-08-30  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+       * cfg.c (dump_flow_info): Change to also print entry and exit
+       block info.
+       * print-rtl.c (print_rtl_single): Allow to print rtl with
+       -fdump-unnumbered.
+       
+2007-08-30  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+       * df-core.h (df_dump_region): New function.
+       * df.h (df_dump_region): New function.
+       * loop-invariant.c (find_defs): Add call to df_dump_region.
+       * loop-iv.c (iv_analysis_loop_init): Changed call from df_dump to
+       df_dump_region.
+       
+2007-08-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * decl.c (start_preparsed_function): Set
+       DECL_DISREGARD_INLINE_LIMITS for GNU_INLINE_P functions.
+
+       PR target/33168
+       * config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Return
+       true if any of the compare_section_name calls returned true,
+       rather than if any returned false.
+
+2007-08-30  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/33199
+       * tree-ssa-structalias.c (handle_lhs_call): New function.
+       (find_func_aliases): In non-IPA mode make sure that for
+       calls that return a pointer we add a constraint for the
+       result to point to anything.
+
+2007-08-30  Richard Guenther  <rguenther@suse.de>
+
+       * doc/invoke.texi (-mveclibabi): Document new target option.
+       * config/i386/i386.opt (-mveclibabi): New target option.
+       * config/i386/i386.c (ix86_veclib_handler): Handler for
+       vectorization library support.
+       (override_options): Handle the -mveclibabi option, initialize
+       the vectorization library handler.
+       (ix86_builtin_vectorized_function): As fallback call the
+       vectorization library handler, if set.
+       (ix86_veclibabi_acml): New static function for ACML ABI style
+       vectorization support.
+
+2007-08-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/rs6000/rs6000.c (rs6000_emit_sync): For QI or HI mode
+       used_m, even if it is 32-bit aligned, adjust used_m MEM to have
+       SImode and update m.  Don't run gen_lowpart_common on arbitrary
+       memory address, force it to register first.
+
+       PR middle-end/32758
+       * dce.c (dce_process_block): Don't delete setters of
+       artificially used registers.
+
+2007-08-30  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       * config/s390/s390.md ("*add<mode>3_alc_carry1_cc",
+       "*add<mode>3_alc_carry1_cconly", "*add<mode>3_alc_carry2_cc",
+       "*add<mode>3_alc_carry2_cconly"): New insn definitions.
+
+2007-08-30  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       * config/s390/s390.c (s390_expand_addcc): Emit canonical alc
+       pattern.
+       * config/s390/s390.md ("*add<mode>3_alc_cc", "*add<mode>3_alc",
+       "addti3", "*adddi3_31z", "*scond<mode>"): Make alc pattern canonical.
+
+2007-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * system.h: Activate -Wcast-qual as warning-only.
+
+2007-08-29  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR target/33168
+       * config/rs6000/rs6000.c (compare_section_name): New function.
+       (rs6000_elf_in_small_data_p): Compare section prefixes instead
+       of full name.
+
+2007-08-29  Olivier Hainque  <hainque@adacore.com>
+
+       * xcoffout.c: #include debug.h.
+       * Makefile.in (xcoffout.o): Add debug.h dependency.
+
+2007-08-29  Uros Bizjak  <ubizjak@gmail.com>
+
+       * simplify-rtx.c (simplify_binary_operation_1) [VEC_SELECT]:
+       Change CONST_VECTOR_ELT to XVECEXP in elem calculation.
+
+2007-08-29  Richard Guenther  <rguenther@suse.de>
+
+       * tree-pretty-print.c (dump_generic_node): Print
+       label DECL_UID as D.%u.
+       * tree-dfa.c (dump_variable): Print DECL_UID as D.%u.
+
+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-24  Sandra Loosemore  <sandra@codesourcery.com>
+            Nigel Stephens <nigel@mips.com>
+
+       PR target/11787
+
+       * doc/tm.texi (SET_RATIO, SET_BY_PIECES_P): Document new macros.
+       (STORE_BY_PIECES_P): No longer applies to __builtin_memset.
+       * expr.c (SET_BY_PIECES_P): Define.
+       (can_store_by_pieces, store_by_pieces): Add MEMSETP argument; use
+       it to decide whether to use SET_BY_PIECES_P or STORE_BY_PIECES_P.
+       (store_expr): Pass MEMSETP argument to can_store_by_pieces and
+       store_by_pieces.
+       * expr.h (SET_RATIO): Define.
+       (can_store_by_pieces, store_by_pieces): Update prototypes.
+       * builtins.c (expand_builtin_memcpy): Pass MEMSETP argument to
+       can_store_by_pieces/store_by_pieces.
+       (expand_builtin_memcpy_args): Likewise.
+       (expand_builtin_strncpy): Likewise.
+       (expand_builtin_memset_args): Likewise.  Also remove special case
+       for optimize_size so that can_store_by_pieces/SET_BY_PIECES_P can
+       decide what to do instead.
+       * value-prof.c (tree_stringops_transform): Pass MEMSETP argument
+       to can_store_by_pieces.
+
+       * config/sh/sh.h (SET_BY_PIECES_P): Clone from STORE_BY_PIECES_P.
+       * config/s390/s390.h (SET_BY_PIECES_P): Likewise.
+
+       * config/mips/mips.opt (mmemcpy): Change from Var to Mask.
+       * config/mips/mips.c (override_options): Make -Os default to -mmemcpy.
+       * config/mips/mips.h (MIPS_CALL_RATIO): Define.
+       (MOVE_RATIO, CLEAR_RATIO, SET_RATIO): Define.
+       (STORE_BY_PIECES_P): Define.
+
+2007-08-24  Tom Tromey  <tromey@redhat.com>
+
+       * varpool.c (varpool_last_needed_node): Fix comment typo.
+       * c-decl.c (duplicate_decls): Fix comment typo.
+       (clone_underlying_type): Update comment.
+
+2007-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * config/alpha/alpha.c (alpha_mangle_type, decl_has_samegp,
+       alpha_in_small_data_p, alpha_split_complex_arg,
+       alpha_stdarg_optimize_hook, TARGET_ASM_CAN_OUTPUT_MI_THUNK):
+       Constify.
+       * config/arm/arm-protos.h (arm_mangle_type): Likewise.
+       * config/arm/arm.c (arm_comp_type_attributes, arm_mangle_type):
+       Likewise.
+       * config/bfin/bfin.c (funkind, bfin_comp_type_attributes,
+       TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise.
+       * config/darwin-protos.h (darwin_binds_local_p): Likewise.
+       * config/darwin.c (darwin_binds_local_p): Likewise.
+       * config/frv/frv.c (frv_string_begins_with, frv_in_small_data_p):
+       Likewise.
+       * config/i386/i386-protos.h (i386_pe_binds_local_p,
+       i386_pe_valid_dllimport_attribute_p): Likewise.
+       * config/i386/i386.c (ix86_function_regparm,
+       ix86_comp_type_attributes, ix86_ms_bitfield_layout_p,
+       x86_can_output_mi_thunk, ix86_mangle_type,
+       TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise.
+       * config/i386/winnt.c (i386_pe_valid_dllimport_attribute_p,
+       i386_pe_binds_local_p): Likewise.
+       * config/ia64/ia64.c
+       (ia64_first_cycle_multipass_dfa_lookahead_guard_spec,
+       ia64_needs_block_p, ia64_in_small_data_p, ia64_mangle_type,
+       ia64_invalid_conversion, ia64_invalid_unary_op,
+       ia64_invalid_binary_op, TARGET_ASM_CAN_OUTPUT_MI_THUNK):
+       Likewise.
+       * config/m32c/m32c.c (m32c_comp_type_attributes): Likewise.
+       * config/m32r/m32r.c (m32r_in_small_data_p): Likewise.
+       * config/m68k/m68k.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise.
+       * config/mips/mips.c (mips_use_blocks_for_constant_p,
+       mips_in_small_data_p, mips_use_anchors_for_symbol_p,
+       mips_comp_type_attributes, TARGET_ASM_CAN_OUTPUT_MI_THUNK,
+       mips_near_type_p, mips_far_type_p, mips_global_symbol_p,
+       mips_symbol_binds_local_p, mips_classify_symbol): Likewise.
+       * config/pa/pa.c (pa_commutative_p): Likewise.
+       * config/rs6000/rs6000-protos.h (rs6000_elf_in_small_data_p):
+       Likewise.
+       * config/rs6000/rs6000.c (rs6000_invalid_within_doloop,
+       rs6000_ms_bitfield_layout_p, rs6000_mangle_type,
+       rs6000_use_blocks_for_constant_p,
+       rs6000_vector_alignment_reachable, rs6000_is_opaque_type,
+       invalid_arg_for_unprototyped_fn, TARGET_ASM_CAN_OUTPUT_MI_THUNK,
+       TARGET_SPLIT_COMPLEX_ARG, rs6000_elf_in_small_data_p): Likewise.
+       * config/s390/s390.c (s390_mangle_type,
+       TARGET_ASM_CAN_OUTPUT_MI_THUNK, TARGET_INVALID_WITHIN_DOLOOP):
+       Likewise.
+       * config/score/score.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK,
+       th_in_small_data_p): Likewise.
+       * config/sh/sh.c (sh_ms_bitfield_layout_p,
+       sh_dwarf_calling_convention, TARGET_ASM_CAN_OUTPUT_MI_THUNK):
+       Likewise.
+       * config/sparc/sparc.c (sparc_can_output_mi_thunk,
+       sparc_mangle_type): Likewise.
+       * config/spu/spu.c (spu_vector_alignment_reachable): Likewise.
+       * config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): Likewise.
+       * emit-rtl.c (const_fixed_htab_hash, const_fixed_htab_eq):
+       Likewise.
+       * hooks.c (hook_bool_mode_const_rtx_false,
+       hook_bool_mode_const_rtx_true,
+       hook_bool_const_tree_hwi_hwi_const_tree_false,
+       hook_bool_const_tree_hwi_hwi_const_tree_true,
+       hook_int_const_tree_0, hook_int_const_tree_const_tree_1,
+       hook_constcharptr_const_tree_null,
+       hook_constcharptr_const_rtx_null,
+       hook_constcharptr_const_tree_const_tree_null,
+       hook_constcharptr_int_const_tree_null,
+       hook_constcharptr_int_const_tree_const_tree_null): New.
+       (hook_bool_mode_rtx_false, hook_bool_mode_rtx_true,
+       hook_bool_tree_hwi_hwi_tree_false,
+       hook_bool_tree_hwi_hwi_tree_true, hook_int_tree_0,
+       hook_int_tree_tree_1, hook_constcharptr_tree_null,
+       hook_constcharptr_rtx_null, hook_constcharptr_tree_tree_null,
+       hook_constcharptr_int_tree_null,
+       hook_constcharptr_int_tree_tree_null): Delete.
+       (default_can_output_mi_thunk_no_vcall): Constify.
+       * hooks.h (hook_bool_mode_rtx_false, hook_bool_mode_rtx_true,
+       hook_bool_tree_hwi_hwi_tree_false,
+       hook_bool_tree_hwi_hwi_tree_true, hook_int_tree_0,
+       hook_int_tree_tree_1, hook_constcharptr_tree_null,
+       hook_constcharptr_rtx_null, hook_constcharptr_tree_tree_null,
+       hook_constcharptr_int_tree_null,
+       hook_constcharptr_int_tree_tree_null): Delete.
+       (hook_bool_mode_const_rtx_false, hook_bool_mode_const_rtx_true,
+       hook_bool_const_tree_hwi_hwi_const_tree_false,
+       hook_bool_const_tree_hwi_hwi_const_tree_true,
+       hook_int_const_tree_0, hook_int_const_tree_const_tree_1,
+       hook_constcharptr_const_tree_null,
+       hook_constcharptr_const_rtx_null,
+       hook_constcharptr_const_tree_const_tree_null,
+       hook_constcharptr_int_const_tree_null,
+       hook_constcharptr_int_const_tree_const_tree_null): New.
+       (default_can_output_mi_thunk_no_vcall): Constify.
+       * integrate.c (function_attribute_inlinable_p): Likewise.
+       * integrate.h (function_attribute_inlinable_p): Likewise.
+       * jump.c (rtx_renumbered_equal_p): Likewise.
+       * output.h (decl_readonly_section, categorize_decl_for_section,
+       default_use_anchors_for_symbol_p, default_binds_local_p,
+       default_binds_local_p_1): Likewise.
+       * rtl.h (rtx_renumbered_equal_p, decl_default_tls_model):
+       Likewise.
+       * target-def.h (TARGET_ASM_CAN_OUTPUT_MI_THUNK,
+       TARGET_VALID_DLLIMPORT_ATTRIBUTE_P, TARGET_VECTOR_OPAQUE_P,
+       TARGET_COMMUTATIVE_P, TARGET_USE_BLOCKS_FOR_CONSTANT_P,
+       TARGET_COMP_TYPE_ATTRIBUTES,
+       TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P,
+       TARGET_MS_BITFIELD_LAYOUT_P, TARGET_MANGLE_TYPE,
+       TARGET_IN_SMALL_DATA_P, TARGET_INVALID_CONVERSION,
+       TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP,
+       TARGET_DWARF_CALLING_CONVENTION): Likewise.
+       * target.h (can_output_mi_thunk, needs_block_p,
+       first_cycle_multipass_dfa_lookahead_guard_spec,
+       vector_alignment_reachable, comp_type_attributes,
+       function_attribute_inlinable_p, ms_bitfield_layout_p, mangle_type,
+       commutative_p, use_blocks_for_constant_p,
+       use_anchors_for_symbol_p, in_small_data_p, binds_local_p,
+       vector_opaque_p, dwarf_calling_convention, stdarg_optimize_hook,
+       invalid_within_doloop, valid_dllimport_attribute_p,
+       split_complex_arg, invalid_arg_for_unprototyped_fn,
+       invalid_conversion, invalid_unary_op, invalid_binary_op):
+       Likewise.
+       * targhooks.c (default_invalid_within_doloop,
+       hook_invalid_arg_for_unprototyped_fn,
+       default_builtin_vector_alignment_reachable): Likewise.
+       (hook_bool_rtx_commutative_p): Delete.
+       (hook_bool_const_rtx_commutative_p): New.
+       * targhooks.h (default_invalid_within_doloop,
+       default_builtin_vector_alignment_reachable,
+       hook_invalid_arg_for_unprototyped_fn): Constify.
+       (hook_bool_rtx_commutative_p): Delete.
+       (hook_bool_const_rtx_commutative_p): New.
+       * varasm.c (bss_initializer_p, decl_default_tls_model,
+       categorize_decl_for_section, decl_readonly_section,
+       default_use_anchors_for_symbol_p, default_binds_local_p,
+       default_binds_local_p_1): Constify.
+
+2007-08-24  Jie Zhang  <jie.zhang@analog.com>
+
+       * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
+       __NO_BUILTIN if -fno-builtin.
+
+2007-08-24  Jie Zhang  <jie.zhang@analog.com>
+
+       * config/bfin/bfin.c (print_operand): Report error instead of
+       ICE for wrong operand.
+
+2007-08-24  Michael Matz  <matz@suse.de>
+
+       * Makefile.in (GTFILES_H): Use $(patsubst) instead of $(subst).
+
+2007-08-24  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/33166
+       * tree-ssa.c (useless_type_conversion_p): Split into a
+       recursive and a non-recursive part.
+       (useless_type_conversion_p_1): New function.
+       * tree-ssa-ccp.c (fold_stmt_r): Make sure that the result
+       from maybe_fold_offset_to_reference is trivially convertible
+       to the desired type before doing the simplification.
+
+2007-08-24  Jakub Jelinek  <jakub@redhat.com>
+
+       * expr.c (store_expr): Optimize initialization of an array
+       with STRING_CST.
+       * expr.h (builtin_strncpy_read_str): New prototype.
+       * builtins.c (builtin_strncpy_read_str): Remove prototype.
+       No longer static.
+
+2007-08-24  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR middle-end/33157
+       * ifcvt.c (noce_find_if_block): Do not clear if_info.cond_earliest
+       field when initializing if_info structure.
+
+2007-08-24  Richard Guenther  <rguenther@suse.de>
+
+       * Makefile.in (tree-inline.o): Add $(TARGET_H) and $(INTEGRATE_H)
+       dependencies.
+       * c-objc-common.c (c_cannot_inline_tree_fn): Remove.
+       * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Likewise.
+       * tree-inline.c (inlinable_function_p): Fold in common parts of
+       the cannot_inline_tree_fn langhook.
+       * langhooks-def.h (lhd_tree_inlining_cannot_inline_tree_fn): Remove.
+       (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN): Likewise.
+       (LANG_HOOKS_TREE_INLINING_INITIALIZER): Remove initializer for
+       cannot_inline_tree_fn langhook.
+       * langhooks.h (struct lang_hooks_for_tree_inlining): Remove
+       cannot_inline_tree_fn member.
+
+2007-08-24  Richard Guenther  <rguenther@suse.de>
+
+       * expr.c (get_inner_reference): Do computation of bitoffset
+       from offset in a way we can detect overflow reliably.
+
 2007-08-24  Jie Zhang  <jie.zhang@analog.com>
 
        * crtstuff.c (USE_PT_GNU_EH_FRAME): Don't define for uClibc.
 
 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>