OSDN Git Service

PR rtl-optimization/21299
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index b937ee5..835c93d 100644 (file)
@@ -1,5 +1,264 @@
+2006-09-19  Steven Bosscher  <steven@gcc.gnu.org>
+
+       PR rtl-optimization/21299
+       * reload1.c (reload): Purge invalid ASMs in the final pass.
+
+2006-09-19  Steve Ellcey  <sje@cup.hp.com>
+
+       PR  28490
+       * config/ia64/ia64.c (ia64_legitimate_constant_p): Allow function
+       pointers as legitimate constants.
+
+2006-09-19  Paul Brook  <paul@codesourcery.com>
+
+       PR target/28516
+       * config/arm/arm.c (arm_unwind_emit_set): Handle reg = sp + const.
+
+2006-09-17  Zdenek Dvorak <dvorakz@suse.cz>
+
+       PR tree-optimization/28887
+       * tree-ssa-loop-prefetch.c (analyze_ref): Strip nonaddressable
+       component parts from the reference.
+       (gather_memory_references_ref): Record the reference without the
+       nonaddressable component parts.
+
+2006-09-17  Steven Bosscher  <steven@gcc.gnu.org>
+
+       PR c/25993
+       * c-opts.c (c_common_handle_option): Ignore the -std options
+       if the input language is assembly.
+
+2006-09-17  Ira Rosen  <irar@il.ibm.com>
+
+       PR tree-opt/21591
+       * tree-data-ref.c (ptr_decl_may_alias_p): Look for the name memory
+       tag first.
+       (ptr_ptr_may_alias_p): Likewise.
+       (record_record_differ_p): New function.
+       (base_object_differ_p): Call record_record_differ_p.
+
+2006-09-16  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR tree-opt/29059
+       * tree-ssa-propagate.c (set_rhs): Reject MODIFY_EXPR right
+       away for the expr argument.
+
+2006-09-16  Steven Bosscher  <steven@gcc.gnu.org>
+
+       PR tree-opt/27742
+       * tree-vectorizer.c (vectorize_loops): Clear vect_loop_location
+       before using it for dumping after vectorizing loops.
+
+2006-09-16  Andrew Pinski  <pinskia@physics.uc.edu>
+           Jack Howarth  <howarth@bromo.med.uc.edu>
+
+       PR target/29030
+       * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_recurse)
+       skip on error_mark_node.
+       (rs6000_darwin64_record_arg_recurse): Likewise.
+
+2006-09-16  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * rtl.h (LABEL_OUTSIDE_LOOP_P): Remove.
+       * doc/rtl.texi: Remove related documentation.
+
+2006-09-16  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * loop-doloop.c (doloop_optimize): Remove bogus arg from debugging
+       printf.
+
+2006-09-15  Jim Wilson  <wilson@specifix.com>
+
+       * config/ia64/ia64.c (ia64_legitimate_constant_p, cast CONST):
+       Handle symbol offsets same as they are handled in ia64_expand_move
+       and move_operand.
+
+2006-09-16  Andreas Tobler  <a.tobler@schweiz.org>
+
+       * loop-doloop.c (doloop_optimize): Change type of max_cost to int.
+       Add forgotten parameter to the fprintf call.
+
+2006-09-15  Steve Ellcey  <sje@cup.hp.com>
+
+       * config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Add define.
+
+2006-09-15  Uros Bizjak <uros@kss-loka.si>
+
+       * doc/contrib.texi: Add my entry.
+
+2006-09-15  Nick Clifton  <nickc@redhat.com>
+
+       * doc/md.texi (Processor pipeline description): Fix typo in
+       example of how to use the absence_set directive and reword the
+       description to make it slightly easier to read.
+
+2006-09-15  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * params.def (PARAM_MAX_ITERATIONS_COMPUTATION_COST): New.
+       * loop-doloop.c (doloop_optimize): Use it to limit costs of
+       expanding the number of iterations.
+       * config/bfin/bfin.c (bfin_rtx_costs): Handle UDIV, UMOD.
+
+       * cfgrtl.c (emit_insn_at_entry): New function.
+       * rtl.h (emit_insn_at_entry): Declare it.
+       * integrate.c (emit_initial_value_sets): Use it.
+
+       * cfgrtl.c (emit_insn_at_entry): Use gcc_assert, not abort.
+
+       * config/bfin/bfin.c (struct loop_info): New members block_bitmap and
+       bad.
+       (struct loop_work and related VEC declarations): Delete.
+       (bfin_dump_loops): Print out new member bad.
+       (bfin_bb_in_loop): Use plain bitmap test.  Don't recurse.
+       (bfin_scan_loop): Don't recurse.
+       (bfin_optimize_loop): Don't use a loop depth of -1 to indicate bad
+       loops.  No longer need to update outer loops if the current one is
+       found bad.  Move some validitiy checks to bfin_discover_loop.
+       (bfin_discover_loop): New function, mostly split from bfin_reorg_loops,
+       but changed not to check for nesting.  Also changed to use the new bad
+       flag.
+       (bfin_reorg_loops): Use bfin_discover_loop to find single loops one at a
+       time.  Use bitmap based test to discover loop nesting.
+
+2006-09-15  Kazu Hirata  <kazu@codesourcery.com>
+
+       * doc/tm.texi (TARGET_FUNCTION_VALUE): Put @deftypefn all in
+       one line.
+
+2006-09-14  Richard Guenther  <rguenther@suse.de>
+           Kazu Hirata  <kazu@codesourcery.com>
+
+       PR middle-end/28884.
+       * doc/tm.texi (TARGET_FUNCTION_VALUE): Document.
+       (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE): Deprecate.
+       Replace mentions of FUNCTION_VALUE and FUNCTION_OUTGOING_VALUE
+       with TARGET_FUNCTION_VALUE.
+
+2006-09-14  Anatoly Sokolov <aesok@post.ru>
+
+       PR target/26504
+       * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Define.
+
+2006-09-13  Aldy Hernandez  <aldyh@redhat.com>
+
+       * doc/tree-ssa.texi (Jumps): RESULT_DECL can also be an operand
+       of a RETURN_EXPR
+
+2006-09-13  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR debug/28980
+       * dwarf2out.c (loc_descriptor_from_tree_1): Handle
+       FUNCTION_DECL.
+
+2006-09-13  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * basic_block.h (bb_has_eh_pred): Fix comment.
+
+2006-09-13  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * flow.c (calculate_global_regs_live): Invalidate eh registers
+       on eh edges. Renamed invalidated_by_call to invalidated_by_eh_edge.
+       (propagate_block): Handle eh registers as if they were set at basic
+       block start.
+       * except.c (dw2_build_landing_pads): Don't emit clobbers for eh
+       registers.
+       * global.c (global_conflicts): Make eh registers to conflict with
+       pseudos live at basic block begin.
+       * basic_block.h (bb_has_eh_pred): New function.
+
+2006-09-13  Richard Sandiford  <richard@codesourcery.com>
+
+       PR rtl-optimization/28982
+       * reload.c (find_reloads_address_1): Use RELOAD_OTHER for the
+       index of a PRE_MODIFY or POST_MODIFY address.
+       * reload1.c (inc_for_reload): Use find_replacement on the original
+       base and index registers.
+
+2006-09-12  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * doc/invoke.texi (mpreferred-stack-boundary): Remove exception
+       for -Os. Update __m128 alignment requirement.
+
+2006-09-13  Jan Hubicka  <jh@suse.cz>
+
+       * cfganal.c (compute_dominance_frontiers_1): Don't be quadratic.
+
+2006-09-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR rtl-optimization/28243
+       * combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past
+       the insn to which the note was originally attached.
+
+2006-09-12  Andrew Pinski  <pinskia@physics.uc.edu>
+           Roger Sayle  <roger@eyesopen.com>
+
+       * dwarf2out.c (file_table_last_lookup): Move this GC'd declaration
+       outside of #ifdef DWARF2_DEBUGGING_INFO to fix bootstrap failure
+       on platforms that don't use dwarf for debug info.
+
+2006-09-12  Jason Merrill  <jason@redhat.com>
+
+       PR middle-end/28493
+       * builtins.c (expand_builtin_setjmp_receiver): Clobber
+       hard_frame_pointer_rtx after using it to update the frame pointer.
+
+2006-09-12  Roger Sayle  <roger@eyesopen.com>
+
+       * target-def.h (TARGET_ASM_OPEN_PAREN): Guard with an #ifndef.
+       (TARGET_ASM_CLOSE_PAREN): Likewise.
+       * config/alpha/osf5.h (TARGET_ASM_OPEN_PAREN): Define.
+       (TARGET_ASM_CLOSE_PAREN): Likewise.
+
+2006-09-12  Roger Sayle  <roger@eyesopen.com>
+
+       PR target/22223
+       * config/alpha/alpha.c (alpha_start_function): Don't emit stack
+       frame information for frames larger than 512 Kbytes on Tru64 when
+       using the native assembler.
+
+2006-09-12  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/4520
+       PR bootstrap/28784
+       * cselib.c (cselib_hash_rtx): Avoid hashing on the address of labels
+       and symbols.  Instead use the implementation from cse.c's hash_rtx.
+
+2006-09-12  Jan Hubicka  <jh@suse.cz>
+
+       PR rtl-optimization/28071
+       * tree-vect-transform.c (vect_create_data_ref_ptr): Kill cast.
+       (vect_transform_loop): Likewise.
+       * tree-vectorizer.c (new_loop_vec_info): Likewise.
+       (new_loop_vec_info): Likewise.
+       (destroy_loop_vec_info): Likewise.
+       * tree-dfa.c (create_var_ann): Use GCC_CNEW.
+       (create_stmt_ann): Likewise.
+       (create_tree_ann): Rename to ...
+       (create_tree_common_ann): ... this one; allocate only the common part
+       of annotations.
+       * tree-vn.c (set_value_handle): Use get_tree_common_ann.
+       (get_value_handle): Likewise.
+       * tree-ssa-pre.c (phi_translate): Delay annotation allocation for
+       get_tree_common_ann.
+       * tree-vectorizer.h (set_stmt_info): Take stmt annotation.
+       (vinfo_for_stmt): Use stmt annotations.
+       * tree-flow.h (tree_ann_common_t): New type.
+       (tree_common_ann, get_tree_common_ann, create_tree_common_ann): New.
+       (tree_ann, get_tree_ann, create_tree_ann): New.
+       * tree-flow-inline.h (get_function_ann): Do more type checking.
+       (stmt_ann): Likewise.
+       (tree_ann): Rename to ...
+       (tree_common_ann): ... this one; return ony common_ann
+       (get_tree_ann): Rename to ...
+       (tree_common_ann): This one; return only common_ann.
+       * tree-vect-patterns.c (vect_pattern_recog_1): Update call
+       of set_stmt_info.
+
 2006-09-11  Geoffrey Keating  <geoffk@apple.com>
 
+       * config.gcc (i[34567]86-*-darwin*): Set with_arch and
+       with_cpu by default.
+
        * dwarf2out.c (dwarf_file_data): New.
        (enum dw_val_class): Add dw_val_class_file.
        (struct dw_val_struct): Add val_file.