OSDN Git Service

PR target/16195
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 9dd1880..be03295 100644 (file)
@@ -1,3 +1,151 @@
+2004-06-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/16195
+       * config/rs6000/rs6000.c (rs6000_conditional_register_usage): Make
+       r30 fixed if TARGET_TOC && TARGET_MINIMAL_TOC.
+       (first_reg_to_save): Pretend call_used_regs[30] is 0 if
+       TARGET_TOC && TARGET_MINIMAL_TOC.
+       (rs6000_emit_prologue, rs6000_emit_epilogue): Likewise.
+
+2004-06-29  J"orn Rennecke <joern.rennecke@superh.com>
+
+       Fix gcc.dg/builtin-apply2.c failures:
+       * sh.h (TARGET_VARARGS_PRETEND_ARGS): Define.
+       * sh.c (extra_push): Delete.
+       (sh_expand_prologue): Don't do extra stack adjustment for
+       current_function_pretend_args_size if it comes from varargs setup.
+       Use TARGET_VARARGS_PRETEND_ARGS.  Don't set extra_push.
+       (sh_expand_epilogue): Don't use extra_push.
+       (sh_setup_incoming_varargs): Set pretend_arg_size when necessary.
+
+2004-06-29  Roger Sayle  <roger@eyesopen.com>
+
+       * expmed.c (expand_smod_pow2): Provide alternate implementations
+       that avoid conditional jumps, and choose between them based upon
+       the target's rtx_costs.
+
+2004-06-29  Andrew Pinski  <apinski@apple.com>
+
+       * tree-sra.c: Include expr.h for definition of MOVE_RATIO.
+       * Makefile.in (tree-sra.c): Update dependencies.
+
+2004-06-29  Richard Henderson  <rth@redhat.com>
+
+       * tree-sra.c: Rewrite from scratch.  Handle nested aggregates.
+
+2004-06-29  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * vec.h (VEC_T_safe_push, VEC_T_safe_insert): Tweak for when
+       size_t is bigger than int.
+
+2004-06-29  Paul Brook  <paul@codesourcery.com>
+
+       * target-def.h (TARGET_CXX_GET_COOKIE_SIZE,
+       TARGET_CXX_COOKIE_HAS_SIZE): Define.
+       (TARGET_CXX): Use them.
+       * target.h (struct gcc_target): Add cxx.get_cookie_size and
+       cxx.cookie_has_size.
+       * targhooks.c (default_cxx_get_cookie_size): New fucntion.
+       * targhooks.h (default_cxx_get_cookie_size): Add prototype.
+       * config/arm/arm.c (TARGET_CXX_GET_COOKIE_SIZE,
+       TARGET_CXX_COOKIE_HAS_SIZE): Define.
+       (arm_get_cookie_size, arm_cookie_has_size): New functions.
+       * Make-lang.in (cp/init.o): Add dependency on $(TARGET_H).
+       * doc/tm.texi: Document TARGET_CXX_GET_COOKIE_SIZE and
+       TARGET_CXX_COOKIE_HAS_SIZE.
+
+2004-06-29  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * cfglayout.c (fixup_reorder_chain): Don't do anything for
+       e_fall->dest == EXIT_BLOCK_PTR.
+
+2004-06-28  Richard Henderson  <rth@redhat.com>
+
+       * tree-cfg.c (verify_stmt): Add last_in_block parameter.  Verify
+       that eh stmts can throw.
+       (verify_stmts): Update verify_stmt call.
+       (tree_purge_dead_eh_edges, tree_purge_all_dead_eh_edges): New.
+       * tree-eh.c (remove_stmt_from_eh_region): New.
+       (lower_eh_constructs): Fix throw_stmt_table delete routine.
+       (tree_could_trap_p): Match may_trap_p.
+       (maybe_clean_eh_stmt): New.
+       * tree-flow.h: Update decls.
+       * tree-ssa-ccp.c (pass_ccp): Add TODO_verify_stmts.
+       (substitute_and_fold): Clean eh edges.
+       * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Handle
+       empty basic blocks.
+       * tree-ssa-dom.c (need_eh_cleanup): New.
+       (tree_ssa_dominator_optimize): Allocate it.  Cleanup eh edges.
+       (optimize_stmt): Cleanup eh stmts; set need_eh_cleanup.
+       
+2004-06-29  Alan Modra  <amodra@bigpond.net.au>
+
+       * function.c (assign_parms): Don't abort with zero size stack
+       parm failing the PARM_BOUNDARY check.
+
+2004-06-28  Diego Novillo  <dnovillo@redhat.com>
+
+       * common.opt (ftree-fre): New flag.
+       * flags.h (flag_tree_fre): Declare.
+       * opts.c (decode_options): Set.
+       * timevar.def (TV_TREE_FRE): Define.
+       * tree-flow-inline.h (may_propagate_copy): Re-arrange for
+       readability.  Handle destinations that are not SSA_NAMEs.
+       * tree-flow.h (struct ptr_info_def): Move from tree.h
+       (cprop_into_stmt, cprop_into_successor_phis): Remove.
+       (vn_compute, vn_lookup_or_add, vn_add, vn_lookup): Add
+       vuse_optype parameter.
+       * tree-pass.h (pass_fre): Declare.
+       * tree-ssa-copy.c (cprop_operand): Move to tree-ssa-dom.c
+       (cprop_into_stmt): Likewise.
+       (cprop_into_successor_phis): Likewise.
+       * tree-ssa-dom.c (eliminate_redundant_computations): Fix
+       argument ordering in call to may_propagate_copy.
+       * tree-ssa-pre.c (is_undefined_value): Assume hard registers
+       to be always defined.
+       (add_to_sets): New local function.
+       (create_value_expr_from): New local function.
+       (compute_avail): Call them.
+       (eliminate): Don't ignore statements with virtual operands.
+       (init_pre): New local function.
+       (fini_pre): New local function.
+       (execute_pre): Call them.
+       Add argument DO_FRE.  Don't do insertion if DO_FRE is true.
+       (do_pre): New function.
+       (do_fre): New function.
+       (gate_fre): New function.
+       (pass_fre): Declare.
+       * tree-ssa.c (init_tree_ssa): Don't call vn_init.
+       (delete_tree_ssa): Don't call vn_delete.
+       * tree-vn.c (val_expr_pair_d): Add documentation.
+       (vn_compute): Add VUSES argument to incorporate in computing
+       hash values.  Update all callers.
+       (expressions_equal_p): Call operand_equal_p with
+       OEP_PURE_SAME.
+       (vn_add): Add VUSES argument.  Update all callers.
+       (vn_lookup): Likewise.
+       (vn_lookup_or_add): Likewise.
+       * doc/invoke.texi: Document -ftree-fre and -fdump-tree-fre.
+
+2004-06-28  Steven Bosscher  <stevenb@suse.de>
+
+       * config/m32r/m32r.c (m32r_sched_odd_word_p, m32r_adjust_cost,
+       m32r_sched_init, m32r_sched_reorder, m32r_variable_issue): Remove.
+       (TARGET_SCHED_ADJUST_COST, TARGET_SCHED_VARIABLE_ISSUE,
+       TARGET_SCHED_INIT, TARGET_SCHED_REORDER): Don't define.
+       * config/m32r/m32r.md: Rewrite the pipeline description as a DFA.
+
+2004-06-28  Richard Henderson  <rth@redhat.com>
+
+       * tree.def (REALPART_EXPR, IMAGPART_EXPR): Change class to 'r'.
+       * fold-const.c (operand_equal_p <case 'r'>): Add REALPART_EXPR,
+       IMAGPART_EXPR.
+       * tree-dump.c (dequeue_and_dump): Handle REALPART_EXPR and
+       IMAGPART_EXPR explicitly.
+       * tree-inline.c (estimate_num_insns_1): Don't handle REALPART_EXPR
+       and IMAGPART_EXPR specially.
+       * tree.c (build1_stat): Copy TREE_THIS_VOLATILE into class 'r'.
+
 2004-06-28  J"orn Rennecke <joern.rennecke@superh.com>
 
        * config.gcc (sh*-*elf*): Remove dead assignment of sh_multilibs.
 
 2004-06-21  J"orn Rennecke <joern.rennecke@superh.com>
 
-       * sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
+       * sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionally define.
        (SUPPORT_SH4_SINGLE): Likewise.
        (TARGET_SWITCHES): Break out switches for cpu subtargets:
        (TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.