OSDN Git Service

PR rtl-optimization/29924
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index c960ed9..8666acc 100644 (file)
@@ -1,3 +1,162 @@
+2006-11-22  Zdenek Dvorak <dvorakz@suse.cz>
+
+       PR rtl-optimization/29924
+       * loop-unroll.c (split_edge_and_insert): Handle the case insns is NULL.
+       (unroll_loop_runtime_iterations): Assert that the argument passed to
+       split_edge_and_insert is not NULL.
+       * loop-doloop.c (add_test): Ditto.
+
+2006-11-22  Zdenek Dvorak <dvorakz@suse.cz>
+
+       * tree-loop-linear.c (linear_transform_loops): Use single_exit accessor
+       functions.
+       * tree-ssa-loop-niter.c (loop_only_exit_p): Ditto.
+       * cfgloopmanip.c (update_single_exits_after_duplication,
+       update_single_exit_for_duplicated_loop, loop_version): Ditto.
+       * tree-scalar-evolution.c (get_loop_exit_condition,
+       get_exit_conditions_rec, loop_closed_phi_def,
+       number_of_iterations_in_loop, scev_const_prop): Ditto.
+       * tree-ssa-loop-ivopts.c (single_dom_exit): Ditto.
+       * modulo-sched.c (generate_prolog_epilog, loop_canon_p, sms_schedule):
+       Ditto.
+       * tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables):
+       Ditto.
+       * tree-vectorizer.c (slpeel_update_phis_for_duplicate_loop,
+       slpeel_update_phi_nodes_for_guard1, slpeel_update_phi_nodes_for_guard2,
+       slpeel_make_loop_iterate_ntimes,
+       slpeel_tree_duplicate_loop_to_edge_cfg, slpeel_can_duplicate_loop_p,
+       slpeel_verify_cfg_after_peeling, slpeel_tree_peel_loop_to_edge):
+       Ditto.
+       * tree-if-conv.c (if_convertible_loop_p): Ditto.
+       * tree-vect-analyze.c (vect_analyze_operations, vect_stmt_relevant_p,
+       vect_analyze_loop_form): Ditto.
+       * lambda-code.c (lambda_loopnest_to_gcc_loopnest, exit_phi_for_loop_p,
+       can_convert_to_perfect_nest, perfect_nestify): Ditto.
+       * tree-vect-transform.c (vect_create_epilog_for_reduction,
+       vect_update_ivs_after_vectorizer, vect_do_peeling_for_loop_bound,
+       vect_transform_loop): Ditto.
+       * cfgloop.c (mark_single_exit_loops, verify_loop_structure): Ditto.
+       (single_exit, set_single_exit): New functions.
+       * cfgloop.h (struct loop): Rename single_exit field to single_exit_.
+       (single_exit, set_single_exit): Declare.
+       * doc/loop.texi: Undocument single_exit field.  Document single_exit
+       accessor function.
+
+2006-11-22  Zdenek Dvorak <dvorakz@suse.cz>
+
+       PR tree-optimization/29902
+       * tree-ssa-loop-manip.c (can_unroll_loop_p): Return false if
+       any involved ssa name appears in abnormal phi node.
+
+2006-11-21  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/xtensa.c (xtensa_char_to_class): Delete.
+       (xtensa_const_ok_for_letter_p): Delete.
+       (xtensa_extra_constraint): Delete.
+       (override_options): Delete xtensa_char_to_class initialization.
+       * config/xtensa/xtensa.h (REG_CLASS_FROM_LETTER): Delete.
+       (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
+       (EXTRA_CONSTRAINT): Delete.
+       * config/xtensa/xtensa.md: Include constraints.md.
+       (call_internal): Combine alternatives.
+       (call_value_internal): Likewise, and remove invalid constraints.
+       * config/xtensa/constraints.md: New file.
+       * config/xtensa/xtensa-protos.h (xtensa_const_ok_for_letter_p): Delete.
+       (xtensa_extra_constraint): Delete.
+       * doc/md.texi (Machine Constraints): Refer to constraints.md for
+       Xtensa constraints.
+
+2006-11-21  Janis Johnson  <janis187@us.ibm.com>
+
+       * config/dfp-bits.c (DFP_TO_INT): Remove code to saturate result
+       of conversion that doesn't fit.
+
+       * config/dfp-bit.h (CONTEXT_TRAPS, CONTEXT_ERRORS, DFP_RAISE): Delete.
+       * config/dfp-bit.c (dfp_unary_op, dfp_binary_op, dfp_compare_op,
+       DFP_TO_DFP, INT_TO_DFP, BFP_TO_DFP): Remove calls to DFP_RAISE.
+
+       * config/dfp-bit.c (dfp_binary_func): Fix typedef.
+
+2006-11-21  Douglas Gregor <doug.gregor@gmail.com>
+
+       * c-common.h (enum rid): Add RID_STATIC_ASSERT.
+
+2006-11-21  Richard Guenther  <rguenther@suse.de>
+
+       * tree-vectorizer.h (NUM_PATTERNS): Increase.
+       * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Add
+       vect_recog_pow_pattern.
+       (vect_recog_pow_pattern): New function.
+
+2006-11-21  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * config/bfin/bfin.opt (mstack-check-l1): New.
+       * doc/invoke.texi (Blackfin Options): Document it.
+       * config/bfin/bfin.c (bfin_expand_prologue): Generate code to use
+       stack bounds in L1 memory if the new option is enabled.
+       (override_options): Don't allow combinations of -fstack-limit and
+       -mstack-check-l1.
+       (add_to_reg): Renamed from add_to_sp.  All callers changed.  Lose some
+       dead code.
+
+       * config/bfin/bfin.c (hard_regno_mode_ok): Only allow first 31
+       regs for DImode.
+       (bfin_register_move_cost): Bump costs if trying to move plain
+       integer values through accumulators.
+
+2006-11-21  Ben Elliston  <bje@au.ibm.com>
+
+       * config/spu/spu.c (spu_expand_vector_init): Initialise x.
+
+2006-11-20  Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
+           Russell Olsen <Russell_Olsen@playstation.sony.com>
+           Dmitri Makarov <Dmitri_Makarov@playstation.sony.com>
+           Yukishige Shibata <shibata@rd.scei.sony.co.jp>
+           Nobuhisa Fujinami <fnami@rd.scei.sony.co.jp>
+           Takeaki Fukuoka <fukuoka@rd.scei.sony.co.jp>
+           Andrew Pinski <Andrew_Pinski@playstation.sony.com>
+
+       * config.gcc: Add target for SPU.
+       * config/spu/constraints.md: New file.
+       * config/spu/crt0.c: New file.
+       * config/spu/crtend.c: New file.
+       * config/spu/crti.asm: New file.
+       * config/spu/crtn.asm: New file.
+       * config/spu/float_unsdidf.c: New file.
+       * config/spu/float_unssidf.c: New file.
+       * config/spu/predicates.md: New file.
+       * config/spu/spu-builtins.def: New file.
+       * config/spu/spu-builtins.h: New file.
+       * config/spu/spu-builtins.md: New file.
+       * config/spu/spu-c.c: New file.
+       * config/spu/spu-elf.h: New file.
+       * config/spu/spu-modes.def: New file.
+       * config/spu/spu-protos.h: New file.
+       * config/spu/spu.c: New file.
+       * config/spu/spu.h: New file.
+       * config/spu/spu.md: New file.
+       * config/spu/spu.opt: New file.
+       * config/spu/spu_internals.h: New file.
+       * config/spu/spu_intrinsics.h: New file.
+       * config/spu/spu_mfcio.h: New file.
+       * config/spu/t-spu-elf: New file.
+       * config/spu/vec_types.h: New file.
+       * config/spu/vmx2spu.h: New file.
+       * doc/contrib.texi: Document SPU contributor.
+       * doc/extend.texi: Document SPU extensions.
+       * doc/invoke.texi: Document SPU options.
+       * doc/md.texi: Document SPU constraints.
+
+2006-11-21  Zdenek Dvorak <dvorakz@suse.cz>
+
+       * cfgloopmanip.c (add_loop, duplicate_loop): Do not set level
+       of the loop.
+       * cfgloop.c (flow_loop_level_compute, flow_loops_level_compute):
+       Removed.
+       (flow_loop_dump): Do not dump loop level.
+       (flow_loops_find): Do not call flow_loops_level_compute.
+       * cfgloop.h (struct loop): Remove level field.
+
 2006-11-21  Zdenek Dvorak <dvorakz@suse.cz>
 
        * tree-ssa-loop-im.c (schedule_sm, determine_lsm_ref,