OSDN Git Service

* doc/md.texi (Standard Pattern Names): Document blockage pattern.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 7040285..94702ad 100644 (file)
@@ -1,3 +1,277 @@
+2007-01-28  David Edelsohn  <edelsohn@gnu.org>
+
+       * doc/md.texi (Standard Pattern Names): Document blockage pattern.
+
+2007-01-28  Zdenek Dvorak <dvorakz@suse.cz>
+
+       * tree-ssa-loop-unswitch.c: Include tree-inline.h.
+       (tree_unswitch_single_loop): Pass eni_size_weights to
+       tree_num_loop_insns.
+       * tree-ssa-loop-manip.c: Include tree-inline.h.
+       (can_unroll_loop_p): Pass eni_size_weights to
+       tree_num_loop_insns.
+       * tree-ssa-loop-ch.c (should_duplicate_loop_header_p):
+       Pass eni_size_weights to estimate_num_insns.
+       * tree.h (init_inline_once): Export.
+       * toplev.c (backend_init): Call init_inline_once.
+       * cgraphunit.c (cgraph_process_new_functions,
+       cgraph_analyze_function): Pass eni_inlining_weights to
+       estimate_num_insns.
+       * ipa-inline.c (compute_inline_parameters): Ditto.
+       * tree-ssa-loop-ivcanon.c (tree_num_loop_insns): Pass weights
+       to estimate_num_insns.
+       (try_unroll_loop_completely): Pass eni_size_weights to
+       tree_num_loop_insns.
+       * tree-eh.c (decide_copy_try_finally): Pass eni_size_weights
+       ot estimate_num_insns.
+       * tree-ssa-loop-prefetch.c: Include tree-inline.h.
+       (loop_prefetch_arrays): Pass eni_time_weights to tree_num_loop_insns.
+       * tree-inline.c (eni_inlining_weights, eni_size_weights,
+       eni_time_weights): New variables.
+       (init_inline_once): Initialize them.
+       (struct eni_data): Mew.
+       (estimate_num_insns_1, estimate_num_insns): Use weights.
+       * tree-inline.h (struct eni_weights_d): New.
+       (eni_inlining_weights, eni_size_weights, eni_time_weights): Declare.
+       (estimate_num_insns): Declaration changed.
+       * cfgloop.h (tree_num_loop_insns): Declaration changed.
+       * Makefile.in (tree-ssa-loop-unswitch.o, tree-ssa-loop-prefetch.o,
+       tree-ssa-loop-manip.o): Add TREE_INLINE_H dependency.
+
+2007-01-28  Zdenek Dvorak <dvorakz@suse.cz>
+
+       * tree-data-ref.c (conflict_fn): Assert that the number of affine
+       relations in the conflict function is valid.
+
+2007-01-27  Ian Lance Taylor  <iant@google.com>
+
+       * common.opt: Add fstrict-overflow.
+       * opts.c (decode_options): Set flag_strict_overflow if -O2.
+       * flags.h (TYPE_OVERFLOW_WRAPS): Define.
+       (TYPE_OVERFLOW_UNDEFINED): Define.
+       (TYPE_OVERFLOW_TRAPS): Define.  This replaces TYPE_TRAP_SIGNED.
+       Replace all uses.
+       * tree.h (TYPE_TRAP_SIGNED): Don't define.
+       * fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_UNDEFINED.
+       (fold_negate_expr): Likewise.
+       (make_range): Likewise.
+       (extract_muldiv_1): Likewise.
+       (maybe_canonicalize_comparison): Likewise.
+       (fold_comparison): Likewise.
+       (fold_binary): Likewise.
+       (tree_expr_nonnegative_p): Likewise.
+       (tree_expr_nonzero_p): Likewise.
+       * tree-vrp.c (compare_values): Likewise.
+       (extract_range_from_binary_expr): Likewise.
+       (extract_range_from_unary_expr): Likewise.
+       * tree-ssa-loop-niter.c (infer_loop_bounds_from_signedness):
+       Likewise.
+       (nowrap_type_p): Likewise.
+       * tree-scalar-evolution.c (simple_iv): Likewise.
+       * fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_WRAPS.
+       (build_range_check): Likewise.
+       (extract_muldiv_1): Likewise.
+       (fold_comparison): Likewise.
+       * tree-vrp.c (vrp_int_const_binop): Likewise.
+       (extract_range_from_unary_expr): Likewise.
+       * convert.c (convert_to_integer): Likewise.
+       * fold-const.c (fold_negate_expr): Use TYPE_OVERFLOW_TRAPS.
+       (fold_comparison): Likewise.
+       (fold_binary): Likewise.
+       * optabs.c (optab_for_tree_code): Likewise.
+       * tree-vectorizer.c (vect_is_simple_reduction): Likewise.
+       * simplify-rtx.c (simplify_const_relational_operation): Check
+       flag_strict_overflow and flag_trapv.
+       (simplify_const_relational_operation): Likewise.
+       * doc/invoke.texi (Option Summary): Mention -fstrict-overflow.
+       (Optimize Options): Add -fstrict-overflow to -O2 list.  Document
+       -fstrict-overflow.
+
+2007-01-27  Roger Sayle  <roger@eyesopen.com>
+
+       * tree.c (tree_fold_gcd): Delete.
+       * tree.h (tree_fold_gcd): Remove prototype.
+       * tree-data-ref.c (tree_fold_divides_p): Don't use tree_fold_gcd to
+       test whether one constant integer is a multiple of another.  Instead
+       call int_const_binop with TRUNC_MOD_EXPR and test for a zero result.
+       * fold-const.c (multiple_of_p):  We've determined both TOP and
+       BOTTOM are integer constants so we can call int_const_binop directly
+       instead of the more generic const_binop.
+
+2007-01-27  Roger Sayle  <roger@eyesopen.com>
+
+       * fold-const.c (size_binop): In the fast-paths for X+0, 0+X, X-0 and
+       1*X check that the constant hasn't overflowed, to preserve the
+       TREE_OVERFLOW bit.
+       (round_up): Provide an efficient implementation when rouding-up an
+       INTEGER_CST to a power-of-two.
+
+2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * doc/sourcebuild.texi: Add comma for clarity.
+       * doc/extend.texi: Fix some typos.
+       * doc/passes.texi: Likewise.
+       * doc/cppinternals.texi: Likewise.
+       * doc/c-tree.texi: Likewise.
+       * doc/tree-ssa.texi: Likewise.
+       * doc/install.texi: Likewise.
+
+2007-01-27  Jan Hubicka  <jh@suse.cz>
+
+       * tree-sra.c (sra_walk_function): Don't rely on aliases being build.
+       (pass_sra): Do not require alias information.
+       * passes.c (init_optimization_passes): Add SRA
+
+2007-01-27  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * tracer.c (rest_of_handle_tracer): We already cleaned
+       up the CFG in tracer() so don't do it here again.
+       * cfgcleanup.c (rest_of_handle_jump2): Don't repeat
+       cleanup_cfg here, either.  And don't call renumber_insns.
+
+       * cfgrtl.c (rtl_verify_flow_info_1): Don't verify that BB_END
+       and BB_HEAD are in the insn stream here.  Instead make sure
+       that BB_INSN is valid on all insns.  Also, do check here that
+       there are no pending branch predictions...
+       (rtl_verify_flow_info): ...instead of doing it here.  Checks
+       for BB_END and BB_HEAD moved from rtl_verify_flow_info_1 to
+       here.
+
+2007-01-26  Roger Sayle  <roger@eyesopen.com>
+
+       * config/i386/i386.c (ix86_swap_binary_operands_p): New helper
+       function to simplify/factorize operand order canonicalization.
+       (ix86_fixup_binary_operands): Reorganize using the above function.
+       (ix86_binary_operator_ok): Likewise.
+
+2007-01-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * genattrtab.c (struct attr_value_list, insn_code_values): Move to
+       file scope from optimize_attrs.
+       (simplify_test_exp): If insn_code_values is not NULL, use it to speed
+       up search.
+       (optimize_attrs): Clear insn_code_values after freeing it.
+
+2007-01-26  Zdenek Dvorak <dvorakz@suse.cz>
+
+       * tree-ssa-address.c (create_mem_ref): Remove ", bsi" from
+       a parts.base assignment.
+
+2007-01-26  Zdenek Dvorak <dvorakz@suse.cz>
+
+       * tree-data-ref.c (dump_subscript): Use dump_conflict_function.
+       (compute_subscript_distance, initialize_data_dependence_relation,
+       finalize_ddr_dependent, analyze_ziv_subscript,
+       analyze_siv_subscript_cst_affine,
+       compute_overlap_steps_for_affine_univar,
+       compute_overlap_steps_for_affine_1_2, analyze_subscript_affine_affine,
+       analyze_siv_subscript, analyze_miv_subscript,
+       analyze_overlapping_iterations, subscript_dependence_tester_1,
+       compute_self_dependence, free_dependence_relation): Work
+       with affine_fn instead of chrecs.
+       (dump_affine_function, dump_conflict_function, affine_function_equal_p,
+       common_affine_function, affine_function_base,
+       affine_function_constant_p, affine_fn_op, affine_fn_plus,
+       affine_fn_minus, affine_fn_free, conflict_fn_not_known,
+       conflict_fn_no_dependence, free_conflict_function, free_subscripts,
+       conflict_fn, affine_fn_cst, affine_fn_univar): New functions.
+       (all_chrecs_equal_p): Removed.
+       * tree-data-ref.h (affine_fn, conflict_function): New types.
+       (struct subscript): Change type of conflicting_iterations_in_a
+       and conflicting_iterations_in_b.
+
+2007-01-26  Steve Ellcey  <sje@cup.hp.com>
+
+       PR other/30182
+       * config/pa/pa.h (TARGET_HPUX_11): New.
+       * config/pa/pa-hpux11.h (TARGET_HPUX_11): New.
+       * config/pa/pa.c (pa_init_builtins): Use TARGET_HPUX_11.
+
+2007-01-26  Daniel Berlin  <dberlin@dberlin.org>
+       Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-structalias.c (solve_graph): Handle case
+       we merged the variable to another.
+
+2007-01-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.c (fold_builtin_1): Treat ccos and ccosh as 'even'
+       functions.
+
+       * fold-const.c (negate_mathfn_p): Treat casin, casinh, catan,
+       catanh, cproj, csin, csinh, ctan and ctanh as 'odd' functions.
+
+2007-01-25  DJ Delorie  <dj@redhat.com>
+
+       * config/m32c/m32c.c (m32c_cannot_change_mode_class): We don't
+       allow changes to modes which don't fit in those registers.
+
+       * reload1.c (choose_reload_regs): Check for invalid subregs before
+       computing their locations, not after.
+
+2007-01-25  Geoffrey Keating  <geoffk@apple.com>
+
+       PR 25127
+       * config/rs6000/rs6000.c (first_altivec_reg_to_save): On Darwin,
+       save Altivec registers in an eh_return function.
+       (compute_vrsave_mask): Likewise.
+       (rs6000_stack_info): Correct AIX/Darwin stack alignment computation
+       for saving Altivec registers.
+       (rs6000_emit_prologue): Don't allocate stack twice in
+       eh_return function.  Correct expected value of altivec_save_offset
+       when using save_world.  Describe save of R0 to stack when using
+       save_world.  Describe stack pointer adjustment when using
+       save_world.  Remove duplicated eh_return parameter register saving.
+       Update sp_offset variable after save_world.
+       * config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA): Remove
+       darwin-world.asm.
+       (LIB2FUNCS_EXTRA): Add darwin-world.asm.
+       * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): -m64
+       implies Altivec.
+
+2007-01-25  Steve Ellcey  <sje@cup.hp.com>
+
+       * config.gcc (ia64*-*-hpux*): Make posix threads the default.
+
+2007-01-25  Steve Ellcey  <sje@cup.hp.com>
+
+       PR other/30182
+       * config/pa/pa.c (pa_init_builtins): Set asm names for finite routines.
+       * config/ia64/ia64.c (ia64_init_builtins):  Ditto.
+
+2007-01-25  Richard Guenther  <rguenther@suse.de>
+
+       * doc/invoke.texi (-Wcoverage-mismatch): Document.
+       * common.opt (-Wcoverage-mismatch): New warning option.
+       * coverage.c (get_coverage_counts): Ignore coverage mismatch
+       if -Wcoverage-mismatch is given.
+
+2007-01-25  Razya Ladelsky  <razya@il.ibm.com>
+
+       * ipa-cp.c (ipcp_insert_stage, ipcp_driver): Support for SSA. 
+       (ipcp_driver): Change to static definition. 
+       Add dumping of the ifunctions.
+       (constant_val_insert): Remove unused parameter. Support for SSA.
+       (ipcp_propagate_const): Support for SSA.
+       (ipcp_profile_bb_print): Print only analyzed nodes.
+       (ipcp_replace_map_create): Remove support for Fortran constant 
+       for now.
+       * ipa-prop.c (ipa_method_modify_stmt, 
+       ipa_callsite_compute_param): Support for SSA.
+       * ipa-prop.h (ipcp_driver): Remove declaration.
+       (IS_VALID_TREE_MAP_INDEX): Add define.
+
+2007-01-24  Geoffrey Keating  <geoffk@apple.com>
+
+       * unwind-dw2.c (execute_stack_op): Handle DW_OP_swap.
+
+2007-01-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       PR middle-end/30447
+       * builtins.c (fold_builtin_cabs): Use MPFR to evaluate a
+       constant argument to cabs and do it without checking for
+       -funsafe-math-optimizations.
+
 2007-01-24  Douglas Gregor  <dgregor@osl.iu.edu>
 
        * c-common.h (RID_FIRST_CXX0X): New.