X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=c649ee24f2be04b689e79433b749d13b0cef2f09;hb=a5014d251126a0107ed852c02fb166260a358183;hp=bedd6adfc355308634dec2379670dffc042e66d3;hpb=22ff3bfb6d42c97b1db5d5709d74cabc1303c397;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bedd6adfc35..c649ee24f2b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,368 @@ +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 @@ -327,8 +692,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