OSDN Git Service

2006-04-18 Paolo Bonzini <bonzini@gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 08b8f29..2d26302 100644 (file)
@@ -1,3 +1,183 @@
+2006-04-18  Paolo Bonzini  <bonzini@gnu.org>
+
+        PR tree-optimization/26821
+        * tree-ssa-math-opts.c (get_constant_one): New.
+        (insert_reciprocals): Use it.
+
+2006-04-17  Geoffrey Keating  <geoffk@apple.com>
+
+       * dwarf2out.c (free_AT): Delete.
+       (remove_AT): Update string ref counts.
+       (remove_child_TAG): Don't call free_die.
+       (free_die): Delete.
+       (break_out_includes): Don't call free_die on DW_TAG_GNU_BINCL
+       or DW_TAG_GNU_EINCL.
+       (prune_unused_types_walk_attribs): Reset string refcounts.
+       (prune_unused_types_update_strings): New.
+       (prune_unused_types_prune): Don't make unnecessary stores.  Don't
+       call free_die.  Do call prune_unused_types_update_strings.
+       (prune_unused_types): Empty debug_str_hash.
+
+2006-04-17  Roger Sayle  <roger@eyesopen.com>
+
+       * expr.c (expand_assignment): Optimize away no-op moves where the
+       source and destination are equal and have no side-effects.
+
+2006-04-17  Richard Guenther  <rguenther@suse.de>
+
+       PR target/26826
+       * reload.c (push_reload): Guard calls to get_secondary_mem
+       for memory subregs.
+
+2006-04-16  Kazu Hirata  <kazu@codesourcery.com>
+
+       * alias.c (reg_base_value, old_reg_base_value): Change the
+       type to VEC(rtx,gc) *.
+       (REG_BASE_VALUE, find_base_value, record_set,
+       init_alias_analysis): Use VEC instead of VARRAY.
+
+       * alias.c (alias_sets): Change the type to
+       VEC(alias_set_entry,gc) *.
+       (get_alias_set_entry, new_alias_set, record_alias_subset): Use
+       VEC instead of VARRAY.
+       (last_alias_set): Remove.
+
+       * cgraph.h (cgraph_edge_p): New.
+       Update the prototype of cgraph_function_versioning.
+       * cgraphunit.c (cgraph_copy_node_for_versioning,
+       cgraph_function_versioning): Use VEC instead of VARRAY.
+       * ipa-cp.c (ipcp_insert_stage): Likewise.
+
+2006-04-16  Roger Sayle  <roger@eyesopen.com>
+
+       PR target/26961
+       * fold-const.c (fold_ternary): When converting "A ? B : C" into either
+       "A op B" or "A op C", we may need to convert A to the type of B and C.
+
+2006-04-16  Adam Nemet  <anemet@caviumnetworks.com>
+
+       * target.h (struct gcc_target): Add mode_rep_extended.
+       * rtlanal.c (num_sign_bit_copies_in_rep): New global.
+       (init_num_sign_bit_copies_in_rep): Initialize it using
+       mode_rep_extended.
+       (truncate_to_mode): Use it.
+       (init_rtlanal): Call init_num_sign_bit_copies_in_rep.
+       * targhooks.h (default_mode_rep_extended): Declare it.
+       * targhooks.c (default_mode_rep_extended): Define it.
+       * target-def.h (TARGET_MODE_REP_EXTENDED): New macro.  Default to
+       default_mode_rep_extended.
+       (TARGET_INITIALIZER): Include it.
+       * doc/tm.texi (Misc): Document it.
+       * config/mips/mips.c (TARGET_TRUNCATED_TO_MODE): Override it.
+       (mips_truncated_to_mode): New function.
+
+2006-04-16  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/25474
+       * expr.c (compress_float_constant): Copy the narrow constant into
+       a new pseudo before extending it to its final width.
+
+2006-04-16  Roger Sayle  <roger@eyesopen.com>
+           Andrew Pinski  <pinskia@gcc.gnu.org>
+           Dale Johannesen  <dalej@apple.com>
+
+       PR target/24076
+       * config/i386/i386.c (ix86_expand_vector_init_duplicate): Add
+       special case code to implement V8HImode and V16QImode with SSE2.
+
+2006-04-15  Roger Sayle  <roger@eyesopen.com>
+
+       * config/i386/i386.c (ix86_va_start): Ensure all integer constant
+       trees are constructed with a suitable tree type.
+
+2006-04-15  Roger Sayle  <roger@eyesopen.com>
+
+       * tree.c (integer_zerop): Ignore TREE_CONSTANT_OVERFLOW.
+       (integer_onep): Likewise.
+       (integer_all_onesp): Likewise.
+       (integer_pow2p): Likewise.
+       (integer_nonzerop): Likewise.
+       (real_zerop): Likewise.
+       (real_onep): Likewise.
+       (real_twop): Likewise.
+       (real_minus_onep): Likewise.
+       (int_size_in_bytes): Likewise.
+       (host_integerp): Likewise.
+
+2006-04-15  Kazu Hirata  <kazu@codesourcery.com>
+
+       * cfgcleanup.c, config/dfp-bit.c, expr.c, fold-const.c,
+       jump.c, mips-tfile.c, omp-low.c, sched-int.h,
+       tree-ssa-loop-prefetch.c, tree-vrp.c: Fix comment typos.
+
+       * tree-ssa-structalias.h (alias_info): Remove num_references.
+
+2006-04-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa.md (output_bb patterns): Shorten long branch alternatives by 4.
+       (output_bvb patterns): Likewise.
+       * pa.c (output_bb): Use 'bb' insn for long branch case.
+       (output_bvb): Likewise use '{bvb|bb}' for long branch case.
+       (output_dbra): Use '{comb|cmpb}' for long branch case for alternative
+       1.  Correct length operand for alternatives 1 and 2.
+       (output_movb): Use '{comb|cmpb}' for long branch case for alternatives
+       1, 2 and 3.  Correct length operand for alternatives 1, 2 and 3.
+
+2006-04-14  Roger Sayle  <roger@eyesopen.com>
+
+       * tree-cfg.c (make_edges, make_omp_sections_edges, move_stmt_r,
+       is_ctrl_altering_stmt): Reinstate RTH's changes from r112935 that
+       were accidentally reverted by r112959.
+
+2006-04-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/26823
+       * except.h (eh_region_outermost): New prototype.
+       * except.c (eh_region_outermost): New function.
+       * tree-cfg.c (find_outermost_region_in_block): Use it.
+
+2006-04-14  Kazu Hirata  <kazu@codesourcery.com>
+
+       * local-alloc.c (rest_of_handle_local_alloc): Use VEC instead
+       of VARRAY.
+       * reload1.c (reg_equiv_memory_loc_varray): Rename to
+       reg_equiv_memory_loc_vec.  Change the type to VEC(rtx,gc) *.
+       (init_reload, reload): Use VEC instead of VARRAY.
+       * reload.h: Update the prototype for
+       reg_equiv_memory_loc_varray.
+
+2006-04-14  Alexey Starovoytov  <alexey.starovoytov@sun.com>
+            Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config/sparc/sparc.c (emit_and_preserve): Allocate space for the
+       register save area.
+
+2005-04-13  Uros Bizjak  <uros@kss-loka.si>
+
+       PR middle-end/27134
+       * builtins.c (expand_builtin_int_roundingfn): Use expand_normal()
+       to expand fallback builtin function call.
+
+2006-04-14  Alan Modra  <amodra@bigpond.net.au>
+
+       PR middle-end/27095
+       * builtins.c: (expand_builtin_memset): Stabilize args before expansion
+       and emit libcall here in case the builtin fails.
+       (expand_builtin_strcmp): Always emit the libcall here on failure.
+
+2006-04-14  Kazu Hirata  <kazu@codesourcery.com>
+
+       * basic-block.h (REG_BASIC_BLOCK): Use VEC instead of VARRAY.
+       * flow.c (reg_n_info): Change the type to
+       VEC(reg_info_p,heap) *.
+       * regclass.c (allocate_reg_info, free_reg_info): Use VEC
+       instead of VARRAY.
+       * regs.h (reg_info_p): New.
+       (REG_N_REFS, REG_FREQ, REG_N_SETS, REG_N_DEATHS,
+       REG_N_CALLS_CROSSED, REG_N_THROWING_CALLS_CROSSED,
+       REG_LIVE_LENGTH, REGNO_FIRST_UID, REGNO_LAST_UID): Use VEC
+       instead of VARRAY.
+
 2006-04-13  Eric Botcazou  <ebotcazou@adacore.com>
 
        * params.def (PARAM_MAX_SCHED_READY_INSNS): New parameter,
 
 2006-04-13  Richard Henderson  <rth@redhat.com>
 
-       PR 26651
+       PR libgomp/26651
        * gimple-low.c (lower_omp_directive): Remove dead code.
        (lower_stmt): Do nothing except for openmp, except for OMP_PARALLEL.
        * gimplify.c (gimplify_expr): Update for OMP_RETURN, OMP_CONTINUE.