OSDN Git Service

PR tree-optimization/26213
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index fa18763..e9225a4 100644 (file)
@@ -1,3 +1,202 @@
+2006-02-10  Jeff Law  <law@redhat.com>
+
+       PR tree-optimization/26213
+       * tree-ssa-threadedge.c (simplify_control_stmt_condition): Do not
+       loop trying to follow SSA_NAME_VALUE chains.
+
+2006-02-10  Richard Guenther  <rguenther@suse.de>
+
+       * tree-dfa.c (get_ref_base_and_extent): When computing maxsize
+       deal with structures that end in implicitly variable sized arrays.
+
+2006-02-09  Zdenek Dvorak <dvorakz@suse.cz>
+
+       PR rtl-optimization/24762
+       * df-scan.c (df_bb_refs_record): Record correct registers defined on
+       eh edges.
+
+2006-02-09  Zdenek Dvorak <dvorakz@suse.cz>
+
+       * tree-ssa-loop-ivopts.c (struct loop_data, loop_data): Removed.
+       (struct ivopts_data): Add regs_used field.
+       (tree_ssa_iv_optimize_init): Do not allocate aux fields for loops.
+       (ivopts_global_cost_for_size, determine_set_costs): Use data->regs_used
+       instead of loop_data->regs_used;
+       (free_loop_data): Do not free aux fields for loops.
+       (tree_ssa_iv_optimize): Do not pass loops to tree_ssa_iv_optimize_init
+       and tree_ssa_iv_optimize_finalize.
+
+2006-02-09  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.h (FUNCTION_VALUE): Don't handle CHAR_TYPE.
+
+2006-02-09  J"orn Rennecke <joern.rennecke@st.com>
+
+       PR target/26141
+       * sh.c (sh_gimplify_va_arg_expr): Don't change the result type when
+       computing the effective result type.
+
+2006-02-09  J"orn Rennecke <joern.rennecke@st.com>
+
+       PR inline-asm/16194
+       * tree.h (decl_overlaps_hard_reg_set_p) Don't declare.
+       (tree_overlaps_hard_reg_set): Declare.
+       * stmt.c (decl_overlaps_hard_reg_set_p): Now static.  Change return
+       type and signature to match function type expected by walk_tree.
+       (tree_overlaps_hard_reg_set): New function.
+       (decl_conflicts_with_clobbers_p): Rename to:
+       (tree_conflicts_with_clobbers_p).  Take HARD_REG_SET * argument.
+       Use tree_overlaps_hard_reg_set.  Changed caller.
+       * doc/tm.texi (TARGET_MD_ASM_CLOBBERS): Replace
+       decl_overlaps_hard_reg_set_p with tree_overlaps_hard_reg_set.
+       * cris.c (cris_md_asm_clobbers): Likewise.
+
+2006-02-09  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * reload1.c (emit_input_reload_insns): Delete code that tries to
+       inherit using find_equiv_reg.
+
+2006-02-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * c-common.h (flag_const_strings): Don't declare.
+       * c-common.c (flag_const_strings): Remove.
+       * c.opt (fconst_strings): Remove.
+       * c-opts.c (c_common_handle_option): Remove <OPT_fconst_strings>.
+       <OPT_Wwrite_strings>: Don't set flag_const_strings.
+       (c_common_init_options): Don't set flag_const_strings.
+       * doc/invoke.texi (-fno-const-strings): Remove documentation.
+
+2006-02-09  Richard Earnshaw  <richard.earnshaw@arm.com>
+
+       * arm.md (tlobits_cbranch): New pattern.
+       * arm.h (arm_select_cc_mode): For thumb, only return CC_Nmode if
+       testing a single bit.
+
+2006-02-09  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR tree-opt/26179
+       * tree-ssa-pre.c (create_component_ref_by_pieces):
+       Handle RETURN_DECL like VAR_DECL.
+
+2006-02-09  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR middle-end/26134
+       * fold-const.c (fold_indirect_ref_1): Fold 
+       "*(foo *)&complexfoo" to "__real__ complexfoo"
+       and "((foo*)&complexfoo)[1]" to "__imag__ complexfoo".
+
+2006-02-09  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * tree-flow-inline.h (var_can_have_subvars): 
+       Volatile variables should not have subvariables.
+
+2006-02-09  Diego Novillo  <dnovillo@redhat.com>
+
+       PR 26180
+       * tree-vrp.c (vrp_int_const_binop): Detect overflow when
+       multiplying unsigned values.
+       Tidy comments.
+
+2006-02-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config/sparc/sparc.c (tls_call_delay): Fix oversight.
+
+2006-02-08  Jason Merrill  <jason@redhat.com>
+
+       PR c++/25979
+       * tree.def: Elaborate on difference from MODIFY_EXPR.
+       * doc/c-tree.texi (INIT_EXPR): Likewise.
+       * gimplify.c (internal_get_tmp_var): Use INIT_EXPR.
+       (gimplify_decl_expr, gimplify_init_ctor_eval): Likewise.
+       (gimplify_target_expr): Likewise.
+       (gimplify_cond_expr): Remove target handling.
+       (gimplify_modify_expr): Don't clobber INIT_EXPR code here.
+       (gimplify_expr): Clobber it here.
+       (gimplify_modify_expr_rhs): Push assignment into COND_EXPR here.
+       Do return slot optimization if we have an INIT_EXPR.
+
+       PR tree-opt/24365
+       * tree-inline.c (declare_return_variable): Also clear 
+       DECL_COMPLEX_GIMPLE_REG_P as needed in the modify_dest case.
+
+       PR c++/16405
+       * gimplify.c (gimplify_modify_expr_rhs): Re-enable *& handling.
+
+       PR middle-end/22439
+       * gimplify.c (gimplify_one_sizepos): Fix typo.
+
+2006-02-08  Jeff Law  <law@redhat.com>
+
+       PR tree-optimization/21417
+       * tree-ssa-threadedge.c (thread_across_edge): Reject threading
+       across a backedge if the control statement at the end of the
+       block is data dependent on other statements in the same block.
+       (record_temporary_equivalences_from_stmts): Remove over-conservative
+       test for threading across backedges.
+
+       * tree-ssa-dce.c (remove_dead_statement): When removing a dead
+       control statement, handle all three special cases in the same
+       manner as they all have the same desired solution.  No longer
+       special case edge flag updating when the post dominator is
+       the exit block.
+
+2006-02-08  Roger Sayle  <roger@eyesopen.com>
+
+       * tree.def (CHAR_TYPE): Remove.
+       * dbxout.c (dbxout_type): Delete dead handling of CHAR_TYPE.
+       * dwarf2out.c (base_type_die, is_base_type): Likewise.
+       (gen_type_die) <ARRAY_TYPE>: Remove handling of CHAR_TYPE arrays.
+       (gen_string_type_die): Delete unreachable function.
+
+       * tree-pretty-print.c (dump_generic_node): Don't handle CHAR_TYPE.
+       * tree.c (build_int_cst_wide, type_contains_placeholder_1,
+       type_hash_eq, variably_modified_type_p, walk_type_fields): Likewise.
+       * tree.h (NUMERICAL_TYPE_CHECK, INTEGRAL_TYPE_P): Likewise.
+       * builtins.c (type_to_class): Likewise.
+       * fold-const.c (fold_convert, build_range_check,
+       merge_ranges): Likewise.
+       * expr.c (count_type_elements): Likewise.
+       * c-pretty-print.c (pp_c_type_specifier): Likewise.
+       * stor-layout.c (layout_type): Likewise.
+       * ipa-type-escape.c (type_to_consider): Likewise.
+       * gimplify.c (omp_firstprivatize_type_sizes,
+       gimplify_type_sizes): Likewise.
+       * explow.c (promote_mode): Likewise.
+       * tree-sra.c (is_sra_scalar_type): Likewise.
+       * varasm.c (output_constant): Likewise.
+       * tree-inline.c (remap_type_1): Likewise.
+       * convert.c (convert_to_pointer, convert_to_real,
+       convert_to_integer, convert_to_complex): Likewise.
+
+2006-02-08  Daniel Berlin  <dberlin@dberlin.org>
+
+       * df-scan.c (df_def_record_1): A set destination may
+       be a parallel regardless of mode.
+
+2006-02-08  Roger Sayle  <roger@eyesopen.com>
+
+       PR target/22209
+       * config/mips/mips.h (MIN_UNITS_PER_WORD): Don't define for libgcc.
+       * config/mips/_tilib.c: Remove.
+       * config/fixtfdi.c: New libgcc source file.
+       * config/fixunstfdi.c: New source file.
+       * config/floatditf.c: New source file.
+       * config/floatunditf.c: New souce file.
+       * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source
+       files above instead of config/mips/_tilib.c.
+       * config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise.
+
+2006-02-08  Jeff Law  <law@redhat.com>
+
+       PR tree-optimization/26169
+       * tree-vrp.c (execute_vrp): Perform any queued SSA updates before
+       threading jumps.
+
+2006-02-08  Zdenek Dvorak <dvorakz@suse.cz>
+
+       * df.h (DF_REG_SIZE): Return the length of the initialized
+       part of the array.
+
 2006-02-08  Nathan Sidwell  <nathan@codesourcery.com>
 
        * gcc/config/m68k/lb1sf68.asm (__divsf3, __divdf3, __mulsf3,
        * tree-eh.c (pass_lower_eh): Do not destroy PROP_gimple_leh.
        * cfgexpand.c (pass_expand): Destroy PROP_trees.
 
-
 2006-02-08  Jakub Jelinek  <jakub@redhat.com>
 
        * config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.