X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=d7a2e7e597b311a978ffa576df77839aebff8fb7;hp=37ece5cc937ccb0200d1bfc5b084d5479bb0dbe0;hb=eecb5747f325f3b265d2d049e90de6aaf06eb411;hpb=7b050b7b412119d8d958acbc3da8d97e8235ff9a diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 37ece5cc937..d7a2e7e597b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,467 @@ +2007-07-31 Julian Brown + + * config/arm/neon.md (vec_set_internal, vec_setv2di_internal): + New define_insns. Use correct RTL. + (vec_set): Write as expander. + +2007-07-31 Razya Ladelsky + + * matrix-reorg.c (analyze_matrix_allocation_site): Avoid referring + to an unallocated space. + +2007-07-30 Jan Sjodin + + * tree-data-ref.c + (split_constant_offset): Enable split_constant_offset to extract + constants from other statements. + * tree-vect-transform.c + (vect_create_addr_base_for_vector_ref): Generate data_ref_base + to a temp var. Force base_offset to be simple. + +2007-07-30 Seongbae Park + + * df-scan.c (df_scan_verify): Remove artificial limit on + the number of blocks for verification. + * df-problems.c (df_lr_bb_local_compute, df_simulate_find_defs, + df_simulate_defs): Avoid unnecessary insn checking for defs. + +2007-07-29 Mark Mitchell + + gcc/ + * config/m68k/lb1sf68.asm (FUNC): New macro. + (__mulsi3): Use it. + (__udivsi3): Likewise. + (__divsi3): Likewise. + (__umodsi3): Likewise. + (__modsi3): Likewise. + (__subdf3): Likewise. + (__adddf3): Likewise. + (__muldf3): Likewise. + (__divdf3): Likewise. + (__negdf2): Likewise. + (__cmpdf2): Likewise. + (__subsf3): Likewise. + (__addsf3): Likewise. + (__mulsf3): Likewise. + (__divsf3): Likewise. + (__negsf2): Likewise. + (__cmpsf2): Likewise. + (__eqdf2): Likewise. + (__nedf2): Likewise. + (__gtdf2): Likewise. + (__gedf2): Likewise. + (__ltdf2): Likewise. + (__ledf2): Likewise. + (__eqsf2): Likewise. + (__nesf2): Likewise. + (__gtsf2): Likewise. + (__gesf2): Likewise. + (__ltsf2): Likewise. + (__lesf2): Likewise. + +2007-07-30 Ollie Wild + + * c-ppoutput.c (print_lines_directives_only): New function. + (scan_translation_unit_directives_only): New function. + (preprocess_file): Add call to scan_translation_unit_directives_only. + * c-opts.c (c_common_handle_option): Add OPT_fdirectives_only. + (sanitize_cpp_opts): Add default flag_dump_macros setting for + -fdirectives-only. Add errors for -fdirectives-only conflict with + -Wunused-macros and -traditional. + (finish_options): Add builtin macro initialization for + -fdirectives-only + -fpreprocessed. + * c.opt (fdirectives-only): New. + * doc/cppopts.texi (fdirectives-only): New. + +2007-07-30 Kaveh R. Ghazi + + * alias.c (record_set, memory_modified_1): Constify. + * bt-load.c (note_btr_set): Likewise. + * caller-save.c (mark_set_regs, add_stored_regs): Likewise. + * combine.c (set_nonzero_bits_and_sign_copies, + expand_field_assignment, record_dead_and_set_regs_1, + use_crosses_set_p, reg_dead_at_p_1, can_combine_p, + likely_spilled_retval_1): Likewise. + * config/frv/frv.c (frv_registers_update_1, frv_io_check_address, + frv_io_handle_set): Likewise. + * config/mips/mips.c (mips_sim_record_set, + vr4130_true_reg_dependence_p_1): Likewise. + * config/mt/mt.c (insn_dependent_p_1): Likewise. + * config/s390/s390.c (s390_reg_clobbered_rtx): Likewise. + * config/sh/sh.c (flow_dependent_p_1): Likewise. + * cselib.c (cselib_invalidate_rtx_note_stores): Likewise. + * dce.c (mark_nonreg_stores_1, mark_nonreg_stores_2): Likewise. + * ddg.c (mark_mem_store): Likewise. + * df-problems.c (df_urec_mark_reg_change): Likewise. + * function.c (update_epilogue_consts): Likewise. + * gcse.c (record_set_info, record_last_set_info, + mems_conflict_for_gcse_p, canon_list_insert, reg_set_info, + reg_clear_last_set): Likewise. + * global.c (mark_reg_store, mark_reg_clobber, reg_becomes_live): + Likewise. + * jump.c (reversed_comparison_code_parts): Likewise. + * local-alloc.c (validate_equiv_mem_from_store, no_equiv, + reg_is_set): Likewise. + * loop-iv.c (mark_altered): Likewise. + * mode-switching.c (reg_becomes_live): Likewise. + * optabs.c (no_conflict_move_test): Likewise. + * postreload-gcse.c (record_last_set_info, find_mem_conflicts): + Likewise. + * postreload.c (reload_combine_note_store, move2add_note_store): + Likewise. + * regmove.c (flags_set_1): Likewise. + * regrename.c (note_sets, kill_clobbered_value, kill_set_value): + Likewise. + * reload1.c (mark_not_eliminable, forget_old_reloads_1): + Likewise. + * resource.c (update_live_status): Likewise. + * rtl.h (set_of, note_stores): Likewise. + * rtlanal.c (set_of_1, parms_set, struct set_of_data, set_of, + note_stores, parms_set): Likewise. + * sched-rgn.c (sets_likely_spilled_1): Likewise. + * stack-ptr-mod.c (notice_stack_pointer_modification_1): + Likewise. + * var-tracking.c (count_stores, add_stores): Likewise. + +2007-07-30 Kaveh R. Ghazi + + * alias.c (mems_in_disjoint_alias_sets_p, + fixed_scalar_and_varying_struct_p, aliases_everything_p, + nonoverlapping_component_refs_p, nonoverlapping_memrefs_p, + write_dependence_p, mems_in_disjoint_alias_sets_p, + read_dependence, true_dependence, canon_true_dependence, + anti_dependence, output_dependence): Constify. + * combine.c (extended_count): Likewise. + * cse.c (cse_rtx_varies_p, hash_rtx, exp_equiv_p): Likewise. + * cselib.c (get_value_hash, references_value_p, + cselib_reg_set_mode, cselib_rtx_varies_p): Likewise. + * cselib.h (cselib_reg_set_mode, references_value_p): Likewise. + * emit-rtl.c (mem_expr_equal_p, active_insn_p): Likewise. + * function.c (contains, prologue_epilogue_contains, + sibcall_epilogue_contains): Likewise. + * jump.c (simplejump_p, condjump_p, condjump_in_parallel_p, + pc_set, any_uncondjump_p, any_condjump_p, onlyjump_p, + only_sets_cc0_p, sets_cc0_p, rtx_renumbered_equal_p, true_regnum, + reg_or_subregno): Likewise. + * recog.c (asm_noperands): Likewise. + * reload1.c (function_invariant_p): Likewise. + * rtl.h (mem_expr_equal_p, active_insn_p, rtx_varies_p, + rtx_addr_varies_p, asm_noperands, exp_equiv_p, hash_rtx, + condjump_p, any_condjump_p, any_uncondjump_p, pc_set, + simplejump_p, onlyjump_p, only_sets_cc0_p, sets_cc0_p, + true_regnum, reg_or_subregno, condjump_in_parallel_p, + extended_count, prologue_epilogue_contains, + sibcall_epilogue_contains, function_invariant_p, true_dependence, + canon_true_dependence, read_dependence, anti_dependence, + output_dependence): Likewise. + * rtlanal.c (rtx_varies_p, rtx_addr_varies_p): Likewise. + +2007-07-30 Julian Brown + + * config/arm/neon.md (V_ext): New mode attribute. + (neon_vget_lane): Replace with define_expand. + (neon_vget_lane_sext_internal) + (neon_vget_lane_zext_internal): New define_insns for double + and quad precision vectors. + (neon_vget_lanedi): Add bounds check. Remove dead comment. + * config/arm/neon.ml (get_lane): Make 32-bit get-lane intrinsics + have typeless 32-bit result. + +2007-07-30 Andrew Pinski + + PR tree-opt/32527 + * tree-affine.h (aff_tree): The type of rest is sizetype for types + of pointers. + * tree-affine.c (aff_combination_scale): If type is a pointer type, + use sizetype for rest. + (aff_combination_add_elt): Likewise. Don't specialize pointer types. + (aff_combination_convert): Don't convert rest for pointer types. + +2007-07-28 Daniel Berlin + + * Makefile.in (tree-ssa-alias.o): Add alloc-pool.h + + * tree-ssa-alias.c: Add alloc-pool.h. + (init_alias_info): Free alias_bitmap_obstack. + (delete_alias_info): Call delete_mem_ref_stats. + (get_mem_sym_stats_for): Use alloc_pool. + (init_mem_ref_stats): Do not delete mem_ref_stats here. + (delete_mem_sym_stats): Removed. + +2007-07-29 Sebastian Pop + + * tree-data-ref.c (add_multivariate_self_dist): Parametric access + functions cannot be represented as classical distance vectors. + +2007-07-29 Kaveh R. Ghazi + + * attribs.c (hash_attr, eq_attr, init_attributes): Constify. + * builtins.c (validate_arg, builtin_mathfn_code, + validate_arglist): Likewise. + * calls.c (call_expr_flags): Likewise. + * combine.c (reg_nonzero_bits_for_combine, + reg_num_sign_bit_copies_for_combine, get_last_value, + reg_truncated_to_mode): Likewise. + * emit-rtl.c (subreg_lowpart_p): Likewise. + * expr.c (highest_pow2_factor_for_target, + categorize_ctor_elements_1, categorize_ctor_elements, + count_type_elements, contains_packed_reference, + highest_pow2_factor, highest_pow2_factor_for_target): Likewise. + * fold-const.c (may_negate_without_overflow_p, int_const_binop, + fold_convertible_p, operand_equal_p, tree_swap_operands_p, + native_encode_int, native_encode_real, native_encode_complex, + native_encode_vector, native_encode_expr, native_interpret_int, + native_interpret_real, native_interpret_complex, + native_interpret_vector, native_interpret_expr): Likewise. + * function.c (use_register_for_decl): Likewise. + * gimplify.c (get_name): Likewise. + * langhooks-def.h (lhd_return_null_const_tree): New. + (LANG_HOOKS_GET_CALLEE_FNDECL): Use it. + * langhooks.c (lhd_return_null_const_tree): New. + * langhooks.h (lang_get_callee_fndecl): Constify. + * output.h (constructor_static_from_elts_p): Likewise. + * rtl-factoring.c (gen_symbol_ref_rtx_for_label): Likewise. + * rtl.h (nonzero_bits, num_sign_bit_copies, truncated_to_mode, + subreg_lowpart_p, noop_move_p, struct rtl_hooks): Likewise. + * rtlanal.c (cached_nonzero_bits, nonzero_bits1, + cached_num_sign_bit_copies, num_sign_bit_copies1, noop_move_p, + nonzero_bits, num_sign_bit_copies, truncated_to_mode): Likewise. + * rtlhooks-def.h (reg_nonzero_bits_general, + reg_num_sign_bit_copies_general, reg_truncated_to_mode_general): + Likewise. + * rtlhooks.c (reg_num_sign_bit_copies_general, + reg_nonzero_bits_general, reg_truncated_to_mode_general): + Likewise. + * stmt.c (warn_if_unused_value, is_body_block): Likewise. + * stor-layout.c (mode_for_size_tree): Likewise. + * tree-ssa-loop-im.c (memref_eq): Likewise. + * tree-ssa-loop-ivopts.c (tree_int_cst_sign_bit): Likewise. + * tree.c (contains_placeholder_p, type_list_equal, + simple_cst_equal, get_callee_fndecl, operand_equal_for_phi_arg_p): + Likewise. + * tree.h (tree_int_cst_sign_bit, may_negate_without_overflow_p, + mode_for_size_tree, categorize_ctor_elements, count_type_elements, + contains_placeholder_p, contains_packed_reference, + get_callee_fndecl, operand_equal_for_phi_arg_p, + warn_if_unused_value, is_body_block, native_encode_expr, + native_interpret_expr, fold_convertible_p, operand_equal_p, + int_const_binop, tree_swap_operands_p, builtin_mathfn_code, + validate_arglist, simple_cst_equal, type_list_equal, + use_register_for_decl, call_expr_flags, get_name, + highest_pow2_factor): Likewise. + (const_call_expr_arg_iterator_d, + init_const_call_expr_arg_iterator, next_const_call_expr_arg, + first_const_call_expr_arg, more_const_call_expr_args_p, + FOR_EACH_CONST_CALL_EXPR_ARG): New. + * varasm.c (constructor_static_from_elts_p): Constify. + +2007-07-28 Kazu Hirata + + * cfglayout.c, config/arm/arm.c, config/arm/cortex-a8.md, + config/arm/neon-schedgen.ml, config/arm/neon.ml, + config/arm/vec-common.md, config/ia64/div.md, cselib.c, + df-core.c, df.h, dominance.c, optabs.c, opts.c, reg-stack.c, + regstat.c, target.h, tree-ssa-live.c, tree-ssa-pre.c, + tree-vect-transform.c, tree.def: Fix comment typos. Follow + spelling conventions. + * doc/invoke.texi: Follow spelling conventions. + +2007-07-29 Vladimir Yanovsky + Revital Eres + + * modulo-sched.c (sms_schedule): Avoid loops which includes + auto-increment instructions. + +2007-07-28 Richard Guenther + + PR middle-end/32920 + * fold-const.c (fold_cond_expr_with_comparison): Convert + operand zero of MIN/MAX_EXPR to correct type. + +2007-07-28 Kaveh R. Ghazi + + * calls.c (special_function_p, setjmp_call_p, alloca_call_p, + flags_from_decl_or_type): Constify. + * gcc.c (do_spec_1): Likewise. + * print-tree.c (dump_addr, print_node_brief): Likewise. + * tree-cfg.c (stmt_starts_bb_p, is_ctrl_stmt, computed_goto_p, + simple_goto_p, tree_can_make_abnormal_goto, stmt_starts_bb_p, + tree_purge_all_dead_eh_edges): Likewise. + * tree-flow.h (is_ctrl_stmt, computed_goto_p, simple_goto_p, + tree_can_make_abnormal_goto, tree_purge_all_dead_eh_edges): + Likewise. + * tree.c (expr_location, expr_has_location, expr_locus, + expr_filename, expr_lineno, get_inner_array_type, + fields_compatible_p): Likewise. + * tree.h (get_inner_array_type, fields_compatible_p, + expr_location, expr_has_location, expr_locus, expr_filename, + expr_lineno, dump_addr, print_node_brief, flags_from_decl_or_type, + setjmp_call_p, alloca_call_p): Likewise. + +2007-07-28 Daniel Berlin + + * timevar.def: Add TV_CALL_CLOBBER, TV_FLOW_SENSITIVE, + TV_FLOW_INSENSITIVE. + + * tree-ssa-alias.c (compute_call_clobbered): Push/pop + TV_CALL_CLOBBER. + (compute_flow_sensitive_aliasing): Ditto for TV_FLOW_SENSITIVE. + (compute_flow_insensitive_aliasing): Ditto for + TV_FLOW_INSENSITIVE. + +2007-07-27 Jan Hubicka + + * config/i386/i386.c (register_move_cost): Remove accidentally comitted + #if 0 block. + + * attribs.c: Include hashtab.h + (attribute_hash): New. + (substring): New structure. + (extract_attribute_substring, substring_hash, hash_attr, eq_attr): + New function. + (init_attributes): Initialize attribute hash. + (decl_attributes): Use attribute hash. + * Makefile.in (attribs.c): Depend on hashtab.h. + +2007-07-27 Steve Ellcey + + * config/ia64/vect.md (vec_initv2si): Remove bad BIG_ENDIAN test. + +2007-07-27 Richard Sandiford + + * doc/invoke.texi (mdsp, mdspr2): Document the __mips_dsp, + __mips_dspr2 and __mips_dsp_rev macros. + * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_dsp_rev. + +2007-07-27 Douglas Gregor + + * c-common.h (enum rid): Add RID_DECLTYPE, update RID_LAST_CXX0X. + +2007-07-26 Kenneth Zadeck + + PR middle-end/32749 + + * df-problems.c (df_create_unused_note): Removed do_not_gen parm + and the updating of the live and do_not_gen sets. + (df_note_bb_compute): Added updating of live and do_not_gen sets + for regular defs so that the case of clobber inside conditional + call is processed correctly. + +2007-07-27 Zdenek Dvorak + + * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Generate the + operands with compatible type. + +2007-07-27 Richard Sandiford + + * expr.h (store_bit_field): Don't return a value. + * expmed.c (check_predicate_volatile_ok): New function. + (store_bit_field_1): New function, extracted from store_bit_field. + Take a fallback_p argument and return true if the operation succeeded. + Only use store_fixed_bit_field if fallback_p. Don't recompute + mode_for_extraction; use op_mode instead. Try forcing memories + into registers if the insv expander fails. + (store_bit_field): Use store_bit_field_1 with fallback_p true. + Don't return a value. + (convert_extracted_bit_field): New function, extracted from + store_bit_field. + (extract_bit_field_1): Likewise. Take a fallback_p argument + and return NULL if the operation succeeded. Only use + extract_fixed_bit_field if fallback_p. Only calculate one + extraction mode. Combine code for extv and extzv. Try forcing + memories into registers if the ext(z)v expander fails. + (extract_bit_field): Use extract_bit_field_1 with fallback_p true. + +2007-07-27 Richard Sandiford + + * df.h (df_mw_hardreg): Turn df_ref_type and df_ref_flags + into bitfields. + (df_ref): Likewise. Put regno with other integer fields. + +2007-07-27 Richard Sandiford + + * df.h (df_mw_hardreg): Remove "loc" field. + * df-scan.c (df_ref_record): Don't set it. Remove redundant + local variable. + * df-problems.c (df_whole_mw_reg_unused_p): New function, + split out from df_set_unused_notes_for_mw. Return false for + partial references. Assert that mw_reg is a REG when returning true. + (df_set_unused_notes_for_mw): Use it. Use mw_reg instead of *loc. + (df_whole_mw_reg_dead_p): New function, split out from + df_set_dead_notes_for_mw. Return false for partial references. + Assert that mw_reg is a REG when returning true. + (df_set_dead_notes_for_mw): Use it. Use mw_reg instead of *loc. + Remove redundant bitmap check. + +2007-07-26 H.J. Lu + + * config/ia64/t-ia64 ($(T)crtbegin.o): Removed. + ($(T)crtend.o): Likwise. + ($(T)crtbeginS.o): Likwise. + ($(T)crtendS.o): Likwise. + ($(T)crtfastmath.o): Likwise. + +2007-07-26 Zdenek Dvorak + + * dominance.c (dom_computed, n_bbs_in_dom_tree): Removed. + * function.h (dom_computed, n_bbs_in_dom_tree): New macros. + * basic-block.h (struct control_flow_graph): Added x_dom_computed + and x_n_bbs_in_dom_tree fields. + +2007-07-26 Steve Ellcey + + PR tree-optimization/32087 + * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): + Do not call scale_bbs_frequencies_int with prob of zero. + +2007-07-26 Julian Brown + + * config/arm/arm-protos.h (neon_lane_bounds, neon_const_bounds) + (neon_element_bits): Add prototypes. + * config/arm/arm.c (bounds_check, neon_lane_bounds) + (neon_const_bounds, neon_element_bits): New functions. + * config/arm/neon.md (neon_vget_lane, neon_vget_lanedi) + (neon_vget_lanev2di, neon_vset_lane, neon_vset_lanedi) + (neon_vset_lanev2di, neon_vdup_lane, neon_vdup_lanedi) + (neon_vdup_lanev2di, neon_vcvt_n, neon_vmul_lane) + (neon_vmull_lane, neon_vqdmull_lane) + (neon_vqdmulh_lane, neon_vmla_lane) + (neon_vmlal_lane, neon_vqdmlal_lane) + (neon_vmls_lane, neon_vmlsl_lane) + (neon_vqdmlsl_lane, neon_vext, neon_vshr_n) + (neon_vshrn_n, neon_vqshrn_n, neon_vqshrun_n) + (neon_vshl_n, neon_vshl_n, neon_vqshl_n) + (neon_vqshlu_n, neon_vshll_n, neon_vsra_n) + (neon_vsri_n, neon_vsli_n): Add bounds checks. + +2007-07-26 Nathan Froyd + + * config/vxworks.h (VXWORKS_LINK_SPEC): Fix typo. + (HAVE_AS_GNU_ATTRIBUTE): Undefine. + +2007-07-26 Mark Shinwell + Julian Brown + + * config/arm/arm.c (arm_mac_accumulator_is_mul_result): New. + * config/arm/arm-protos.h (arm_mac_accumulator_is_mul_result): New. + * config/arm/cortex-a8.md: New. + * config/arm/cortex-a8-neon.md: New. + * config/arm/neon-schedgen.ml: New. + * config/arm/neon.md (vqh_mnem): New. + (neon_type): New. + (Is_float_mode): New. + (Scalar_mul_8_16): New. + (Is_d_reg): New. + (V_mode_nunits): New. + (All instruction patterns): Annotate with neon_type attribute + values. + * config/arm/arm.md: Include cortex-a8.md. + (insn): Add smmla, umaal, smlald, smlsld, clz, mrs, msr and xtab + values. + Annotate instruction patterns accordingly. + (generic_sched): Do not use generic scheduling for Cortex-A8. + (generic_vfp): Do not use generic VFP scheduling for Cortex-A8. + 2007-07-26 Daniel Jacobowitz * fold-const.c (fold_read_from_constant_string): Use @@ -741,7 +1205,7 @@ (reg_save_code, reg_restore_code): New functions. (init_caller_save): Do not intialize reg_save_code/reg_restore_code tables. - * Makeifle.in: (gt-caller-save.h): New. + * Makefile.in: (gt-caller-save.h): New. 2007-07-24 Andreas Krebbel @@ -12402,7 +12866,7 @@ * c-common.c (warn_logical_operator): Fix condition. -2007-03-10 Tobias Schl�ter +2007-03-10 Tobias Schl�ter * config/i386/darwin.h (DARWIN_MINVERSION_SPEC): Add missing quotation mark. @@ -19544,7 +20008,7 @@ * langhooks.h (struct lang_hooks): Removed field 'can_use_bit_fields_p'. -2007-01-10 Ralf Corsépius +2007-01-10 Ralf Corsépius * config/bfin/t-bfin, config/bfin/t-bfin-elf: Remove GCC_CFLAGS. @@ -19773,7 +20237,7 @@ * config/frv/predicates.md (reg_or_0_operand): Accept CONST_DOUBLEs. -2007-01-08 Ralf Corsépius +2007-01-08 Ralf Corsépius * config/bfin/rtems.h, config/bfin/t-rtems: New. * config.gcc: Add bfin*-rtems*.