X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=3cd2afaff0f87132a5eb61bbc1a49f2b24890ad8;hp=f10d68b2527fe826b94e1f520d6afbadc12ddaa1;hb=e47a6f81edf98a062ad29cdb62590c1c7fdeb37a;hpb=b0c091c837bf7eca5ea13642e0ab29c1e2c01935 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f10d68b2527..3cd2afaff0f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,1128 @@ +2007-09-03 Kaveh R. Ghazi + + * 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 + + * config/netbsd-elf.h (USE_LD_AS_NEEDED): Define. + +2007-09-03 Richard Sandiford + + PR middle-end/33290 + * optabs.c (avoid_expensive_constant): Canonicalize CONST_INTs + before forcing them into a register. + +2007-09-03 Richard Sandiford + + * config/mips/mips.md (fetchop_bit): Use define_code_iterator + rather than define_code_macro. + +2007-09-03 Francois-Xavier Coudert + + * 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 + + * 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 + + * doc/invoke.texi (-fmodulo-sched-allow-regmoves): Update + Documentation. + +2007-09-03 Vladimir Yanovsky + Ayal Zaks + Revital Eres + + * 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 + + * 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, sync_add, sync_sub, + sync_old_add, sync_old_sub, sync_new_add, + sync_new_sub, sync_, sync_old_, + sync_new_, sync_nand, sync_old_nand, + sync_new_nand, sync_lock_test_and_set): 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 + Hans-Peter Nilsson + + * 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 + + * ggc-page.c (ggc_pch_read): Call validate_free_objects. + +2007-09-02 Joseph Myers + + PR middle-end/33272 + * c-decl.c (grokdeclarator): Apply qualifiers to type of parameter + decayed from array. + +2007-09-01 Kazu Hirata + + * 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 + + * 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 + + * 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 + + * 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 + + * tree-cfg.c (verify_gimple_expr): Fix check for conversions + between integral types. Also allow conversions between + pointer types. + +2007-08-31 Andrew Pinski + + * 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 + + * 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 + + PR rtl-optimization/33224 + * loop-iv.c (latch_dominating_def): Check that the definition belongs + to the analysed region. + +2007-08-31 Richard Guenther + + * 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 + + * tree-ssa-coalesce.c (compare_pairs): Use the elements as + secondary keys in order to obtain a stable sort. + +2007-08-31 Nick Clifton + + 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 + + * 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 + + * 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 + + * tree.c (build_complex_type): Always set TYPE_NAME for + comples types. + +2007-08-31 Olivier Hainque + + * 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 + + * 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 + Revital Eres + + * 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 + + * 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 + + 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 + + * tree-ssa-propagate.c (set_rhs): Remove the copied annotation + from the original statement. + +2007-08-30 Chao-ying Fu + + * 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 + + * config/rs6000/ppu_intrinsics.h: New file. + * config.gcc (powerpc*-*-* ): Install + ppu_intrinsics.h. + +2007-08-30 Kenneth Zadeck + + * 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 + + * 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 + + * 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 + + 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 + + * 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 + + * 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 + + * config/s390/s390.md ("*add3_alc_carry1_cc", + "*add3_alc_carry1_cconly", "*add3_alc_carry2_cc", + "*add3_alc_carry2_cconly"): New insn definitions. + +2007-08-30 Ulrich Weigand + + * config/s390/s390.c (s390_expand_addcc): Emit canonical alc + pattern. + * config/s390/s390.md ("*add3_alc_cc", "*add3_alc", + "addti3", "*adddi3_31z", "*scond"): Make alc pattern canonical. + +2007-08-29 Kaveh R. Ghazi + + * system.h: Activate -Wcast-qual as warning-only. + +2007-08-29 Paolo Bonzini + + 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 + + * xcoffout.c: #include debug.h. + * Makefile.in (xcoffout.o): Add debug.h dependency. + +2007-08-29 Uros Bizjak + + * simplify-rtx.c (simplify_binary_operation_1) [VEC_SELECT]: + Change CONST_VECTOR_ELT to XVECEXP in elem calculation. + +2007-08-29 Richard Guenther + + * 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 + + * gcc/builtin-types.def (BT_FN_PTR_PTR_SIZE): New type. + * gcc/builtins.def (BUILT_IN_REALLOC): New builtin. + +2007-08-29 Douglas Gregor + + 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 + + * 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 + + Revert + 2007-08-29 Jie Zhang + * config/bfin/bfin.md (composev2hi): Put operands into vector + with correct order. + +2007-08-29 Jie Zhang + + * config/bfin/bfin.md (composev2hi): Put operands into vector + with correct order. + +2007-08-29 Jie Zhang + + * 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 + + * 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 + + * 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 + + * config/sh/sh.c (sh_gimplify_va_arg_expr): Fix sh2a support. + +2007-08-28 Kaveh R. Ghazi + + * system.h (CONST_CAST): Avoid union for gcc-4.0.x. + +2007-08-28 Richard Guenther + + * tree.h (struct tree_function_decl): Increase size of + function_code bitfield. + +2007-08-28 Nathan Sidwell + Kazu Hirata + + * 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 + + 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 + + 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 + + * c-pretty-print.c (pp_c_constant): Handle COMPLEX_CST. + +2007-08-28 Richard Guenther + + * 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 + Vladimir Yanovsky + Revital Eres + Andrey Belevantsev + + * 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 + + * doc/extend.texi (gnu_inline funtion attribute): Document C++ + behavior. + +2007-08-27 Jason Merrill + + 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 + + * regclass.c (init_reg_autoinc): Fix typo. + +2007-08-27 Daniel Berlin + + Fix PR tree-optimization/33173 + * tree-ssa-alias.c (find_used_portions): Fix reversed test. + +2007-08-27 H.J. Lu + + 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 + David Ung + Nigel Stephens + + 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 + + * rtl.h (XCNMPFV): Preserve const-ness of parameters through use of + __typeof(). + +2007-08-26 Kaveh R. Ghazi + + * 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 + + * 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 + + PR target/32991 + * config/alpha/constraints.md: Delete "svn:mime-type" property + with svn propdel "svn:mime-type". + +2007-08-26 H.J. Lu + + 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 + + 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 + + PR bootstrap/30620 + * Makefile.in (libbackend.o): Add gcov-iov.h dependency and + pass defines needed for version.c. + +2007-08-25 Joseph Myers + + * configure.ac (--debug-prefix-map check): Change assembler + version presumed to have feature to 2.18. + * configure: Regenerate. + +2007-08-25 Kaveh R. Ghazi + + * 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 + + * config.gcc : Add x86_64-elf target. + +2007-08-25 Jakub Jelinek + + * expr.c (store_expr): Fix order of store_by_pieces arguments. + +2007-08-24 Sandra Loosemore + Nigel Stephens + + 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 + + * 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 + + * 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 + + * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define + __NO_BUILTIN if -fno-builtin. + +2007-08-24 Jie Zhang + + * config/bfin/bfin.c (print_operand): Report error instead of + ICE for wrong operand. + +2007-08-24 Michael Matz + + * Makefile.in (GTFILES_H): Use $(patsubst) instead of $(subst). + +2007-08-24 Richard Guenther + + 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 + + * 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 + + 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 + + * 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 + + * expr.c (get_inner_reference): Do computation of bitoffset + from offset in a way we can detect overflow reliably. + 2007-08-24 Jie Zhang * crtstuff.c (USE_PT_GNU_EH_FRAME): Don't define for uClibc. @@ -29,8 +1154,8 @@ 2007-08-23 Brian Sidebotham - * 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