OSDN Git Service

gcc/
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 0cb7d56..4024933 100644 (file)
@@ -1,3 +1,238 @@
+2006-04-19  Carlos O'Donell  <carlos@codesourcery.com>
+           Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c/26774
+       * stor-layout.c (update_alignment_for_field): Do not align 
+       ERROR_MARK nodes.
+       (place_union_field): Place union field at the start of the union.
+       (place_field): Move ERROR_MARK check later, and use the current
+       allocation position to maintain monotonicity.
+
+2006-04-19  Zdenek Dvorak <dvorakz@suse.cz>
+
+       * dominance.c: Include timevar.h.
+       (calculate_dominance_info): Use TV_DOMINANCE.
+       * timevar.def (TV_DOMINANCE): New timevar.
+       * Makefile.in (dominance.o): Add TIMEVAR_H dependency.
+
+2006-04-19  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       PR rtl-optimization/14261
+       * ifcvt.c (noce_emit_move_insn): Call store_bit_field if the resulting
+       move would be an INSV insn.
+       (noce_process_if_block): Don't optimize if the destination is a 
+       ZERO_EXTRACT which can't be handled by noce_emit_move_insn.
+
+2006-04-19  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390.md: Add comments with the instructions emitted
+       by an insn pattern if macros are used.
+
+2006-04-19  Alan Modra  <amodra@bigpond.net.au>
+
+       PR rtl-optimization/26026
+       * fold-const.c (fold_binary): Optimize div and mod where the divisor
+       is a known power of two shifted left a variable amount.
+
+2006-04-18  Geoffrey Keating  <geoffk@apple.com>
+
+       * dwarf2out.c (prune_unused_types_update_strings): Don't add strings
+       to hash table twice when the debug_str section has SECTION_MERGE.
+
+2006-04-18  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * config/soft-fp: New directory.  From glibc.
+       * config/soft-fp/t-softfp: New.
+       * config/soft-fp/README: New.
+       * mklibgcc.in: Handle LIB2FUNCS_EXCLUDE.
+       * Makefile.in (LIB2FUNCS_EXCLUDE, SFP_MACHINE): New.
+       (libgcc.mk): Pass LIB2FUNCS_EXCLUDE.
+       (LIBGCC_DEPS): Add $(SFP_MACHINE).
+       * config.gcc: Use rs6000/t-fprules-fpbit or
+       rs6000/t-fprules-softfp and soft-fp/t-softfp together with
+       rs6000/t-fprules.
+       * config/rs6000/sfp-machine.h: New.  Based on glibc.
+       * config/rs6000/t-fprules-fpbit, config/rs6000/t-fprules-softfp:
+       New.
+       * config/rs6000/t-fprules: Remove fp-bit rules.
+       * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Use +=.
+       * config/rs6000/t-linux64: Likewise.  Remove duplicates from
+       LIB2FUNCS_EXTRA.  Remove fp-bit rules.
+       (softfp_wrap_start, softfp_wrap_end): New.
+
+2006-04-18  DJ Delorie  <dj@redhat.com>
+
+       * config/m32c/m32c.h (PTRDIFF_TYPE): Define.
+
+2006-04-18  Devang Patel  <dpatel@apple.com>
+
+       * doc/invoke.texi (-Wuninitialized): Clarify -O connection.
+       
+2006-04-18  Nick Clifton  <nickc@redhat.com>
+
+       * config/sh/t-symbian: Add rule to build sh-c.o
+       * config/sh/symbian.c (sh_symbian_mark_dllexport): Replace use
+       of DECL_NON_ADDR_CONST_P with DECL_DLLIMPORT_P.
+       (sh_symbian_encode_section_info): Likewise.
+
+2006-04-18  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * builtins.c (expand_builtin_strcmp): Cover label definition of 
+       do_libcall with HAVE_cmpstrnsi.
+
+2006-04-18  Kazu Hirata  <kazu@codesourcery.com>
+
+       * function.c (temp_slots_at_level, max_slot_level): Use VEC
+       instead of VARRAY.
+       * function.h (temp_slot_p): New.
+       (function): Change the type of x_used_temp_slots to
+       VEC(temp_slot_p,gc) *.
+
+2006-04-18  Nick Clifton  <nickc@redhat.com>
+
+       * config/mmix/mmix.h (OPTIMIZATION_OPTIONS): Remove reference to
+       flag_strength_reduce.
+
+       * doc/tm.texi (TARGET_SECTION_TYPE_FLAGS): Fix typo.
+
+2006-04-18  Paolo Bonzini  <bonzini@gnu.org>
+
+        PR target/27117
+
+       Partial revert of revision 112637
+       2006-04-03  Paolo Bonzini  <bonzini@gnu.org>
+                   Dale Johannesen  <dalej@apple.com>
+
+       PR target/19653
+       * regclass.c (struct reg_pref): Update documentation.
+       (regclass): Set prefclass to NO_REGS if memory is the best option.
+       (record_reg_classes): Cope with a prefclass set to NO_REGS.
+
+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,
 
 2006-03-22  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
 
-       PR mudflap/26790
+       PR mudflap/26789
        * tree-mudflap.c (mudflap_finish_file): Skip erroneous objects.
 
-       PR mudflap/26789
+       PR mudflap/26790
        * tree-mudflap.c (mf_xform_derefs_1): Return early on error_mark_node.
 
 2006-03-22  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>